Skip to main content

Authorization

Follow this guide to create a new Zoho Expense credential that will allow Nexla to authenticate to and exchange data with your Zoho Expense account.
zoho_expense_api_auth.png

Zoho Expense

Prerequisites

Zoho Expense uses OAuth 2.0 for API authentication. Before creating a credential in Nexla, you must register an application in the Zoho API Console to obtain a Client ID and Client Secret. These credentials, combined with your Organization ID and the appropriate API base URL for your data center region, are required to complete the Nexla credential setup.

Register an Application in the Zoho API Console

  1. Sign in to the Zoho API Console using your Zoho account.

  2. Click GET STARTED (or Add Client) to begin registering a new OAuth application.

  3. Select Server-based Applications as the client type, since Nexla operates as a server-side integration.

  4. Fill in the required application details:

    • Client Name: Enter a descriptive name for the integration (e.g., Nexla Zoho Expense Integration).
    • Homepage URL: Enter your organization's homepage URL (e.g., https://nexla.io).
    • Authorized Redirect URI: Enter https://nexla.io/oauth/callback (or the redirect URI provided in the Nexla credential setup screen).
  5. Click Create to register the application.

  6. After successful registration, your Client ID and Client Secret will be displayed in the Client Secret tab of your application in the Zoho API Console. Copy and store these values securely—the Client Secret cannot be retrieved again after you leave the page.

Important

Keep your Client ID and Client Secret confidential. Do not share these credentials or store them in publicly accessible locations.

Identify Your Organization ID

The Zoho Expense Organization ID is required to scope API requests to the correct organization. You can retrieve it using one of the following methods:

  • Via the Zoho Expense API: Once OAuth credentials are configured, call the /organizations endpoint (GET https://expense.zoho.com/api/v1/organizations) to retrieve a list of organizations associated with your account. The organization_id field in the response contains the value needed.
  • Via the Zoho Expense Admin Console: Sign in to your Zoho Expense account as an administrator, navigate to Settings > Organization Profile, and locate the Organization ID displayed on the page.

Determine Your API Base URL

Zoho Expense operates across multiple data center regions. Select the base URL that corresponds to the region where your Zoho account is hosted:

RegionBase URL
United Stateshttps://expense.zoho.com/api/v1
Europehttps://expense.zoho.eu/api/v1
Indiahttps://expense.zoho.in/api/v1
Australiahttps://expense.zoho.com.au/api/v1
Japanhttps://expense.zoho.jp/api/v1

Additional information about Zoho OAuth setup and scopes is available in the Zoho OAuth 2.0 documentation and the Zoho Expense API authentication guide.

Create a Zoho Expense Credential

  • To create a new Zoho Expense credential, after selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

Credential Name & Description

  1. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

    Resource descriptions are recommended but are not required. They should be used to provide information about the resource purpose, data freshness, etc. that can help the owner and other users efficiently understand and utilize the resource.

OAuth 2.0 Configuration

Zoho Expense authentication uses a 3-legged OAuth 2.0 flow. Nexla will use the Client ID and Client Secret you registered in the Zoho API Console to obtain an access token on behalf of your Zoho user account. The access token is valid for one hour and is automatically refreshed by Nexla using the stored refresh token.

  1. Enter the Client ID obtained from the Zoho API Console in the Client ID field. This value identifies your registered application to Zoho's authorization server.

  2. Enter the Client Secret obtained from the Zoho API Console in the Client Secret field. This secret is used to authorize the OAuth token exchange and should be treated as a password.

  3. Select the API Base URL that corresponds to your Zoho account's data center region from the API Base URL pulldown menu. The default value is https://expense.zoho.com/api/v1 (United States). Select the appropriate regional URL if your Zoho account is hosted in Europe, India, Australia, or Japan.

    Selecting the wrong base URL will result in authentication failures or empty API responses. Refer to the Zoho Expense API documentation to confirm the correct data center URL for your account.

  4. Enter your Zoho Expense Organization ID in the Organization ID field. This value scopes all API requests to the correct organization within your Zoho Expense account. See the Prerequisites section above for instructions on how to obtain your Organization ID.

  5. Click the Authorize button (or equivalent OAuth redirect button) to initiate the OAuth 2.0 authorization flow. You will be redirected to Zoho's login page to sign in and grant Nexla permission to access your Zoho Expense account. After granting access, you will be redirected back to Nexla and the access and refresh tokens will be automatically populated.

    The OAuth flow requires you to sign in with the Zoho account that owns or has access to the Zoho Expense organization you want to connect. Ensure that the account used has the appropriate permissions to access the expense data you intend to integrate.

Save the Credential

  1. Once all of the relevant steps in the above sections have been completed, click the Save button at the bottom of the overlay to save the configured credential.

  2. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation and can be selected for use with a new data source or destination.