resource_not_found
- HTTP status
- 404
- Retry
- No
- Execution
- Nothing was done
- Admin needed
- No
Resource not found. The id does not name a resource this key can see. Ids are scoped to a workspace and a mode: a live-mode id is not found with a test key and vice versa, and another workspace's id is not found either.
What it means
The API returns HTTP 404 with error.code set to resource_not_found. The default message is: "No such resource."
Common causes
- A typo or a truncated id.
- An id from the other mode (test vs live).
- An id with the wrong prefix for this resource.
- The resource was deleted.
How to identify it
Check the response status (404) and error.code (resource_not_found). Branch on error.code, not on the message text: messages can be reworded, codes do not change within v1. Log error.request_id (also sent as the X-Request-Id header) so support can find the request.
How to fix it
- Check the id and the key mode. List the resource to find valid ids.
Retry guidance
Sending the request unchanged fails the same way. Fix the cause first (see How to fix it), then send it again.
Did anything happen?
This request was refused before any call was placed and before anything was charged.
Idempotency
Nothing was done and nothing was stored (under an Idempotency-Key, if you sent one), so the request can be sent again, with the same key if you used one, once the cause is fixed.
Who can fix it
The developer who sends the request can fix it; no administrator action is normally needed.
When to contact support
If the error persists after the steps above, contact support@relationsai.com. See Support for what to include (the request_id, the time in UTC, the operation, and whether you used a test or live key) and what never to send (API keys, Authorization headers, webhook signing secrets, recording links, transcripts or customer data).
Example error response
JSON
Operations that can return this error
GET /agents/{agent_id}: Retrieve an agentGET /agents/{agent_id}/readiness: Check whether an agent can place callsGET /phone-numbers/{phone_number_id}: Retrieve a phone numberGET /calls/{call_id}: Retrieve a callGET /calls/{call_id}/transcript: Retrieve a call transcriptGET /calls/{call_id}/recording: Retrieve a call recording linkGET /calls/{call_id}/analysis: Retrieve a call analysisGET /recordings/{recording_token}: Download recording audioGET /campaigns/{campaign_id}: Retrieve a campaignPATCH /campaigns/{campaign_id}: Update a campaignPOST /campaigns/{campaign_id}/recipients: Add recipientsGET /campaigns/{campaign_id}/recipients: List recipientsPOST /campaigns/{campaign_id}/start: Start a campaignPOST /campaigns/{campaign_id}/pause: Pause a campaignPOST /campaigns/{campaign_id}/resume: Resume a campaignPOST /campaigns/{campaign_id}/stop: Stop a campaignGET /contacts/{contact_id}: Retrieve a contactPATCH /contacts/{contact_id}: Update a contactDELETE /contacts/{contact_id}: Delete a contactDELETE /dnc-entries/{dnc_entry_id}: Remove a number from the do-not-call listGET /webhook-endpoints/{webhook_endpoint_id}: Retrieve a webhook endpointPATCH /webhook-endpoints/{webhook_endpoint_id}: Update a webhook endpointDELETE /webhook-endpoints/{webhook_endpoint_id}: Delete a webhook endpointPOST /webhook-endpoints/{webhook_endpoint_id}/rotate-secret: Rotate a webhook signing secretPOST /webhook-endpoints/{webhook_endpoint_id}/test: Send a test eventGET /webhook-endpoints/{webhook_endpoint_id}/deliveries: List deliveriesPOST /webhook-deliveries/{webhook_delivery_id}/retry: Retry a deliveryPOST /calls: Place a callPOST /campaigns: Create a campaignPATCH /campaigns/{campaign_id}: Update a campaign
See all codes in the error-code reference.