accounts.overview

One account at a glance, with no LinkedIn call: profile, its daily metrics snapshot (null before the first one, or when you may not operate the account), limits (its three outreach rows now), activity (its latest 10 actions and their outcomes, metadata only), and its results in the window (performance, daily, its motions) as the team overview reads them scoped to it.

Prerequisites

  • A Curviate API key, passed as apiKey when you construct the client. Quickstart shows how to create one.

Signature

overview(accountId: string, params?: AccountOverviewParams): Promise<AccountOverview>

Example

import { Curviate } from "@curviate/sdk";
 
const curviate = new Curviate({
  apiKey: "cvt_live_...",
  baseUrl: "https://api.curviate.com",
});
 
const { performance, flags } = await curviate.accounts.overview("acc_123", { range: "30d" });

Parameters

NameTypeRequiredDescription
accountIdstringYesThe account ID (acc_...).
fromstringNoFirst day of the window, YYYY-MM-DD, read in timezone. Default: 29 days before to.
tostringNoLast day of the window, inclusive, YYYY-MM-DD, read in timezone. Default: today (29 days after from when only from is set); a later day is clamped to today.
rangestringNo7d, 30d, 90d, 12m (same date a year back, 366 days across a 29 February) or all (since the Team was created). Not with from or to.
bucketstringNoGroups daily: day, week (from Monday), month, or auto (day to 90 days, week to 366, month beyond). Default: auto with range, day with from/to.
timezonestringNoIANA zone the days are read in, e.g. Europe/Berlin. Default: UTC.
motion_idstringNoOnly these Motions (mot_...). Default: every Motion. Repeat the key, comma-separate or mix; empties ignored.
originstringNomotion, unibox (the Unibox), api (any API key or MCP grant), direct (unibox and api). Default: all. Repeat the key, comma-separate or mix; empties ignored.
includestringNoSections: profile, metrics, performance, daily, limits, motions, activity, flags. Omitted: the summary. Repeat the key, comma-separate or mix; empties ignored.
fieldsstringNoDotted paths kept in the sections, e.g. performance.reply.rate. A requested path always appears. Repeat the key, comma-separate or mix; empties ignored.
sortstringNoOrders lists: sent, acceptance.rate, reply.rate, inmail_reply.rate, last_activity_at, name. -key: desc. Repeat the key, comma-separate or mix; empties ignored.
limitnumberNoItems per list section (motions, accounts), 1-100. Default: 5 in the summary, else every item.
comparestringNoprevious_period: each rate gains previous (the same number of days just before from) and delta (rate - previous rate).

Returns

Resolves to AccountOverview. Top-level fields: object, scope, window, generated_at, profile, metrics, limits, activity, performance, daily, motions, motions_truncated, flags.

Error codes

CodeWhat it means, and what to do
UNAUTHORIZEDThe API key is missing, malformed, or revoked. Check the key you passed to the client.
INVALID_REQUESTA parameter failed validation. The message names the offending field; fix the request rather than retrying it.
RATE_LIMIT_ACCOUNTThis account's own quota is exhausted. Wait for the window in the Retry-After header, then retry.
RATE_LIMIT_TENANTThe tenant-wide quota is exhausted across all accounts. Slow the whole workload, not just this call.
PLATFORM_RATE_LIMITLinkedIn is throttling this account. Back off well beyond the hinted delay; sustained pressure risks the account.
PLATFORM_ERRORAn upstream failure, usually transient: retry once with backoff before treating it as a real error. Check the response first, though. When it carries retry_likely_to_succeed: false and retry_hint: {kind: "never"}, retrying cannot help and backing off only delays the real answer.
ACCOUNT_NOT_FOUNDNo connected account with that id belongs to this tenant. List your accounts to get a current id.
NO_ACTIVE_SEATThe targeted account is not on an active seat. Buy or attach a seat in Billing, then retry.
RESOURCE_NOT_FOUNDThe id in the path does not exist, or is not visible to this account. Re-read it from the list endpoint that produced it.
TEAM_REQUIREDSee the error codes reference.

Every code above is a stable CurviateError.code you can branch on. The full list, the response envelope, and retry semantics are in the Error codes reference.

Next steps

  • Quickstart: connect a LinkedIn account. An empty account list means the key works and nothing is connected yet.
  • accounts.list: List the tenant's connected LinkedIn accounts, cursor-paginated.
  • accounts.listSeats: List the workspace's live seats: each seat_id, whether an account occupied it, and that account_id (null when free).
  • SDK Quick Start: installation, the client, account scoping, and pagination.