Skip to main content

Base URL

For local development (default port):
All endpoints are prefixed with /v1.

Authentication

Vela uses two different credentials depending on the operation:
See Authentication for a full explanation of the two-credential model.

Request format

All request bodies must be JSON. Set the Content-Type header on every POST, PUT, and PATCH request:

Response format

All responses are JSON. Successful responses return 200 or 201 with the requested data. Error responses return a consistent error object.

Success example

Error format

Status codes

Endpoints overview

Pagination

List endpoints return arrays directly. When the response is large, pass limit and offset query parameters:

Rate limits

The API is rate-limited per account. If you exceed the limit, you receive a 429 Too Many Requests response. Implement exponential backoff before retrying:
  • Wait 1 second after the first 429
  • Wait 2 seconds after the second
  • Wait 4 seconds after the third
  • And so on up to a reasonable maximum

SDKs

If you’re using TypeScript or Python, use the SDK instead of calling the API directly — it handles authentication, serialization, and typed errors automatically:

TypeScript SDK

@vela-event/sdk — type-safe clients for Node.js and browsers.

Python SDK

vela-sdk — sync and async clients for Python 3.9+.