Skip to main content

Rate limits and request IDs

Default limits are 300 requests/minute per API key and 50,000 requests/day per workspace. Inspect /v1/me and returned headers for the limits applying to your credential.
  • X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset: rate-limit window information.
  • Retry-After: wait guidance when a limit is reached.
  • X-Request-Id: request correlation when supplied; include it in support reports.
  • X-LinkedIn-Messages-Remaining, X-LinkedIn-Connections-Remaining, X-LinkedIn-Quota-Reset-At: sender capacity on applicable outreach responses.
Early authentication/authorization refusals may not contain every header. Sender quotas are independent of API request limits. Get sender quotas before planning a batch; resets follow each sender’s configured timezone.

Pagination

Pass continuation tokens unchanged. These are REST bounds; MCP wraps pagination in opaque cursors and has its own smaller tool page-size limits. Never substitute an MCP cursor for a REST page/offset/token.

Idempotent writes

Send Idempotency-Key on POST/PATCH requests. A UUID or another 1–255 visible ASCII character value works. Reuse the same key for retries of the same method, path, body and API-key/workspace context.
  • The replay window is 24 hours. Stored results are returned with Idempotent-Replayed: true.
  • Reusing a key with a different request returns 422 IDEMPOTENCY_KEY_REUSED.
  • An attempt still in progress returns 409 IDEMPOTENCY_IN_PROGRESS.
  • An uncertain or unavailable stored outcome can return 409 IDEMPOTENCY_REPLAY_UNAVAILABLE. Check the operation’s state rather than changing the key to force another attempt.
  • Once execution is claimed, errors as well as successes can be retained. A crash or storage failure after a provider call does not make another execution safe.
  • Requests refused before execution is claimed, such as authentication or rate-limit refusals, can be retried with the same key after resolving the cause.
Without the header, REST does not promise request deduplication. MCP’s idempotency_key argument and automatic identical-call suppression are a separate interface.

Subscription and workspace access

MCP and direct REST have separate entitlement checks. REST enforces workspace activity, effective scopes and the configured public-API entitlement policy. When entitlement enforcement is active, an inactive workspace returns 403 WORKSPACE_INACTIVE. A lapsed subscription permits reads but refuses ordinary writes with 402 SUBSCRIPTION_INACTIVE. Pausing a campaign and setting a lead to DONE, UNSUBSCRIBED, or IRRELEVANT remain available to reduce outreach. These exceptions do not bypass authentication or scope requirements.

Errors and uncertain outcomes

Inspect statusCode, message, and the machine-readable code when present. Validation messages may be arrays; some legacy errors do not include a code. DELIVERY_UNCONFIRMED and UPSTREAM_TIMEOUT can mean a provider accepted an action without returning a conclusive result. Check the conversation before sending again. For sourcing, retain the returned job ID and poll its status/results; do not start another paid job merely because results are not ready.