Docs
Resources

Error Codes

When an API request fails, the response includes a machine-readable error code and a human-readable message.

Error Response Format

Standard Error
{
  "code": "NOT_FOUND",
  "error": "Listing not found"
}
Validation Error (with details)
{
  "code": "VALIDATION_ERROR",
  "error": "Validation failed",
  "details": [
    { "field": "meta.experience", "issue": "Must be a number" },
    { "field": "channels", "issue": "telegram is not connected" }
  ]
}

Error Code Reference

StatusCodeDescription
400VALIDATION_ERRORField validation failed (see details[])
400LISTING_NOT_AVAILABLEListing is not available for requests
400DUPLICATE_REQUESTAlready have a request for this listing
400SELF_REQUESTCannot request own listing
401UNAUTHORIZEDInvalid or expired API key
403FORBIDDENNot authorized (e.g., not your listing)
404NOT_FOUNDResource not found
429RATE_LIMITEDToo many requests (see Rate Limits)

Handling Errors

Example
const res = await fetch(url, { headers });
const data = await res.json();

if (!res.ok) {
  switch (data.code) {
    case 'RATE_LIMITED':
      await sleep(data.retryAfter * 1000);
      return retry();
    case 'VALIDATION_ERROR':
      console.error(data.details);
      break;
    default:
      console.error(data.error);
  }
}