Skip to main content

Admin API Error Reference

Updated on
Nov 02, 2026

The Admin API returns HTTP status codes to indicate why a request failed. Check both the status code and the response body to identify the cause and the next action.

HTTP Status Codes​

StatusCause and next action
400 Bad RequestInvalid request parameters, such as a log timestamp that is not in ISO 8601 format. Check the parameter formats in the method reference.
401 UnauthorizedThe x-api-key header is missing. Include your API key in the header. See Authentication.
403 ForbiddenThe key is incorrect or malformed, or its team assignment prevents access to the endpoint or team. Read the error message, then check the key or ask an account admin to update its team assignment.
404 Not FoundThe endpoint or team was not found. Check the ID against List endpoints or List teams.
500 Internal Server ErrorThe server failed to process the request. Check the parameters. If a valid request keeps failing, contact us with the method, path, and status code.

Error Response Formats​

The response format varies by error. The error field can be an object or a string, and some responses include data: null. Do not assume every failure has an error.message or error.code field.

The examples below show responses from the listed Admin API requests. The numeric code in authentication error objects matches the HTTP status; other examples have no separate error-code field.

Missing API Key​

A request to GET /v0/endpoints without the x-api-key header returns HTTP 401:

{
"error": {
"code": 401,
"message": "Api key is missing under x-api-key header, please update and try again.",
"name": "AuthenticationError"
}
}

Invalid API Key​

A request to GET /v0/endpoints with an incorrect or malformed key returns HTTP 403:

{
"error": {
"code": 403,
"message": "Provided key is incorrect or malformed under x-api-key header, please update and try again.",
"name": "AuthenticationError"
}
}

Endpoint Team Access Denied​

A team-assigned key requesting an endpoint assigned exclusively to another team receives HTTP 403. The endpoint details, security, and rate-limit GET methods use this error format:

{
"data": null,
"error": "This API key does not have access to this endpoint because it belongs to a team the key is not assigned to. Ask an account admin to give the key access by adding it to that team."
}

Ask an account admin to add the key to the endpoint's team, or use a key with no team assignment and the required permissions. See Team Scoping.

Metrics, usage, and logs are not currently scoped by the key's team assignment. A team-access 403 for endpoint details does not mean that the endpoint's metrics or logs are inaccessible to that key. Existing permissions and plan requirements still apply.

Team Access Denied​

A team-assigned key requesting GET /v0/teams/{id} for a team it is not assigned to receives HTTP 403:

{
"data": null,
"error": "This API key is not assigned to this team. Ask an account admin to give the key access by adding it to the team."
}

Ask an account admin to add the key to the team, or use a key with no team assignment and the required permissions.

Endpoint or Team Not Found​

A request to GET /v0/endpoints/{id} for a nonexistent endpoint returns HTTP 404:

{
"data": null,
"error": "Endpoint not found"
}

A request to GET /v0/teams/{id} for a nonexistent team uses the same response format with "error": "Team not found".

Invalid Log Timestamps​

A request to GET /v0/endpoints/{id}/logs with an invalid from timestamp returns HTTP 400:

{
"error": "Invalid value for from: Invalid ISO8601 format"
}

Use ISO 8601 timestamps for the from and to parameters. See Get endpoint logs for the request parameters.

Server Error​

An HTTP 500 response can use this format:

{
"error": "Internal server error"
}

Check the request against the method reference before retrying. A server error alone does not identify which parameter or operation caused the failure.