Skip to main content

Token types

ButterCMS provides two types of API tokens for different operations:

Read API token

Used for fetching content from the API. This token is safe to use in client-side code and public applications. API Token Settings

Write API token

Used for creating, updating, and deleting content. This token must be kept secure and should never be exposed in client-side code.
The API token you use for reading from the ButterCMS API will not allow you to create content. For write operations, you need a separate write-enabled token. On Advanced and Professional plans, navigate to Settings > Billing to purchase the Write API add-on. It isn’t offered on Basic plans; upgrade your plan or contact support@buttercms.com for assistance.

Where to find your tokens

Navigate to Settings > General in your ButterCMS dashboard and look for the API Tokens section. API Tokens Tab in Settings

Authentication methods

Method 1: query parameter

Pass your API token via the auth_token parameter on every request:

Method 2: authorization header (read & write operations)

Set the Authorization header to Token your_api_token:
The header value must include the Token prefix before your actual token.

Authentication by operation type

The auth_token query parameter works with Write tokens too, but avoid it for write operations: query strings get logged by servers and proxies and can end up in browser history or Referer headers, leaking a write-capable token. Always send Write tokens via the Authorization header instead.

Code examples

Authentication errors

401 Unauthorized

Returned when the API token is missing, invalid, or insufficient for the operation. Missing token: The exact message depends on the endpoint. Most Read API endpoints (Pages, Blog Posts, blog metadata, feeds, /v2/content/?keys= and single collection items) return:
Write requests, GET /v2/content/{key}/ and GET /v2/pages/search/ return:
Invalid token:
Common causes:
  • Missing auth_token parameter or Authorization header
  • Invalid or expired API token
  • Using a Read token for Write operations

Security best practices

Your write-enabled token should never be used anywhere it would be exposed, such as in client-side JavaScript.

Do’s

  • ✅ Store tokens in environment variables
  • ✅ Use the Read token for public-facing applications
  • ✅ Keep Write tokens on secure backend servers only
  • ✅ Use HTTPS for all API requests
  • ✅ If you suspect compromise, reset your Read token from Settings > General, or contact support@buttercms.com to rotate a Write token

Don’ts

  • ❌ Never commit tokens to version control (GitHub, GitLab, etc.)
  • ❌ Never expose Write tokens in client-side code
  • ❌ Never share tokens in public forums or documentation
  • ❌ Never log tokens in application logs

Environment configuration

Requesting a write token

Write API is available as a paid add-on on Advanced and Professional plans (not on Basic). To enable it:
  1. Navigate to Settings > Billing in your ButterCMS dashboard
  2. Click on Get Details and Upgrade under the add-ons section
  3. Select the Write API add-on to purchase
Enable Write API

Next steps

REST Endpoints

Explore available API endpoints

Request/Response Format

Understand JSON data structures

Error Handling

Handle authentication errors