Skip to content

REST API authentication

Every REST API overview request must include a valid API key. This topic covers how to generate, use, rotate, and revoke keys.

Before you begin

This feature requires the Enterprise capability tier (the Business ). During the beta, every project is on the free Solo tier, so this feature is locked by default: go to Settings ▸ Billing and request Enterprise access to unlock it.

Only project members with the Admin can configure this feature. Authors and Reviewers do not have access to these settings.

Generate an API key

  1. Go to Settings in the sidebar.

  2. Open the API Keys tab.

  3. Click Generate API Key.

  4. Give the key a descriptive name, for example, "CI/CD pipeline" or "Zendesk sync."

  5. Copy the key immediately.

The full API key is shown only once, at the moment of creation. Topicary stores a SHA-256 hash of the key. It cannot be retrieved later. If you lose the key, revoke it and generate a new one.

Use the key

Include the key as a Bearer token in the Authorization header of every request:

curl https://topicary.com/api/v1/topics \
  -H "Authorization: Bearer tk_your_api_key_here"

All keys are prefixed with tk_ for easy identification in logs and configuration files.

Key scoping

Each API key is scoped to the project where it was created. A key cannot access data in other projects, even if the creator belongs to multiple projects.

Rotate a key

To rotate a key without downtime:

  1. Generate a new key.

  2. Update your integration to use the new key.

  3. Verify the integration works with the new key.

  4. Revoke the old key.

Keep key names descriptive so you know which integration uses which key. This makes rotation easier: you will know exactly which system to update when revoking an old key.

Revoke a key

  1. Go to Settings > API Keys.

  2. Find the key in the list.

  3. Click Revoke.

  4. Confirm the revocation.

Revocation is immediate. Any request using the revoked key returns a 401 Unauthorized error.

Revoking a key cannot be undone. Make sure no active integrations depend on the key before revoking it.


See also

Was this page helpful?