Zendesk API Scopes

Published
Length
3 min read

Luis Felipe Dias

All posts

You set up zendesk api scopes during OAuth token creation to limit what an app can do. These scopes control whether a token can read or write tickets, users, and settings. Teams often start by granting broad read and write permissions to get an app working fast. When a token has wide permissions, one bad script can change or delete thousands of tickets. How zendesk api scopes work in practice Standard API tokens in a support tool often inherit every permission of the admin who made them. OAut

API Key Management: the complete guide

Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.

Free white paper. No spam. Unsubscribe anytime.

You set up zendesk api scopes during OAuth token creation to limit what an app can do. These scopes control whether a token can read or write tickets, users, and settings. Teams often start by granting broad read and write permissions to get an app working fast. When a token has wide permissions, one bad script can change or delete thousands of tickets.

How zendesk api scopes work in practice

Standard API tokens in a support tool often inherit every permission of the admin who made them. OAuth tokens work in a safer way because they support specific permission rules. When your team builds an app, the app asks for a list of scopes during log in. The support system checks the token on every call before it returns any data.

You can scope a token to read actions only, write actions only, or both. You can also tie a scope to one resource, such as tickets, users, or help center posts. If a reporting script only needs ticket metrics, you give it a ticket read scope. If that script tries to update a user profile, the platform blocks the call right away.

This setup helps teams separate duties across different internal tools and background jobs. A billing sync job gets permissions to read and update user accounts. A dashboard app gets read rules for tickets and nothing else. Each tool holds a token that matches its specific job.

Choosing the right scope for each team workflow

To pick the right permissions, list every API endpoint your app calls in production. Match each endpoint to the smallest resource category available in the OAuth flow. Avoid global read and write scopes unless the tool manages the entire support account. Test the token in a sandbox account first to confirm the app runs without errors.

Teams also need to watch how user roles interact with token scopes. An OAuth token cannot do more than the user who approved it. Even if a token has a write scope, a light agent still cannot edit tickets with it. Both the user role and the token scope must allow the action for the call to work.

Review your active OAuth tokens on a regular schedule with your security team. Remove old tokens that belong to retired apps or former team members. When a developer leaves the team, rotate any shared keys they could read. Good key hygiene keeps your support data safe over time.

API Key Management: architecture patterns and best practices

Continue reading? Get the full guide.

Free. No spam. Unsubscribe anytime.

What native scopes solve and where gaps remain

Native OAuth scopes do a great job of stopping broad, account-wide mistakes. They stop a simple analytics tool from deleting user profiles or changing account settings. They also help security teams see what kind of actions an app wants to run. This gives you a strong baseline for access control.

Still, native scopes leave an operational gap once a session starts. A scope decides who logs in and which broad resource they can touch. It does not check what individual requests do in flight. A token with ticket read permissions can pull every ticket in your account at once.

Ticket comments often hold sensitive data like customer emails, phone numbers, card numbers, or national IDs. Native read scopes return all of those fields in plain text to any approved app or script. Also, a ticket write scope lets a bug update ten thousand tickets in one loop. Teams need deeper checks on individual requests to mask sensitive fields and stop bulk errors.

Check database and API queries on the wire

Identity tools, roles, and network rules decide who opens a session. Setup alone cannot check what each query does or mask sensitive values in a response once a session starts. When workflows touch Postgres, MySQL, SQL Server, MongoDB, ClickHouse, Kubernetes APIs, SSH, or internal HTTP APIs, hoop.dev runs beside those services as an open-source proxy, a sidecar for your Postgres or API. It inspects requests coming in and results going back on the wire.

Your login details and client tools stay as they are while hoop.dev guardrails refuse bad deletes or drops before they run. On responses, hoop.dev data masking rewrites matched sensitive values in memory. Furthermore, hoop.dev holds SOC 2 Type II, is MIT licensed, and writes every query and decision to an audit trail that generates evidence for HIPAA, GDPR, and PCI DSS. See the source on GitHub.

Frequently asked questions

What is the difference between a standard API token and an OAuth token?

A standard API token uses the full permissions of the admin or agent who runs it. An OAuth token lets you attach specific scopes to limit actions to certain resources.

Can a scope grant more permissions than the user role allows?

No, a scope never raises a user's base role permissions. The support platform checks both the user role and the token scope before it allows any request.

How do you change scopes on an existing OAuth token?

You cannot edit the scopes on a token after the system mints it. Your app must start a new OAuth flow and request the updated scope list to get a new token.

Save the open-source gateway.

hoop is MIT-licensed infrastructure for controlling how AI agents reach production data. Star hoophq/hoop so you can inspect it, deploy it, or share it when your team starts governing agent access.