Kaizen #3 - Scopes in OAuth2.0 Authorization #API

Kaizen #3 - Scopes in OAuth2.0 Authorization #API

Hello Everyone!

Welcome to another week of Kaizen. We hope you find this series of posts useful. Please share your feedback in the comments section and keep the discussion going. 

In the last kaizen post, we discussed the OAuth2.0 protocol and Self Client. There are two types of clients in OAuth 2.0—self client and web-based applications. 

What you will learn from this post?

In this post, we are going to explore different facets of "Scopes in OAuth2.0 Authorization" in detail. Towards the end of this post, we will see various errors related to scopes, and how you can handle them. 

Role of scopes in OAuth2.0

To use the Zoho CRM APIs, you must authenticate the client(either self client or web-based application) to make API calls on your behalf with an access token. 

The access token, in return, must be obtained from a grant token (authorization code).

Zoho CRM APIs grant access to the CRM data, only if you provide a legitimate access token.

Based on the client-type, there are two different ways to generate grant token:

a. For web-based applications

Web-based applications are chosen when it requires user intervention while authorizing your application. Now, let us see how the OAuth2.0 protocol is implemented for web-based applications.

Step 1: The web application redirects the user to the OAuth server.
Step 2: The user sees the authorization prompt and approves the app's request as shown in the below image.


Step 3: The user is redirected back to the application with an authorization code in a query  string.


Step 4: The application exchanges the authorization code for an access token.

As you can see, this involves user intervention while authorizing your application. 

In the above explanation, in Step 2, the user will authorize the set of permissions for which the token has to be generated. 


b. For self client

In our last kaizen post, in Step 5a, you must enter the set of permissions for which the token has to be generated for a self client.



These sets of permissions you define, before you generate a token are called scopes

Scopes play a major role in OAuth2.0 Authentication. It is required for both self-client and web-based applications. 




A. What is a scope in Zoho CRM?

The word scope translates to range or extent. In OAuth2.0, scopes define the liberty of a self client/ web application on a particular resource(data in Zoho CRM). The scope controls three aspects:

  • The resource to which the client application gains access. Example: Users, Modules, Files, and so on.
  • The client application.
  • The different types of operations that the client application can perform on that particular resource. Example: ALL, READ, WRITE, CREATE, UPDATE, DELETE.
B. How do scopes work?

The access and refresh tokens are generated based on the scopes you provide. 

Based on the token, the system decides whether you have access to perform a certain operation on a particular resource. Thus, there is no room left for data theft, loss, or corruption. For example, with a token that is generated just to view records, you cannot perform the update record operation.

C. Scope Format

The format to define a scope is:
scope=service_name.scope_name.operation_type

The scope consists of three components:
  • service_name - Service name will always be ZohoCRM.
  • scope_name - In scope name, mention the specific resource(data in Zoho CRM) for which the permissions are being defined. It can be settings, modules, users, org, bulk, notification, or coql.
  • operation_type - In operation type, mention what types of operations can be performed on that resource. The following table defines the different operation types in scope:
Operation Type
HTTP Method
Description
READ
GET
The user can just read the data.
CREATE
POST
The user can create records.
WRITE
POST, PUT, DELETE
The user can create, update, and delete the records.
UPDATE
PUT
The user can update the existing records.
DELETE
DELETE
The user can delete the records
ALL
GET, POST, PUT, DELETE
The user can read, create, update, and delete the records.
CUSTOM
It depends on how it is defined in the API.
User-defined, for instance, permission to send emails to leads.

Note:
  • If you give operation type as WRITE in your scope, it is implicitly understood that you are granting permission to CREATE, UPDATE, and DELETE records.
  • Similarly, if you give operation type as ALL in your scope, it is implicitly understood that you are granting permission to READ, CREATE, UPDATE, and DELETE records.
D. Types of scopes

Based on the scope and methods, scopes are broadly differentiated into two types:
  • Sub-scopes
  • Group Scopes
a. Sub-scopes

Here the permission is defined for a specific resource. For instance, if you want to define permissions for leads and contacts modules, the scopes will be:
ZohoCRM.modules.leads.ALL
ZohoCRM.modules.contacts.ALL

