About Zendesk's Advance Notice of API Token Authentication Deprecation - How to Investigate the Impact Scope and Trying the OAuth Migration

About Zendesk's Advance Notice of API Token Authentication Deprecation - How to Investigate the Impact Scope and Trying the OAuth Migration

Zendesk is discontinuing API authentication via API tokens, and all API tokens will be deactivated on April 30, 2027. We verified how to check whether our company is affected and the steps to migrate to OAuth using the client credentials flow in a test environment.
2026.08.19

This page has been translated by machine translation. View original

Introduction

Zendesk is deprecating API tokens as an authentication method for API requests.

All API tokens will be permanently disabled on April 30, 2027. Only Support API tokens are affected; messaging and Chat tokens are not in scope.

Starting July 28, 2026, tokens that have not been used for 30 days will be automatically deactivated, and after October 27, 2026, it will no longer be possible to create new API tokens. Integrations with long execution intervals, such as monthly batches, will stop working before the final deadline.

The migration target is OAuth. For some webhooks, it is noted that migrating to action flows may be easier than migrating to OAuth.

This article covers how to determine whether your organization is affected and the results of actually migrating to OAuth and making API calls.

Target Audience

  • Those operating integrations that use Zendesk API tokens
  • Zendesk administrators who want to determine whether their organization is affected

Verification Environment

  • Zendesk verification instance
  • OAuth client type: Confidential
    • Grant: Client Credentials
  • API calls: curl
  • Verification date: August 19, 2026

References

Background: Deprecation Schedule

The official documentation states that the deprecation will take place in the following 3 phases.

Date What Happens
2026-07-28 Tokens unused for 30 or more days are deactivated in bulk. Going forward, tokens unused for 30 days are automatically deactivated, and tokens that remain inactive for 60 days are permanently deleted. Accounts created on or after this date cannot create or use API tokens
2026-10-27 Existing accounts will no longer be able to create new API tokens from either the admin panel or the API. Existing active tokens can be used until April 30, 2027
2027-04-30 All remaining tokens are permanently disabled. They cannot be reactivated. The API token management page will also be removed from the Admin Center

The APIs in scope include the Ticket Management API, Help Center API, and Voice API. Items that will stop working if migration is not completed in time include webhooks that call back to your own Zendesk account, custom scripts for automation and data synchronization, third-party integrations built by external developers, and middleware workflows where agents do not directly interact with the Zendesk interface.

Investigating Whether You Are Affected

Open "Apps and Integrations > API > API Tokens" in the Admin Center. A deprecation notice banner and a list of registered tokens will be displayed.

zendesk-api1

The columns in the list are "ID," "Description," "Created by," "Created date," "Last used date," "Date becoming inactive," and "Status." The column to pay attention to is "Date becoming inactive." If a date appears there, the token will stop working on that date if no action is taken.

Verification: Migrating to OAuth

The following describes the actual steps to migrate to OAuth. Assuming server-to-server integration without user authorization, the client credentials flow is used.

Creating an OAuth Client

Open "Apps and Integrations > API > OAuth Clients" in the Admin Center and select "Add OAuth Client."

For the client type, choose either Public or Confidential. Public is for clients running in environments where credentials cannot be stored securely, such as mobile apps or web apps. In this case, use of PKCE is required. Confidential is for clients running on servers where credentials can be stored securely. Since only Confidential supports the client credentials flow, Confidential was selected this time.

zendesk-api2

The "Scopes" field specifies the maximum permissions this client can request. Leaving it blank allows any scope to be requested, so only the necessary ones should be selected. This time, three scopes were chosen: tickets:read, tickets:write, and users:read.

Upon saving, a secret is issued. It cannot be viewed again later. Make a note of it immediately. If you forget to do so, it can be regenerated from the "Regenerate" option on the edit screen.

Obtaining an Access Token

Send the client ID and secret to /oauth/tokens.

curl -X POST "https://{subdomain}.zendesk.com/oauth/tokens" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode "grant_type=client_credentials" \
  --data-urlencode "client_id={client ID}" \
  --data-urlencode "client_secret={secret}" \
  --data-urlencode "scope=tickets:read users:read"

The response was as follows.

{
  "access_token": "eyJraWQi...",
  "token_type": "bearer",
  "expires_in": 1800,
  "scope": "tickets:read users:read"
}

expires_in is 1800 seconds, or 30 minutes. The client credentials flow does not return a refresh token. When the token expires, run the same request again to obtain a new token.

Rewriting the API Request

Only the authentication portion changes.

# Before migration: Basic authentication with API token
curl "https://{subdomain}.zendesk.com/api/v2/tickets.json" \
  -u "{email address}/token:{API token}"

# After migration: OAuth access token
curl "https://{subdomain}.zendesk.com/api/v2/tickets.json" \
  -H "Authorization: Bearer {access token}"

Both returned HTTP 200 and retrieved the same tickets. Only the authentication header needs to be rewritten; the endpoint and response format remain unchanged.

What Happens When Scopes Are Insufficient

When attempting to create a ticket with a token that only has tickets:read, HTTP 403 was returned with the following response.

{"error":"Forbidden","description":"You are missing the following required scopes: tickets:write, write"}

The missing scope names are included in the response. This means you can add the necessary scopes as you go, without having to enumerate all the endpoints being called in advance.

On the other hand, if a request exceeds the scope limit configured for the OAuth client, HTTP 400 is returned at the token acquisition stage.

{"error":"invalid_scope","error_description":"The requested scope is invalid, unknown, malformed, or exceeds the previously granted scope."}

organizations:read is a valid scope that exists in the scope list, but since it was not included in this client's limit, it was rejected and no token was issued.

Whether 403 or 400 is returned indicates where the fix should be made. For 403, review the scope specification in the token request; for 400, review the client configuration in the Admin Center.

Verifying Who Is Executing the Request

GET /api/v2/users/me.json was called using the obtained token.

{
  "id": 11950397250831,
  "name": "Verification admin",
  "role": "admin"
}

No user credentials were sent in this request whatsoever. Only the client ID and secret were sent. Even so, the request was treated as being made by the admin who created the OAuth client.

When an actual ticket was created, the same ID appeared in both requester_id and submitter_id.

{
  "id": 2400,
  "requester_id": 11950397250831,
  "submitter_id": 11950397250831,
  "via": { "channel": "api" }
}

Summary

Zendesk API tokens will be completely shut down on April 30, 2027. The migration itself is not difficult if it only involves rewriting the authentication header. More importantly, it is worth deciding in advance how the change in executing user and the implementation of token renewal will be handled. Note that the content of this article is based on the official documentation and verification environment as of August 19, 2026.


Zendeskの導入支援ならクラスメソッドへ

クラスメソッドはZendeskのライセンス販売パートナーです。Zendesk導入にあたって、設定代行、オペレーターや管理者向けのトレーニング、独自のアプリ開発、データ移行など、様々なサービスをご提供しております。既に導入済みのお客様に対してもご支援できますので、まずはお気軽にご相談ください。

Zendeskの導入支援の詳細を見る

Share this article