Steerd API

Steerd Public API

Team-scoped REST and GraphQL access to your CRM data.

The Steerd Public API exposes your team's CRM data (organizations, contacts, projects, employees, CVs, tasks, activities, and assignments) to external systems. It is a separate, stable surface from the internal routes the Steerd web app uses, governed by a published versioning policy.

Base URL

https://app.steerd.io/api/public/v1

Every documented endpoint requires an API key. The team is resolved from the key, so every request is implicitly scoped to that team and cross-team access is impossible.

Two ways in

  • REST: resource endpoints with cursor pagination, idempotent writes, and a single error envelope. This is what the API Reference documents, and what the interactive playground calls.
  • GraphQL: the same resources and projections through one endpoint, with cursor connections. See the GraphQL guide.

Start here

  • Quickstart: make your first authenticated request in a few minutes.
  • Authentication & scopes: how keys work and what each scope grants.
  • API Reference: every endpoint, generated from the live OpenAPI document and always in sync with what the API serves.

Conventions at a glance

TopicSummary
AuthenticationAuthorization: Bearer strd_<key>, team-scoped, no cookies.
PaginationKeyset cursors; follow page.nextCursor until hasMore is false.
IdempotencyIdempotency-Key header on writes; same key + body replays.
Rate limitsPer-key and per-IP budgets; 429 with Retry-After.
ErrorsOne envelope: { "error": { "code", "message" } }. Branch on code.
VersioningVersion in the path; additive within a major, breaking changes ship a new one.

On this page