Everything you need, built in.
The essentials for teams that want to move fast without giving up control.
Typed in four languages. Tested in production.
Every endpoint ships in TypeScript, Python, Go, and Ruby. Types are generated from the OpenAPI 3.1 spec — if it compiles, it runs.
- TypeScript: strict types, Zod-compatible schemas, tree-shakeable
- Python: pydantic v2 models, async + sync clients, type stubs
- Go: context-aware, generics on list/search endpoints
- Ruby: Sorbet-typed, Rails-friendly ActiveSupport conventions
Query the CRM like a database.
Filter by any field, any operator, any boolean combo. Cursor-paginated for stable iteration. Bulk endpoints for 1K-object writes in one call.
- Search with AND/OR/NOT, ranges, null-checks, and fuzzy text
- Cursor pagination returns `has_more` + `next_cursor`
- Bulk create/update/delete up to 1,000 objects per call
- `expand` parameter to inline related objects in one request
Predictable errors. Never vague.
Every 4xx response returns a structured error with a stable `code`, a human `message`, and (for validation) field-level `details`. 5xx responses are retriable with exponential backoff.
- 400 `validation_error` with field-level detail array
- 401 `unauthorized` · 403 `permission_denied` · 404 `not_found`
- 409 `idempotency_conflict` if key reuse with different body
- 429 with `Retry-After` header, 5xx with `request_id` for support
Teams ship revenue with this.
Real-world use cases across every revenue function.
Frequently asked questions
What's the rate limit?
1,000 requests/second per API key with burst up to 3,000. Every response returns `X-RateLimit-Limit`, `X-RateLimit-Remaining`, and `X-RateLimit-Reset`. Enterprise plans can raise limits.
How do idempotency keys work?
Pass an `Idempotency-Key` header (we recommend a v4 UUID) on any POST. Atlas returns the original response for any replay within 24 hours. If you reuse a key with a different body, you get a 409 `idempotency_conflict`.
Can I use OAuth for user-facing integrations?
Yes — OAuth 2.0 with PKCE for installed apps, plus a token exchange endpoint for server-side. 20+ scopes including `deals:read`, `contacts:write`, and `webhooks:manage`.
Is there a sandbox?
Every workspace comes with a sandbox environment at `https://sandbox.atlas.dev`. Same API surface, isolated data, seeded fixtures for tests. Reset at any time.
Do you version the API?
Yes — the `Atlas-Version` header pins a calendar-versioned release (e.g. `2026-01-15`). Breaking changes only ship in new versions, and we maintain the previous 24 months.