Skip to main content
Pulsewave authenticates requests using API keys. Every request must include an Authorization header with a bearer token:
Keep your API keys out of client-side code. Anyone with a live key can send messages and incur charges on your account.

Live and test keys

Every key is prefixed to make its mode obvious: Use test keys in development and CI. Requests made with a test key behave identically to live requests — the same validation, the same webhook events — except nothing actually reaches a real inbox or phone unless the recipient has been added as a verified test address from your dashboard.

Creating and revoking keys

Manage keys with the API Keys resource:
The secret value is only ever shown once, in the response to this call. If you lose it, revoke the key and create a new one.

Scopes

Keys can be limited to a subset of the API: A key created without an explicit scopes array defaults to ["messages:write", "messages:read"].

Authentication errors

Requests with a missing, malformed, or revoked key receive a 401 with an authentication_error type:
See Errors for the complete list of error types.