Skip to content

Revenue API authentication

Revenue APIs that use Zuora OneID authenticate with OAuth 2.0 client credentials. Register an OAuth client, request an access token, and send the token as a bearer token on each request.

Base URL

As part of the transition to OneID OAuth authentication, the host name for all Revenue API endpoints has changed to one.zuora.com.

EnvironmentExample
Legacyhttps://customer-snd01.revprooncloud.com/api/integration/v1/journal/list
OneID OAuthhttps://one.zuora.com/revenue/api/integration/v1/journal/list

1. Register an OAuth client

  1. In the OneID Admin Console, go to Settings > Manage OAuth 2.0 Clients.
  2. Click New, then API access.
  3. Configure the client:
    • Integration name: A descriptive name, such as Revenue OneID client.
    • Product line: Revenue
    • Authorization Grant Type: Client Credentials
    • Scope Type: User
    • Select User: The API user login name
    • Tenant ID: The Revenue tenant to access
  4. Click Save. Copy the Client ID and Client Secret. The secret is shown only once.

For more information, see Create OAuth tokens for calling Revenue APIs.

2. Get an access token

Send your client credentials to the OneID token endpoint.

MethodPOST
URLhttps://one.zuora.com/oauth2/token
HeaderContent-Type: application/x-www-form-urlencoded
Bodyclient_id, client_secret, grant_type=client_credentials
curl --request POST \
  --url 'https://one.zuora.com/oauth2/token' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'client_id=<clientId>' \
  --data-urlencode 'client_secret=<clientSecret>' \
  --data-urlencode 'grant_type=client_credentials'

A successful response includes access_token. Tokens typically expire in 3599 seconds (about one hour). Reuse the token until it expires.

{
  "access_token": "<access_token>",
  "token_type": "Bearer",
  "expires_in": 3599
}

3. Call a Revenue API

Add the token to the Authorization header as Bearer <access_token>. In Postman, set the authorization type to Bearer Token and paste the token value.

For example:

curl --request GET \
  --url 'https://one.zuora.com/revenue/api/integration/v1/journal/list' \
  --header 'Authorization: Bearer <access_token>' \
  --header 'Content-Type: application/json'