Format
scope=service_name.scope_name.sub_scope_name.operation_type

The following table gives you the data about the scopes and different sub scopes. Along with each sub-scope, you can view which resource it is associated with:



Scopes
Sub scopes
settings- This scope usually provides access to metadata and the information on the set-up page of Zoho CRM. 
territories - Data about Territory Management.
custom_views - Data about custom_views created by users in all the modules.
related_lists - Data about related_lists.
modules - Metadata of all the modules.
variables - Data about CRM Variables.
tags - Data about tags.
tab_groups - Data about the tab groups in Zoho CRM.
fields - Data about fields in all the modules.
layouts - Data about layouts in all the modules.
macros - Data about macros operations.
custom_links - Data about the custom links.
custom_buttons - Data about the custom buttons.
roles - Data about roles in your organization.
profiles - Data about profiles in your organization.
organization - Data about your organization.

modules- This scope gives access to all the modules in Zoho CRM.
approvals - Data in the 'My Jobs' tab.
leads
accounts
contacts
deals
campaigns
tasks - Part of the 'Activities' module.
cases
events - Part of the 'Activities' module.
calls - Part of the 'Activities' module.
solutions
products
vendors
pricebooks
quotes
salesorders
purchaseorders
invoices
custom - Scopes cannot be configured for individual custom modules. Use this method for all custom modules.
dashboard - Data on the dashboard page.
notes - Data about notes in each record.
activities - Data about events, calls, and tasks.
Apart from the above two, other scopes are– 
  • users - Data about individual users in Zoho CRM. For more information, refer to Users API.
  • org - Data about your organization. For more information, refer to Organization API.
  • bulk - Permissions to perform bulk operations. For more information, refer to Bulk API.
  • notification - Permissions to send/receive instant notifications of actions performed on a module. For more information, refer to Notification API.
  • coql - Permissions to write your queries. For more information, refer to Query API.
b. Group Scopes

Format
scope=service_name.scope_name.operation_type

Imagine that you need to set permissions for all the modules. With sub-scopes, you must enter the following list of scopes—
ZohoCRM.modules.leads.ALL,ZohoCRM.modules.accounts.ALL,ZohoCRM.modules.contacts.ALL,ZohoCRM.modules.deals.ALL,ZohoCRM.modules.campaigns.ALL,ZohoCRM.modules.tasks.ALL,ZohoCRM.modules.cases.ALL,ZohoCRM.modules.events.ALL,ZohoCRM.modules.calls.ALL,ZohoCRM.modules.solutions,ZohoCRM.modules.products,ZohoCRM.modules.vendors,ZohoCRM.modules.pricebooks,ZohoCRM.modules.quotes,ZohoCRM.modules.salesorders,ZohoCRM.modules.purchaseorders,ZohoCRM.modules.invoices,ZohoCRM.modules.custom.

This is both cumbersome and exposing all these details in UI is not advisable. Thus, we came up with group scopes. With group scopes, you can define a set of permissions for a collective resource set. So, if you need to set permissions for modules, you can define the scope as:

ZohoCRM.modules.ALLThis gives the user access to perform all operations in all the modules in Zoho CRM.




E. Possible Errors

Error Code
Reason
Strategy to handle 
INVALID_SCOPE
The scope value is invalid.
Check the service name, scope name, and the sub-scope.
INVALID_OPERATION_TYPE
The operation type is invalid.
Ensure you have defined the operation type correctly. It must be either—READ, CREATE, WRITE, UPDATE, DELETE, ALL, or CUSTOM.
OAUTH_SCOPE_MISMATCH
The operation you performed does not have the required scope.
Check if the operation you are trying to perform is allowed in the scopes defined or not.

Note:

The INVALID_SCOPE and INVALID_OPERATION_SCOPE errors might be thrown while generating a grant token. The OAUTH_SCOPE_MISMATCH error might be thrown while you make an API call.

F. How to revoke access?

As mentioned earlier in this post, tokens are generated based on the scopes. 

There are two use-cases here. 

a. If you are a user who wants to revoke the access given to any web-application, then it has to be done via accounts web UI. 

