Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.reachedapp.com/llms.txt

Use this file to discover all available pages before exploring further.

Errors

The API returns consistent error responses with an HTTP status code and a JSON body containing an error code and human-readable message.

Error Response Format

All errors follow this structure:
{
  "error": {
    "code": "not_found",
    "message": "Lead not found"
  }
}
FieldTypeDescription
error.codestringA machine-readable error code
error.messagestringA human-readable description of the error

HTTP Status Codes

CodeStatusDescription
200OKRequest succeeded
201CreatedResource successfully created
400Bad RequestInvalid request body or missing required parameters
401UnauthorizedMissing, invalid, or revoked API key
403ForbiddenAPI key does not have permission for this action
404Not FoundThe requested resource does not exist
429Too Many RequestsRate limit exceeded
500Internal ErrorAn unexpected error occurred on the server

Error Code Reference

Error CodeHTTP StatusDescription
unauthorized401Invalid or missing API key
bad_request400Invalid request parameters
not_found404Resource not found
rate_limited429Rate limit exceeded
internal500Server error

Common Error Scenarios

Missing Authorization Header

curl -X GET "https://api.reachedapp.com/v1/leads"
{
  "error": {
    "code": "unauthorized",
    "message": "Missing or invalid Authorization header. Use: Bearer rchd_live_xxx"
  }
}

Invalid JSON Body

curl -X POST \
  "https://api.reachedapp.com/v1/leads" \
  -H "Authorization: Bearer rchd_live_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d 'invalid json'
{
  "error": {
    "code": "bad_request",
    "message": "Invalid JSON body"
  }
}

Resource Not Found

{
  "error": {
    "code": "not_found",
    "message": "Lead not found"
  }
}
Always check the error.code field programmatically rather than parsing the message string, as messages may change over time.