Skip to content
V2 (Legacy) API ReferenceGet started
Overview

Error Codes

Complete reference of Linq API error codes with troubleshooting guides.

All API errors return a consistent JSON envelope with a nested error object, a success: false flag, and a top-level trace_id for debugging.

{
"success": false,
"error": {
"status": 400,
"code": 1001,
"message": "Missing required field"
},
"trace_id": "2eff5df5c6f688733c007523c4d61cd9"
}

On 429 responses, error also includes a retry_after integer (seconds to wait before retrying).

Tip: Always include the trace_id from error responses when contacting Linq support. See Debugging for more on trace IDs.

RangeCategoryRetry?
1xxxClient/Request ErrorsNo — fix the request
2xxxResource ErrorsNo — fix auth or resource reference
3xxxServer ErrorsYes — retry with backoff
4xxxDelivery ErrorsSometimes — depends on cause
5xxxAttachment/File ErrorsSometimes — depends on cause
CodeMessageHTTPTroubleshooting
1001Missing required field400Check API docs for required fields.
1002Phone number must be in E.164 format400Include country code with + prefix (e.g., +14155551234).
1003Invalid request body400Validate JSON syntax. Set Content-Type: application/json.
1004Invalid message content400Ensure parts array has valid text, media, or link parts. A link part must be the only part.
1005Invalid parameter value400Review parameter against API spec.
1006Cannot update direct message chats409Only group chats support updates.
1007Rate limit exceeded429Wait for reset or contact support for higher limits. See Rate Limits.
CodeMessageHTTPTroubleshooting
2001Chat not found404Verify chat ID is correct UUID from POST/GET /v3/chats.
2002Message not found404Verify message ID and chat access.
2003Attachment not found404Verify attachment ID. Presigned URLs expire — ensure uploads complete in time.
2004Unauthorized401Include valid Bearer token in Authorization header. See Authentication.
2005Access denied403You do not have permission to access this resource.
2006Phone number permission denied403Verify the phone is assigned to your account.
2007Attachment not ready404Attachment is still processing. Wait a few seconds and retry.
2008Recipient not allowed403In sandbox, recipients must message you first.
2009The chat is still being created409Wait a few seconds and retry.
2010Webhook subscription not found404Verify subscription ID from POST/GET /v3/webhook-subscriptions.
2011Feature not available403Contact support to enable this feature.
2012Contact card not found404No active contact card for this phone number.
2013This chat is unavailable409Chat may have been left or deleted. You cannot interact with it after leaving.
2014Contact card already exists409A contact card already exists for this phone number. Use PATCH to update it.
2015Operation conflicts with current state409The resource is in a state that conflicts with this operation (for example, editing a message that has already been deleted). Refresh state and retry.

These are transient errors. Retry with exponential backoff (start at 1 second, max 30 seconds). The official SDKs handle retries automatically.

CodeMessageHTTPTroubleshooting
3001Server connection error500Retry after 1-5 seconds.
3002Server operation failed500Retry after 1-5 seconds. If persistent, contact support with trace_id.
3003Service connection error500Retry after 1-5 seconds.
3004Service operation failed500Retry after 1-5 seconds. If persistent, contact support with trace_id.
3005Network timeout504Retry after a short delay.
3006Internal server error500If persistent, contact support with trace_id.
3007Maximum delivery attempts exceeded500Check recipient availability and try again later.
CodeMessageHTTPTroubleshooting
4001Delivery failed500Try sending again. If persistent, contact support with trace_id.
4002Phone not available500Check phone connectivity status.
4003Webhook delivery failed500Ensure endpoint is reachable and returns 2xx within 10s. See Webhooks.
4004Service unavailable503Retry after 30 seconds.
CodeMessageHTTPTroubleshooting
5001File upload failed500Retry the upload. Check file size limits. See Attachments.
5002File download failed500Ensure URL is public, HTTPS, with valid SSL.
5003Failed to generate file URL500Retry the request.
5004Invalid file type400Supported types include JPEG, PNG, GIF, MP4, PDF. See supported types.
5005File too large400Reduce or compress file before uploading. See file size limits.
5006Content type mismatch400Ensure URL extension matches actual file type, or use pre-upload.
5007Failed to download image from the provided URL400Ensure the URL is publicly accessible and returns a valid image.