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.
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
SendIdempotency-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.
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 403WORKSPACE_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
InspectstatusCode, 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.