Skip to main content

Base URL

All API requests are made to the following base URL:
All requests must be made over HTTPS. Requests over plain HTTP will be rejected.

Authentication

Authenticate every request by including your API key in the X-Avala-Api-Key header:
API keys are created in Mission Control. See the Authentication page for full details on creating and managing keys.

Request Format

The API accepts JSON-encoded request bodies. Set the Content-Type header for requests with a body:

Response Format

All responses return JSON. Successful responses use standard HTTP status codes (200, 201, 204). Single resource:
Paginated list:

Pagination

List endpoints return paginated results using cursor-based pagination. The response includes: To paginate through results, follow the next URL until it returns null.

Pagination Best Practices

  • Use limit to control page size. Default is 100. Use smaller pages (10-25) for interactive UIs, larger pages (100) for batch processing.
  • Follow next URLs directly. Don’t construct pagination URLs manually. The next URL includes the correct cursor and any filters you applied.
  • Handle empty pages. A page with an empty results array and next: null means you’ve reached the end.
  • Don’t assume page sizes. The last page may contain fewer items than limit.
  • Use the Python SDK for automatic pagination: client.datasets.list() returns a CursorPage with has_more and next_cursor attributes.

Error Codes

When a request fails, the API returns an appropriate HTTP status code with a JSON error body:
See the Error Codes page for detailed descriptions and remediation steps.

Rate Limits

The API enforces the following rate limits: When you exceed a rate limit, the API returns a 429 status code. Use the rate limit headers to manage your request volume:

Interactive API Docs

Explore and test every endpoint directly in your browser with the interactive API documentation:

Interactive API Reference

Try endpoints, inspect request and response schemas, and generate code samples.