Who am I
const url = 'https://api.sealpost.app/v1/me';const options = { method: 'GET', headers: {'Sign-Test-Mode': 'true', Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.sealpost.app/v1/me \ --header 'Authorization: Bearer <token>' \ --header 'Sign-Test-Mode: true'The tenant, the key in use, the effective mode and the key’s scopes.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”true switches a live key into test mode for this request only.
Ignored on test keys (they are always in test mode). Any other value is
treated as absent.
Responses
Section titled “Responses”Identity of the caller.
object
object
A key without its secret.
object
The visible start of the secret, e.g. sk_test_3f9aQ2Lm, enough to tell keys apart.
The key this one replaced, when minted by a rotation.
Updated at most once a minute.
Effective mode of this request (the key’s mode, or test when a live key sent Sign-Test-Mode: true).
Example
{ "tenant": { "kind": "internal" }, "api_key": { "mode": "live", "scopes": [ "envelopes:read" ] }, "mode": "live", "scopes": [ "envelopes:read" ]}Headers
Section titled “Headers”Unique id of this request (req_…). Quote it in support requests.
No key, an unknown key, or a revoked or expired key.
RFC 9457 problem details plus a stable code and the request_id.
object
https://sealpost.app/errors/{code}
Human-readable, safe to show to a developer, never contains secrets or signer data.
The request path.
Stable machine-readable code from the catalogue (docs/errors.md).
Field-level detail on validation_failed.
object
JSON pointer-ish path, e.g. scopes[2].
Example
{ "type": "https://sealpost.app/errors/insufficient_scope", "title": "Forbidden", "status": 403, "detail": "This key lacks the api_keys:write scope.", "code": "insufficient_scope", "request_id": "req_01J9ZK3V8Q4M2XQ7W0E5D1R6TA"}Headers
Section titled “Headers”Unique id of this request (req_…). Quote it in support requests.
The key is over its per-minute budget (600 live, 60 test, sliding window).
RFC 9457 problem details plus a stable code and the request_id.
object
https://sealpost.app/errors/{code}
Human-readable, safe to show to a developer, never contains secrets or signer data.
The request path.
Stable machine-readable code from the catalogue (docs/errors.md).
Field-level detail on validation_failed.
object
JSON pointer-ish path, e.g. scopes[2].
Example
{ "type": "https://sealpost.app/errors/insufficient_scope", "title": "Forbidden", "status": 403, "detail": "This key lacks the api_keys:write scope.", "code": "insufficient_scope", "request_id": "req_01J9ZK3V8Q4M2XQ7W0E5D1R6TA"}Headers
Section titled “Headers”Unique id of this request (req_…). Quote it in support requests.
Seconds to wait before retrying.
Requests allowed per minute for this key (600 live, 60 test).
Requests remaining in the current window.
Seconds until the window has capacity again.
Something failed on our side. The request_id is in our logs.
RFC 9457 problem details plus a stable code and the request_id.
object
https://sealpost.app/errors/{code}
Human-readable, safe to show to a developer, never contains secrets or signer data.
The request path.
Stable machine-readable code from the catalogue (docs/errors.md).
Field-level detail on validation_failed.
object
JSON pointer-ish path, e.g. scopes[2].
Example
{ "type": "https://sealpost.app/errors/insufficient_scope", "title": "Forbidden", "status": 403, "detail": "This key lacks the api_keys:write scope.", "code": "insufficient_scope", "request_id": "req_01J9ZK3V8Q4M2XQ7W0E5D1R6TA"}Headers
Section titled “Headers”Unique id of this request (req_…). Quote it in support requests.