- An API key, presented as a Bearer token over TLS. It identifies your partner account and carries your granted scopes.
API keys
Keys are issued by CrewPass and look like:| Prefix | Meaning |
|---|---|
cpk_live_… | Live key, operates on production data. |
cpk_test_… | Test-mode key, operates on test-flagged data. |
X-Partner-API-Key
header:
GET /api/v2/partners/me to see your identity and
full granted-scope list. It is the first call any partner makes.
Calling a read endpoint
Every v1 read takes the same Bearer header and nothing else:invalid_api_key. Calls are still rate-limited per
partner (see Rate limits) and recorded in your audit log.
Request signing (v2 write surface)
Mutating endpoints (vessel attach, crew placements, background-check issuance) are deferred to v2 and are not part of this release. When they ship, each mutating request is signed with an HMAC-SHA256 body signature so the body and timing are provably genuine and not replayed. The scheme uses three headers and binds a single-use nonce into the signature:| Header | Value |
|---|---|
X-CrewPass-Timestamp | Unix time in seconds. Must be within ±300s of server time. |
X-CrewPass-Nonce | A unique, single-use token per request. |
X-CrewPass-Signature | v1=<hex(hmac_sha256(secret, "{timestamp}.{nonce}." + body))> |
Signing helper (preview, for the v2 write surface)
Signing helper (preview, for the v2 write surface)
Outbound webhook deliveries are signed by CrewPass with a separate scheme so
you can verify they are genuine. That is unrelated to request signing; see
Webhooks for how to verify a delivery signature.