Skip to main content

Errors

The Bytes Developer API returns JSON error responses.

Most validation errors use:

422 Unprocessable Content

and include an errors object keyed by field name.

Authentication error

Missing, invalid, revoked or inactive-workspace API keys return:

401 Unauthorized
{
"message": "Unauthenticated."
}

Not found

When a resource does not exist in the workspace attached to your API key:

404 Not Found
{
"message": "Tag not found."
}

or:

{
"message": "Link not found."
}

Validation error

Example:

422 Unprocessable Content
{
"message": "The destination_url field is required.",
"errors": {
"destination_url": [
"The destination_url field is required."
]
}
}

Slug unavailable

422 Unprocessable Content
{
"message": "That slug is not available.",
"errors": {
"slug": [
"That slug is already in use."
]
}
}

The slug may already exist or may be reserved.

422 Unprocessable Content
{
"message": "Active link limit reached for this workspace plan.",
"code": "active_link_limit_reached",
"limit": 100,
"active_links": 100,
"plan": "free"
}

Deactivate unused links or upgrade the workspace plan before creating more active links.

Destination blocked

Bytes checks destinations before creating links.

If a destination is blocked, the response explains that the destination is not allowed. Do not try to bypass destination safety checks.

Rate limit

The Developer API is throttled. If your integration sends too many requests in a short time, it may receive a rate-limit response.

Use sensible retry behaviour and avoid tight retry loops.

Reporting errors safely

When asking for help, include:

  • request method and endpoint
  • response status
  • response body
  • approximate time
  • workspace name if relevant

Do not include:

  • real API keys
  • auth cookies
  • passwords
  • private customer data
  • full destination URLs if they contain sensitive information