To revoke the access:


Step 2: Choose 'Active Authtokens'.

Step 3: Click on 'Connected Apps'. Here you will be able to see all the active applications, click on the delete button to revoke access. 




b. If you are a client/developer, to revoke permissions for your self-client, you must revoke the access and refresh tokens.

You cannot revoke the access token as it expires after an hour of its generation.
To revoke the refresh token, make a POST request with the following URL:
"{{Accounts_URL}}/oauth/v2/token/revoke?token={refresh_token}"

Note that you must use domain-specific Zoho Accounts URL to revoke your refresh token. 

We will meet you next week with another useful topic. 

Cheers!

Previous 'Kaizen' - OAuth2.0 and Self Client #API
Next 'Kaizen' - Troubleshooting OAuth2.0




























    Access your files securely from anywhere

        All-in-one knowledge management and training platform for your employees and customers.







                              Zoho Developer Community




                                                    • Desk Community Learning Series


                                                    • Digest


                                                    • Functions


                                                    • Meetups


                                                    • Kbase


                                                    • Resources


                                                    • Glossary


                                                    • Desk Marketplace


                                                    • MVP Corner


                                                    • Word of the Day


                                                    • Ask the Experts



                                                              • Sticky Posts

                                                              • Kaizen #198: Using Client Script for Custom Validation in Blueprint

                                                                Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
                                                              • Kaizen #226: Using ZRC in Client Script

                                                                Hello everyone! Welcome to another week of Kaizen. In today's post, lets see what is ZRC (Zoho Request Client) and how we can use ZRC methods in Client Script to get inputs from a Salesperson and update the Lead status with a single button click. In this
                                                              • Kaizen #222 - Client Script Support for Notes Related List

                                                                Hello everyone! Welcome to another week of Kaizen. The final Kaizen post of the year 2025 is here! With the new Client Script support for the Notes Related List, you can validate, enrich, and manage notes across modules. In this post, we’ll explore how
                                                              • Kaizen #217 - Actions APIs : Tasks

                                                                Welcome to another week of Kaizen! In last week's post we discussed Email Notifications APIs which act as the link between your Workflow automations and you. We have discussed how Zylker Cloud Services uses Email Notifications API in their custom dashboard.
                                                              • Kaizen #216 - Actions APIs : Email Notifications

                                                                Welcome to another week of Kaizen! For the last three weeks, we have been discussing Zylker's workflows. We successfully updated a dormant workflow, built a new one from the ground up and more. But our work is not finished—these automated processes are


                                                              Manage your brands on social media



                                                                    Zoho TeamInbox Resources



                                                                        Zoho CRM Plus Resources

                                                                          Zoho Books Resources


                                                                            Zoho Subscriptions Resources

                                                                              Zoho Projects Resources


                                                                                Zoho Sprints Resources


                                                                                  Qntrl Resources


                                                                                    Zoho Creator Resources



                                                                                        Zoho CRM Resources

                                                                                        • CRM Community Learning Series

                                                                                          CRM Community Learning Series


                                                                                        • Kaizen

                                                                                          Kaizen

                                                                                        • Functions

                                                                                          Functions

                                                                                        • Meetups

                                                                                          Meetups

                                                                                        • Kbase

                                                                                          Kbase

                                                                                        • Resources

                                                                                          Resources

                                                                                        • Digest

                                                                                          Digest

                                                                                        • CRM Marketplace

                                                                                          CRM Marketplace

                                                                                        • MVP Corner

                                                                                          MVP Corner









                                                                                            Design. Discuss. Deliver.

                                                                                            Create visually engaging stories with Zoho Show.

                                                                                            Get Started Now


                                                                                              Zoho Show Resources

                                                                                                Zoho Writer

                                                                                                Get Started. Write Away!

                                                                                                Writer is a powerful online word processor, designed for collaborative work.

                                                                                                  Zoho CRM コンテンツ




                                                                                                    Nederlandse Hulpbronnen


                                                                                                        ご検討中の方




                                                                                                                • Recent Topics

                                                                                                                • Multiple Cover Letters

                                                                                                                  We are using the staffing firm edition of Recruit and we have noticed that candidates cannot add more than one cover letter. This is a problem as they might be applying for multiple jobs on our career site and when we submit their application to a client,
                                                                                                                • URGENT: Deluge issue with Arabic text Inbox

                                                                                                                  Dear Deluge Support, We are facing an issue that started on 12/Feb/2026 with custom functions written using Deluge within Qntrl platform. Currently, custom functions do not accept Arabic content; it is replaced with (???) characters. Scenario 1: If we
                                                                                                                • File Conversion from PDF to JPG/PNG

                                                                                                                  Hi, I have a question did  anyone every tried using custom function to convert a PDF file to JPG/PNG format? Any possibility by using the custom function to achieve this within zoho apps.  I do know there are many third parties API provide this with
                                                                                                                • Prevent accidental duplicate entry of Customer Ordersome

                                                                                                                  Zoho Support has confirmed that Zoho currently does not have any method (using Deluge, flow or any other method) to alert a user when a sales order has been entered twice using the same customer reference number (i.e. a duplicate). Most ERP platforms
                                                                                                                • Now in Zoho One: Orchestrate customer journeys across apps with Zoho CommandCenter

                                                                                                                  Hello Zoho One Community! We’re excited to introduce Zoho CommandCenter as a new capability available in Zoho One. For the whole customer journey As Zoho One customers adopt more apps across sales, marketing, finance, and support, a common challenge emerges:
                                                                                                                • annualy customer report

                                                                                                                  we need a report per customer that looks like this invoic number cleaning laundry repair management 01 january xxx euro xx euro xx euro xxx euro 02 february xxx euro xxx euro x euro xxxx euro and so on the years 12 months is that possible to make and
                                                                                                                • Totals for Sales Tax Report

                                                                                                                  On the sales tax report, the column totals aren't shown for any column other than Total Tax. I can't think of a good reason that they shouldn't be included for the other columns, as well. It would help me with my returns, for sure. It seems ludicrous
                                                                                                                • Free Webinar: Zoho Sign for Zoho Projects: Automate tasks and approvals with e-signatures

                                                                                                                  Hi there! Handling multiple projects at once? Zoho Projects is your solution for automated and streamlined project management, and with the Zoho Sign extension, you can sign, send, and manage digital paperwork directly from your project workspace. Join
                                                                                                                • Exported Report File Name

                                                                                                                  Hi, We often export reports for information. It is time consuming to rename all the reports we export on a weekly basis, as when exported their default name is a seemingly random string of numbers. These numbers may be important, I'm not sure, but I am
                                                                                                                • Automatic Refresh on Page?

                                                                                                                  Hi everyone, We use a page as a dashboard which shows data for the laboratory and tasks pending etc. Is there a way to set the page to automatically refresh on a X time? Many thanks TOG
                                                                                                                • Hiding Pre-defined Views

                                                                                                                  You can enhance Zoho with custom views - but you cannot hide the pre-defined views. Most users focus on 4 or 5 views. Right now for EVERY user EVERY time they want to move to one of their 4 or 5 views - they have to scroll down past a long list of pre-defined views - we don't use ANY of the pre-defined views. Adding the feature to allow a predefined view to be hidden completely or only visible to certain users would be a big improvement in usability for Zoho CRM. This feature is already available
                                                                                                                • [Webinar] Top 10 Most Used Zoho Analytics Features in 2025

                                                                                                                  Zoho Analytics has evolved significantly over the past year. Discover the most widely adopted features in Zoho Analytics in 2025, based on real customer usage patterns, best practices, and high-impact use cases. Learn how leading teams are turning data
                                                                                                                • How do I edit the Calendar Invite notifications for Interviews in Recruit?

                                                                                                                  I'm setting up the Zoho Recruit Interview Calendar system but there's some notifications I don't have any control over. I've turned off all Workflows and Automations related to the Calendar Scheduling and it seems that it's the notification that is sent
                                                                                                                • Add RTL and Hebrew Support for Candidate Portal (and Other Zoho Recruit Portals)

                                                                                                                  Dear Zoho Recruit Team, I hope you're doing well. We would like to request the ability to set the Candidate Portal to be Right-to-Left (RTL) and in Hebrew, similar to the existing functionality for the Career Site. Currently, when we set the Career Site
                                                                                                                • App for Mac OS X please!

                                                                                                                  It would be awesome to have a mail app for Mac OS X that included all the cool features such as steams, calendar, tasks, contacts, etc. Most people prefer native apps, rather than running it through a web browser. I know that we can use the IMAP, CalDAV,
                                                                                                                • How to integrate Zoho CRM, Zoho Forms and a WIX Web Site

                                                                                                                  Attached video demonstrates how to use Zoho Forms included in Zoho One, to design a Contact Us form to be embedded into a WIX web site and integrated into Zoho CRM.
                                                                                                                • CRM x WorkDrive: File storage for new CRM signups is now powered by WorkDrive

                                                                                                                  Availability Editions: All DCs: All Release plan: Released for new signups in all DCs. It will be enabled for existing users in a phased manner in the upcoming months. Help documentation: Documents in Zoho CRM Manage folders in Documents tab Manage files
                                                                                                                • Introducing Workqueue: your all-in-one view to manage daily work

                                                                                                                  Hello all, We’re excited to introduce a major productivity boost to your CRM experience: Workqueue, a dynamic, all-in-one workspace that brings every important sales activity, approval, and follow-up right to your fingertips. What is Workqueue? Sales
                                                                                                                • Default Reminder Time in New Tasks or New Event?

                                                                                                                  Any way to change this from 1:00am? Thanks, Gary Moderation Update (February 2026): With the Calendar preferences, the default reminder time for Meetings, Appointments and All-Day Meetings can be set. Read more: Calendar preferences in Zoho CRM Regarding
                                                                                                                • Dynamic Field Folders in OneDrive

                                                                                                                  Hi, With the 2 options today we have either a Dynamic Parent Folder and lots of attachments all in that one folder with only the ability to set the file name (Which is also not incremented so if I upload 5 photos to one field they are all named the same
                                                                                                                • Right Shift key not sending to Zoho Assist environments

                                                                                                                  I'm unable to use Right Shift key in Zoho environments. Zoho environments are Win10. Computer I access from is Win 11. Issue started when I changed to Win 11. Have tried: - Multiple browsers - web client AND desktop client - 3rd party mapping tools to
                                                                                                                • Unable to Filter Retail Sales Orders & Need Paid/Unpaid Filter – Zoho Books

                                                                                                                  Hi Zoho Team, Recently you introduced Retail – Standard and Retail – Premium templates for Sales Orders. However, in the Sales Order module we still cannot filter or segregate Retail Sales Orders separately from normal B2B sales orders. Because of this,
                                                                                                                • About Meetings (Events module)

                                                                                                                  I was working on an automation to cancel appointments in zoho flow , and in our case, we're using the Meetings module (which is called Events in API terms). But while working with it, I'm wondering what information I can display in the image where the
                                                                                                                • PDF Annotation is here - Mark Up PDFs Your Way!

                                                                                                                  Reviewing PDFs just got a whole lot easier. You can now annotate PDFs directly in Zoho Notebook. Highlight important sections, add text, insert images, apply watermarks, and mark up documents in detail without leaving your notes. No app switching. No
                                                                                                                • Ability to assign Invoice Ownership through Deluge in FSM

                                                                                                                  Hi, As part of our process, when a service appointment is completed, we automated the creation of the invoice based on a specific business logic using Deluge. When we do that, the "Owner" of the invoice in Zoho FSM is defaulted to the SuperAdmin. This
                                                                                                                • How do you do ticket add ons in Backstage?

                                                                                                                  Hi Everyone, If you wanted to have general admin tickets and allow for add ons, like camping, or car or Carbon offset. What would you do? Peace Robin
                                                                                                                • From Zoho CRM to Paper : Design & Print Data Directly using Canvas Print View

                                                                                                                  Hello Everyone, We are excited to announce a new addition to your Canvas in Zoho CRM - Print View. Canvas print view helps you transform your custom CRM layouts into print-ready documents, so you can bring your digital data to the physical world with
                                                                                                                • validation rules doesn't work in Blueprint when it is validated using function?

                                                                                                                  I have tried to create a validation rule in the deal module. it works if I try to create a deal manually or if I try to update the empty field inside a deal. but when I try to update the field via the blueprint mandatory field, it seems the validation
                                                                                                                • Pull cells from one sheet onto another

                                                                                                                  Hello all! I have created an ingredients database where i have pricing and information and i want to pull from that database into a recipe calculator. I want it to pull based on what ingredient I choose. The ingredients database has an idea and i want
                                                                                                                • Emails Failing with “Relaying Issues – Mail Sending Blocked” in ZeptoMail

                                                                                                                  Hello ZeptoMail Support Team, We are facing an email delivery issue in our ZeptoMail account where emails are failing with the status “Process failed” and the reason “Relaying issues – Mail sending blocked.” Issue Details Agent Name: mail_agent_iwwa From
                                                                                                                • How does Zoho handle support operations for our EU users?

                                                                                                                  Dear Zoho users, We have some news and reminders about how we handle support operations for Zoho users in the EU Data Center. This is part of our broader commitment to ensuring GDPR compliance and providing secure data handling for all users. We'd like
                                                                                                                • Sender Email Configuration Error.

                                                                                                                  Hello Team, Hope you are all doing well. We are in the process of creating the Zoho FSM environment in the UAE. When we try to add the sender email address “techsupportuae@stryker.com”, we receive the error message: “Error occurred while sending mail
                                                                                                                • Layout Adjustment.

                                                                                                                  Hello Latha, Hope you are doing well. I wanted to check with you about adjusting the layout columns in the Service Report from the backend, as currently there is no capability for us to customize the layout from our end. Below is the output that I am
                                                                                                                • Anyone in Australia using Zoho Books AND has their account with NAB?

                                                                                                                  Hi I have an account with both NAB and Suncorp. Suncorp transaction come in the next day however NAB transactions take 4-5 business days to appear. eg: A deposit made today in my Suncorp will be imported into Zoho tomorrow. A deposit made today to the NAB account will be imported maybe Saturday (Friday overnight). I have contacted both Zoho and NAB but noone seems to know why. I was just wondering if anyone else in Australia uses NAB and has this issue (or doesn't) maybe we could compare notes and
                                                                                                                • Zoho Often Lag

                                                                                                                  Desk Team, We've noticed that Desk, Creator & other apps seems to lag more these days. We often refresh multiple times.
                                                                                                                • Offer already made- but I withdrew it

                                                                                                                  I made an offer letter, but made a mistake on it. I withdrew the offer but now I can't recreate the correct offer. Zoho keeps saying that "A same offer has already been made". I look in the "offers" and there are NO offers (this is the first time I've
                                                                                                                • Importing into the 'file upload' field

                                                                                                                  Can you import attachments into the file upload field. I would expect it to work the same way as attachments do, But can't seem to get it to work. Moderation Update: The option to import into File Upload and Image Upload fields has been supported. Read
                                                                                                                • Layout Rules Don't Apply To Blueprints

                                                                                                                  Hi Zoho the conditional layout rules for fields and making fields required don't work well with with Blueprints if those same fields are called DURING a Blueprint. Example. I have field A that is used in layout rule. If value of field A is "1" it is supposed to show and make required field B. If the value to field A is "2" it is supposed to show and make required field C. Now I have a Blueprint that says when last stage moves to "Closed," during the transition, the agent must fill out field A. Now
                                                                                                                • Why is the ability Customize Calls module so limited?

                                                                                                                  Why can't I add additional sections? why can't I add other field types than the very limited subset that zoho allows? Why can I only add fields to the outbound/inbound call sections and not to the Call Information section?
                                                                                                                • Zoho Desk blank screen

                                                                                                                  opened a ticket from my email, zoho desk comes up blank, nothing loads. our receptionist also gets the same thing under her login on her computer. our sales rep also gets same thing on zoho desk at his home on a different computer. I tried clearing cache/history/cookies,
                                                                                                                • Next Page