---
title: "Validate an API token."
method: GET
path: "/api"
tags: ["Auth"]
---

# Validate an API token.

`GET /api`

## Request

- Base URL: `https://platform.buildpulse.io`
- URL: `https://platform.buildpulse.io/api`
- Auth: one of:
  - API key in header `Authorization`
  - HTTP bearer

Returns `204 No Content` when the supplied token resolves to an
organization. Use this as a cheap sanity check before issuing
other calls.

Accepts both token shapes (`bp_<64-hex>` and legacy `<40-hex>`).
The legacy 40-hex path additionally requires
`marketplacePurchases.unitCount > 0`; the new `bp_` path treats
issuance as the entitlement check and skips the plan gate.

## Response `204`

Token is valid (and for legacy 40-hex tokens, the organization has an active plan).

## Other responses

- `401`: Missing, malformed, or invalid token; or — for legacy 40-hex tokens only — the organization has no active plan (`marketplacePurchases.unitCount > 0`). The new `bp_<64-hex>` path has no plan gate, so a 401 there means the token shape was wrong, the hash didn't match, or the token has expired. Response body is empty (matches legacy Rails).

---

[API](https://skmtc.dev/buildpulse/apis/buildpulse-platform-api.md) · [All operations](https://skmtc.dev/buildpulse/apis/buildpulse-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/buildpulse/apis/buildpulse-platform-api/revisions/2e68b4b2df6a?raw)
