This article walks an account administrator through creating an API client, minting a token, and making a first successful API call from Postman or any other HTTP client.
Where to find it: Admin Panel → Settings → API Access
seat-sync. It must be unique within your account.prod or staging. One client can hold several tokens over time.https://preview.giantrocketship.net/api/customer/v1/account.Authorization: Bearer <your token>.You receive a 200 OK with a JSON body describing your account:
{
"data": {
"id": "01a017d7-a534-70fa-a9ef-7691251c7fdb",
"name": "Acme Managed Services",
"status": "active",
"type": "standard",
"is_active": true,
"timezone": "America/Chicago",
"locale": "en",
"require_mfa": false,
"counts": { "users": 19, "active_users": 15 },
"created_at": "2026-08-19T02:26:43+00:00",
"updated_at": "2026-08-19T20:18:43+00:00"
}
}Back in the Admin Panel, the client now appears in the API Access list, and its Tokens tab shows the token you minted with its name and expiry date.
There are three read-only endpoints. All of them are GET, and none of them accept an accouount is determined by your token.
| Endpoint | Returns | Query parameters |
|---|---|---|
/api/customer/v1/account | Your account | None. Any query parameter returns a 422. |
/api/customer/v1/users | Your users, paginated | email, , per_page |
/api/customer/v1/users/{uuid} | One user | None |
On the users list, per_page defaults to 25 and cannot exceed 100. A larger value is rejected with a 422 rather than quietly reduced, so an automation expecting 500 rows finds out instead of silently reading the first 100.
Unrecognised query parameters are always rejected with a 422 naming the parameter. A typo will not be i
Each token is allowed 60 requests per minute. Exceeding it returns 429 Too Many Requests with a Retry-After header telling you how many seconds to wait.
The limit is counted per token, so a client with two tokens has two separate budgets.
| Status | What it means |
|---|---|
401 | No token was sent, the token is malformed, it has expired, or it was revoked. |
403 | The client is disabled, your account is suspended or churned, or your s's allowlist. |
404 | The URL is not one of the three endpoints, or the record you asked for is not in your account. |
422 | You sent a query parameter the endpoint does not accept, or a per/tr> |
429 | You exceeded the rate limit. Wait the number of seconds in Retry-After. |
Every error is returned as JSON, including the 401 — you will never receive an HTML login page.
X-Forwarded-For and similar headers, so it cannot be spoofed by a caller.