Base URL
Every API request targets the following base URL:v1) is part of the URL path. When Stairoids introduces a breaking change, a new version prefix (e.g., v2) is released alongside the current one, giving you time to migrate without disrupting live integrations. Non-breaking additions — new optional fields, new endpoints, new enum values — are rolled out to the current version without a version bump.
Request Format
All requests must include theContent-Type: application/json header and a JSON body where applicable. Query parameters are used only for filtering and pagination on GET endpoints.
Response Format
Every Stairoids API response is wrapped in a consistent envelope. Successful responses carry your payload under thedata key alongside a meta object containing a unique request identifier and a server-side timestamp — both useful when troubleshooting with Stairoids support.
Success response envelope:
data key is absent and an error object is returned instead. The code field is a machine-readable string you can use for programmatic error handling, message is a human-readable explanation, and param (when present) identifies the specific field that caused the issue.
Always log the
meta.request_id from error responses. Including it when contacting Stairoids support dramatically speeds up root-cause investigation.HTTP Status Codes
Stairoids uses standard HTTP status codes to communicate the outcome of every request. The table below covers all codes you may encounter across the API.| Status Code | Name | When you’ll see it |
|---|---|---|
200 | OK | The request succeeded and a response body is returned. |
201 | Created | A new resource was created successfully (e.g., a signal or webhook). |
400 | Bad Request | The request is malformed or missing required parameters. |
401 | Unauthorized | The API key is missing, expired, or malformed. |
403 | Forbidden | The API key is valid but lacks the required scope for this endpoint. |
404 | Not Found | The requested resource does not exist. |
422 | Unprocessable Entity | The request is well-formed but contains semantic validation errors. |
429 | Too Many Requests | You have exceeded your plan’s rate limit. See the Retry-After header. |
500 | Internal Server Error | An unexpected error occurred on Stairoids’ servers. |
Explore the API
Authentication
Learn how to generate API keys, assign scopes, and attach the
Authorization header to every request.Rate Limits
Understand per-plan rate limits, rate limit headers, and exponential backoff retry strategies.
Send a Signal
Send a real-time intent or behavioral signal into Stairoids for scoring and routing.
Webhooks
Subscribe to platform events and receive real-time HTTP callbacks to your own endpoints.