---
title: "Generate a new API Token"
method: POST
path: "/Accounts/{AccountSid}/tokens"
tags: ["Tokens"]
---

# Generate a new API Token

`POST /Accounts/{AccountSid}/tokens`

Creates a project API token for server-side REST authentication within the project. It remains usable until you delete it or remove required permissions. Client applications should receive a service-specific Chat, PubSub, Room, or Subscriber Token instead.

For the SignalWire REST API's project route, use [Create API token](/docs/apis/rest/project-tokens/create-token).

#### Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Management_.

[Learn more about API scopes](/docs/platform/your-signalwire-api-space).

## Path parameters

- `AccountSid` string, uuid, required — Universal Unique Identifier.

## Response `200`

The request has succeeded.

- TokenResponse — Response containing a single token.
  - `id` string, uuid, required — Universal Unique Identifier.
  - `name` string, required — The name of the created API Token.
  - `permissions` string[], required — The permissions enabled for this token.
  - `token` string, required — The API token that can be used along with the project ID for basic authentication.

## Other responses

- `400` — The request was invalid or cannot be processed. Check the error details for more information.
- `401` — Authentication failed. Please verify your credentials and try again.
- `422` — The token request could not be processed due to validation errors. Check the error details for the specific issue.

## Changes

- **2026-05-12** `2916d5e3072e` — 2 breaking, 2 info
  - added `#/components/schemas/uuid` to the `subproject_id` request property `allOf` list
  - the `id` response's property type/format changed from `string`/`uuid` to ``/`` for status `200`
  - the `subproject_id` request property type/format was generalized from `string`/`uuid` to ``/``
  - added `#/components/schemas/uuid` to the `id` response property `allOf` list for the response status `200`
- **2026-05-12** `5344c0c93a4c` — 1 breaking, 4 info
  - added 'unevaluatedProperties' constraint to the request body
  - added 'unevaluatedProperties' constraint to the response body for the status `200`
  - added 'unevaluatedProperties' constraint to the response body for the status `400`
  - added 'unevaluatedProperties' constraint to the response body for the status `401`
  - …1 more
- **2026-01-19** `d5fbaaddfa3e` — 3 breaking, 5 info
  - the `permissions` request property's minItems was increased to `1`
  - the `name` request property's minLength was increased from `0` to `1`
  - the `subproject_id` request property type/format changed from `string`/`` to `string`/`uuid`
  - added the non-success response with the status `400`
  - …4 more
- …earlier changes not shown

[Full history](https://skmtc.dev/signalwire/apis/compatibility-api/changes/Accounts/:AccountSid/tokens/post.md)

---

[API](https://skmtc.dev/signalwire/apis/compatibility-api.md) · [All operations](https://skmtc.dev/signalwire/apis/compatibility-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/signalwire/compatibility-api/revisions/723316346320/schema)
