Docs/API/Overview

API overview.

Every wrxstack endpoint follows the same shape: bearer-token auth, JSON in, JSON out, idempotency on the side, predictable error envelopes. Read this page once; the per-resource pages assume you already know what's here.

Base URL

All endpoints live under one host:

https://api.wrxstack.com/v1

The version segment is part of the URL and is the only place we make breaking changes. v1 is stable; we'll publish a v2 when a breaking change is unavoidable and run v1 in parallel for at least twelve months after that.

Authentication

Every request needs a bearer token in the Authorization header. Tokens are workspace-scoped.

curl https://api.wrxstack.com/v1/tasks   -H "Authorization: Bearer $WRX_API_KEY"

Two token types:

  • API keys (sk_live_...) live in Settings → API keys. Recommended for server-to-server use.
  • OAuth access tokens are issued via the OAuth 2.0 authorization code flow. Recommended for end-user-facing apps that act on behalf of a user.

Idempotency

Every write endpoint accepts an Idempotency-Key header. Two requests with the same key within 24 hours return the same response and produce only one side effect. Highly recommended for anything you might retry.

curl -X POST https://api.wrxstack.com/v1/tasks   -H "Authorization: Bearer $WRX_API_KEY"   -H "Idempotency-Key: $(uuidgen)"   -H "Content-Type: application/json"   -d '{"title":"Review MSA"}'

Pagination

List endpoints return a cursor. Pass it back as cursor= to get the next page. Page size defaults to 50 and maxes at 200.

{
  "data": [ ... ],
  "cursor": "eyJpZCI6Inb...",
  "has_more": true
}

Rate limits

Per token, per minute. Limits rise on paid workspaces; the exact figures for your workspace are shown in the product.

WorkspaceReadsWritesAssistant runs
Free1203010
Paidup to 3,000up to 1,000up to 300
Larger teamsCustomCustomCustom

The current state of your token is in the response headers:

X-RateLimit-Limit:     600
X-RateLimit-Remaining: 542
X-RateLimit-Reset:     1716235200

Errors

Standard HTTP status codes plus a JSON body with a stable error shape:

{
  "error": {
    "code": "resource_not_found",
    "message": "Task tsk_01HQ3K... does not exist",
    "request_id": "req_01HQ3K...",
    "docs": "https://wrxstack.com/docs/api/tasks.html"
  }
}

Common codes:

HTTPCodeMeaning
400invalid_requestBody malformed or required field missing
401unauthenticatedNo token, expired token, or wrong token type
403forbiddenToken valid but scope insufficient
404resource_not_foundResource missing or not visible to caller
409conflictIdempotency-key collision or stale write
429rate_limitedSlow down; check the headers
500internal_errorOur fault; include the request_id when you tell us

Next steps