API v3 is live and in beta: expect possible malfunctions and breaking changes in the coming days. If you find a bug, please report it to your Sillage contact.
v2DeprecatedTop Account List

Add Accounts

Add target accounts to a partner workspace's top account list.

Merges the provided accounts into the partner workspace's existing top account list. Existing accounts are preserved, deduplication is handled automatically. Returns 202 Accepted.

The ingestion runs asynchronously. Poll Get status to know when it's done. GET on this same URL (/top-account-list/accounts) lists the accounts already ingested, see List accounts.

Credit usage

Accounts added to the list are mapped and their relevant employees' content is analyzed, which is metered under the account_mapping_launch and content_profile products. Track consumption with GET /v2/partner/usage.

Minimum setup required

Before adding accounts, the workspace must have a persona with a location that resolves to at least one country. Without that, there is no country to run account mapping against, so the accounts you submit would never get mapped.

If this requirement is not met, the request is refused with 422 and a message telling you to fix the persona, for example:

  • "No persona found. Create one with PUT /v2/partner/workspaces/{partner_workspace_id}/persona (job_title and location are required) before adding top accounts."

The response also includes a type field identifying the rejection, so your code can check it instead of parsing the message: https://docs.getsillage.com/errors/persona-incomplete.

{
  "type": "https://docs.getsillage.com/errors/persona-incomplete",
  "title": "Persona incomplete",
  "status": 422,
  "detail": "No persona found. Create one with PUT /v2/partner/workspaces/{partner_workspace_id}/persona (job_title and location are required) before adding top accounts.",
  "instance": "/api/v2/partner/workspaces/ws_123/top-account-list/accounts"
}

Quota

Some workspaces have a cumulative top-account limit. When one applies, a request whose accounts would push the total over the remaining quota is rejected in full with 403 before any ingestion starts. Accounts that only match existing duplicates never consume quota. The detail field tells you how much of the quota is already used:

{
  "type": "https://docs.getsillage.com/errors/top-account-quota-exceeded",
  "title": "Top account quota exceeded",
  "status": 403,
  "detail": "Adding 10 account(s) would exceed the top-account quota (15/20 used)."
}

Add accounts

POST/api/v2/partner/workspaces/{partner_workspace_id}/top-account-list/accounts

Path parameters

ParameterTypeDescription
partner_workspace_idstringOpaque workspace identifier from the partner system.

Request body

FieldTypeRequiredDescription
accountsarrayYesAccounts to add. Minimum 1 entry, maximum 10,000 entries. Each entry must include at least one of linkedin_url or domain.

Each account item:

FieldTypeRequiredDescription
linkedin_urlstringOne of twoLinkedIn company URL.
domainstringOne of twoCompany domain (e.g. acme.com).
tierstringNoTier to set on this account. One of Tier 1, Tier 2, Tier 3. Omit it to import the account with no tier — don't send null. Setting it here marks the tier as manually set, so a later CRM sync can still overwrite it.

Example request

curl -X POST "https://api.getsillage.com/api/v2/partner/workspaces/ws_123/top-account-list/accounts" \
  -H "Authorization: Bearer $SILLAGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "accounts": [
      { "domain": "acme.com", "tier": "Tier 1" },
      { "linkedin_url": "https://www.linkedin.com/company/northstar", "domain": "northstar.io" }
    ]
  }'

Example response

{
  "tal_id": "17",
  "accounts": [
    { "domain": "acme.com", "tier": "Tier 1" },
    {
      "linkedin_url": "https://www.linkedin.com/company/northstar",
      "domain": "northstar.io"
    }
  ],
  "message": "Top account list ingestion queued"
}

Errors

StatusMeaning
401The master key is missing or invalid.
403The master key is not authorized, or the top-account quota would be exceeded (see Quota).
404No workspace found for this partner_workspace_id.
422Invalid request body, or the workspace's persona is incomplete (see above).
429Too many requests.
500An unexpected server error occurred.

Error responses use RFC 9457 problem documents with Content-Type: application/problem+json.

On this page