API keys#

Create and manage API keys for server-side integrations.

Create API key#

Create a new API key that can expire. The secret is only returned once.

typescript
const { data } = await bw.personalAccessTokens.create({
  name: 'My Campaign',
});

Parameters#

NameTypeRequiredDescription
namestringRequiredDisplay name for this token.
expiresAtstring (ISO 8601) | nullWhen this token should expire.

Response#

Returns { data } with the result.

Store the key securely

The API key secret is only returned in the creation response. It cannot be retrieved again. Store it securely.

List API keys#

List API keys for the authenticated user.

typescript
const { items, totalCount, facets } = await bw.personalAccessTokens.list();

Response#

Returns { items, totalCount, facets } with paginated results.

Revoke API key#

Revoke an API key, immediately invalidating it.

typescript
const { data } = await bw.personalAccessTokens.revoke({
  id: 'abc-123',
});

Parameters#

NameTypeRequiredDescription
idstring (UUID)RequiredToken identifier to revoke.

Response#

Returns { data } with the result.

Immediate invalidation

Revoking an API key immediately invalidates it. Any integrations using this key will stop working. This action cannot be undone.

Rotate API key#

Rotate an API key by revoking the old key and creating a new one.

typescript
const { data } = await bw.personalAccessTokens.rotate({
  id: 'abc-123',
});

Parameters#

NameTypeRequiredDescription
idstring (UUID)RequiredToken identifier to rotate (revokes old, creates new).

Response#

Returns { data } with the result.