# Older API Reference This API Reference contains the API operations that we no longer recommend you use. Although we do not recommend these API operations, you can continue to use these API operations if you have integrated with them. You are not required to make changes to your existing integration. For more information about this change, see [this Community post](https://community.zuora.com/discussion/upcoming-reorganization-of-zuora-api-reference-december-2022#bm0903f6c6-38c9-4c8c-a371-9438cc64bd34). Version: 2025-12-17 ## Servers ``` https://rest.zuora.com ``` ## Download OpenAPI description [Older API Reference](https://developer.zuora.com/_bundle/v1-api-reference/older-api/index.yaml) ## Actions Actions are operations that are batch in nature. For example, the "create", "update", "delete", and other operations allow changes to up-to 50 objects at a time. The "query" operation will return up-to 2000 result records back at a time, before requiring additional pages of data to be returned via a subsequent "queryMore" operation. The default WSDL version for Actions is 79. If you want to change the WSDL version, set the `X-Zuora-WSDL-Version` header. To find out in which WSDL version a particular object or field was introduced, see [Zuora SOAP API Version History](https://knowledgecenter.zuora.com/DC_Developers/G_SOAP_API/Zuora_SOAP_API_Version_History). **Note**: Actions do not support the Invoice Settlement feature. This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. Actions also do not support the Orders feature. ### Amend - [POST /v1/action/amend](https://developer.zuora.com/v1-api-reference/older-api/actions/action_postamend.md): Modifies a subscription by creating Amendment objects. However, to modify a subscription, Zuora recommends that you use the Create an order operation instead of this action. The Amend action cannot modify the custom fields on the Subscription object. You can use the Create an order operation to modify the custom fields on the Subscription object. You can use this action to create up to 10 Amendment objects. You must specify the following fields for each Amendment object: * ContractEffectiveDate * Name * SubscriptionId * Type Additionally, the value of SubscriptionId must be the same for each Amendment object. You cannot use this operation to update multiple subscriptions. When you call this operation, Zuora modifies the subscription in the order that you specify Amendment objects in the request body. If Zuora is unable to create an Amendment object when you call this operation, the entire call fails. Amendment Preview To view taxation item data for invoices and credit memos in the amendment preview response, you need to set the X-Zuora-WSDL-Version request header to 120 or later. ### Execute - [POST /v1/action/execute](https://developer.zuora.com/v1-api-reference/older-api/actions/action_postexecute.md): Use the execute call to execute a process to split an invoice into multiple invoices. The original invoice must be in draft status. The resulting invoices are called split invoices. To access this feature, see Enable Splitting Invoices for steps. To split a draft invoice into multiple split invoices: 1. Use the create call to create a single InvoiceSplit object to collect all of the InvoiceSplitItem objects. 2. Use the create call to create a separate InvoiceSplitItem object for each split invoice that you want to create from the original draft invoice. 3. Use the execute call to split the draft invoice into multiple split invoices. You need to create InvoiceSplitItem objects and an InvoiceSplit object before you can use the execute call. * Supported objects: InvoiceSplit * Asynchronous process: yes ### Generate - [POST /v1/action/generate](https://developer.zuora.com/v1-api-reference/older-api/actions/action_postgenerate.md): Generates an on-demand invoice for a specific customer. This is similar to creating an ad-hoc bill run for a specific customer account in the Zuora UI. * Supported objects: Invoice * Asynchronous process: yes The ID of the generated invoice is returned in the response. If multiple invoices are generated, only the id of the first invoice generated is returned. This occurs when an account has multiple subscriptions with the invoice subscription separately option enabled. ### Subscribe - [POST /v1/action/subscribe](https://developer.zuora.com/v1-api-reference/older-api/actions/action_postsubscribe.md): This call performs many actions. Use the subscribe call to bundle information required to create at least one new subscription. The call takes in an array of SubscribeRequests. Because it takes an array, you can submit a batch of subscription requests at once. You can create up to 50 different subscriptions in a single subscribe call. This is a combined call that you can use to perform all of the following tasks in a single call: * Create accounts * Create contacts * Create payment methods, including external payment options * Create an invoice for the subscription * Apply the first payment to a subscription ### Object Limits * 50 objects are supported in a single call. * The subscribe call for subscription preview will not consolidate invoices. Subscriptions are previewed separately. There is not any workaround without Orders enabled. For more information, see Preview an Order. ### Effective Date If the effective date is in the future, the invoices will not be generated, and there will be no invoice number. ### Subscription Name, Number, and ID #### Subscription Name and Number The subscription name is a unique identifier for the subscription. If you do not specify a value for the name, Zuora will create one automatically. The automatically generated value is known as the subscription number, such as A-S00000080. You cannot change the subscription name or number after creating the subscription. - Subscription name: The name that you set for the subscription. - Subscription number: The value generated by Zuora automatically if you do not specify a subscription name. Both the subscription name and numbermust be unique. If they are not, an error will occur. #### Subscription ID The subscription ID is a 32-digit ID in the format 4028xxxx. This is also the unique identifier for a subscription. This value is automatically generated by the system and cannot be edited or updated, but it can be queried. One subscription can have only one subscription name or number, but it can have multiple IDs: Each version of a subscription has a different ID. The Subscription object contains the fields OriginalId and PreviousSubscriptionId. OriginalId is the ID for the first version of a subscription. PreviousSubscriptionId is the ID of the version created immediately prior to the current version. ### Subscription Preview You can preview invoices that would be generated by the subscribe call. When previewing invoices with the subscribe call, the correspondinig Contract Effective, Service Activation, or Customer Acceptance date is required if the subscription contains a charge with its trigger event being set as ContractEffectiveDate, ServiceActivationDate, or CustomerAcceptanceDate. To view taxation item data for invoices and credit memos in the subscription preview response, you need to set the X-Zuora-WSDL-Version request header to 120 or later. ### Invoice Subscriptions Separately If you have enabled the invoice subscriptions separately feature, a subscribe call will generate an invoice for each subscription for every subscription where the field IsInvoiceSeparate is set to true. If the invoice subscriptions separately feature is disabled, a subscribe call will generate a single invoice for all subscriptions. See Invoicing Subscriptions Separately for more information. ### Subscriptions and Draft Invoices If a draft invoice that includes charges exists in a customer account, using the subscribe call to create a new subscription and generate an invoice will cause the new subscription to be added to the existing draft invoice. Zuora will then post the invoice. ### When to Use Subscribe and Create Calls You can use either the subscribe call or the create call to create the objects associated with a subscription (accounts, contacts, and so on). There are differences between these calls, however, and some situations are better for one or the other. #### Use the Subscribe Call The subscribe call bundles up all the information you need for a subscription. Use the subscribe call to create new subscriptions when you have all the information you need. Subscribe calls cannot update BillTo, SoldTo, and Account objects. Payment information objects cannot be updated if there is an existing account ID in the call. These objects are not supported in a subscribe call. #### Use the Create Call The create call is more useful when you want to develop in stages. For example, if you want to first create an account, then a contact, and so on. If you do not have all information available, use the create call. To create a subscription, you must activate the account from Draft status to Active by calling the subscribe call. ## Accounts Some operations in this section are similar to each other, but are provided for different use scenarios. You should choose the one that best suits your needs. For example, the [Create account](https://developer.zuora.com/api-references/api/operation/POST_Account) operation is used to create an account with a credit card payment method, a bill-to contact, and optionally an sold-to contact or an associated subscription. If you want to create an account without creating any associated objects such as subscriptions, use [CRUD: Create Account](https://developer.zuora.com/api-references/older-api/operation/Object_POSTAccount/) instead. If you want to create an account and the associated subscription at the same time without providing credit card information, use the [Subscribe](https://developer.zuora.com/api-references/older-api/operation/Action_POSTsubscribe/) action. ### CRUD: Create an account - [POST /v1/object/account](https://developer.zuora.com/v1-api-reference/older-api/accounts/object_postaccount.md): Creates an account without creating any associated objects such as subscriptions. ### CRUD: Retrieve an account - [GET /v1/object/account/{id}](https://developer.zuora.com/v1-api-reference/older-api/accounts/object_getaccount.md): Retrieves the information about one specific account. ### CRUD: Update an account - [PUT /v1/object/account/{id}](https://developer.zuora.com/v1-api-reference/older-api/accounts/object_putaccount.md): Updates an account. ### CRUD: Delete an account - [DELETE /v1/object/account/{id}](https://developer.zuora.com/v1-api-reference/older-api/accounts/object_deleteaccount.md): Deletes a specific account asynchronously. Note: When Orders is enabled, before deleting a customer account, you must delete all related orders and subscriptions where this account has been referenced as a subscription owner or invoice owner. ## Amendments You can use amendments to modify subscriptions. However, Zuora recommends you to use the [Create an order](https://developer.zuora.com/api-references/api/operation/POST_Order/) operation to do so. ### Retrieve an amendment - [GET /v1/amendments/{amendment-key}](https://developer.zuora.com/v1-api-reference/older-api/amendments/get_amendmentsbykey.md): Retrieves detailed information about the specified subscription amendment. ### Retrieve the last amendment of a subscription - [GET /v1/amendments/subscriptions/{subscription-id}](https://developer.zuora.com/v1-api-reference/older-api/amendments/get_amendmentsbysubscriptionid.md): Retrieves detailed information about the last amendment of the specified subscription. ### CRUD: Retrieve an amendment - [GET /v1/object/amendment/{id}](https://developer.zuora.com/v1-api-reference/older-api/amendments/object_getamendment.md) ### CRUD: Update an amendment - [PUT /v1/object/amendment/{id}](https://developer.zuora.com/v1-api-reference/older-api/amendments/object_putamendment.md) ### CRUD: Delete an amendment - [DELETE /v1/object/amendment/{id}](https://developer.zuora.com/v1-api-reference/older-api/amendments/object_deleteamendment.md): Invoiced amendments cannot usually be deleted. One exception to this rule is auto-renew amendments. You can delete the last auto-renew amendment even if an invoice has been generated. ## Bill Runs This section contains the CRUD bill run operations, including: - [CRUD: Create a bill run](https://developer.zuora.com/api-references/older-api/operation/Object_POSTBillRun/) - [CRUD: Retrieve a bill run](https://developer.zuora.com/api-references/older-api/operation/Object_GETBillRun/) - [CRUD: Post or cancel a bill run](https://developer.zuora.com/api-references/older-api/operation/Object_PUTBillRun/) - [CRUD: Delete a bill run](https://developer.zuora.com/api-references/older-api/operation/Object_DELETEBillRun/) ### CRUD: Create a bill run - [POST /v1/object/bill-run](https://developer.zuora.com/v1-api-reference/older-api/bill-runs/object_postbillrun.md): Creates an ad hoc bill run or a single account or multiple customer accounts. When creating a single account ad hoc bill run, your request must include AccountId and must not include Batch or BillCycleDay. If more than 500 bill runs created by using this operation are in Pending status, no more bill runs can be created by using this operation. ### CRUD: Retrieve a bill run - [GET /v1/object/bill-run/{id}](https://developer.zuora.com/v1-api-reference/older-api/bill-runs/object_getbillrun.md): Retrieves information about a bill run. Business operations depending on the completion of the bill run will not be available while the bill run query returns PostInProgress. Upon completion of the bill run, a query will return Posted. ### CRUD: Post or cancel a bill run - [PUT /v1/object/bill-run/{id}](https://developer.zuora.com/v1-api-reference/older-api/bill-runs/object_putbillrun.md): Posts or cancels a bill run. ### Post a Bill Run Posting a bill run is an asynchronous operation. To post a bill run, the current bill run must have a status of Completed. When a bill run is posted, its status is changed to PostInProgress. Once all invoices for this bill run are posted then its status is changed to Posted. When you post a bill run and query the status of a bill run, you will get one of the following results PostInProgress, Completed, or Posted. If all invoices in the bill run are posted, then the status of the bill run is Posted. If one or more invoices fail to post, the status will change back to Completed and you will need to post the bill run again. ### Cancel a Bill Run Canceling a bill run is an asynchronous operation. When canceling a bill run, the logic is the same as when using the UI to cancel a bill run. You need to provide the BillRunId, and set the Status to Canceled. When canceling a bill run, consider the following: * Canceling a bill run with a Completed status. * Only the current bill run will be canceled. * Canceling a bill run with a Pending status. * When canceling an Ad-hoc bill run, only the current bill run will be canceled. * When canceling a scheduled bill, all scheduled bill runs will be canceled. The Cancel operation may not be successful. Its success depends on its current business validation. Only a bill run that has no posted invoices can be canceled. If any posted invoices belong to the bill run then an invalid value exception will be thrown with the message, "The Bill Run cannot be Cancelled, There are Posted invoices." ### CRUD: Delete a bill run - [DELETE /v1/object/bill-run/{id}](https://developer.zuora.com/v1-api-reference/older-api/bill-runs/object_deletebillrun.md): Deletes a bill run. When deleting a bill run, the logic is the same as when using the UI to delete a bill run. The only required parameter is BillRunId. The Status for the bill run must be Canceled in order to delete a bill run. ## Contacts A contact defines the customer who holds an account or who is otherwise a person to contact about an account. An account requires a contact for the `BillToId` and `SoldToId` fields before the account can be active. ### CRUD: Create a contact - [POST /v1/object/contact](https://developer.zuora.com/v1-api-reference/older-api/contacts/object_postcontact.md): Creates a contact for a specified account. ### CRUD: Retrieve a contact - [GET /v1/object/contact/{id}](https://developer.zuora.com/v1-api-reference/older-api/contacts/object_getcontact.md): Retrieves detailed information about a specific contact. ### CRUD: Update a contact - [PUT /v1/object/contact/{id}](https://developer.zuora.com/v1-api-reference/older-api/contacts/object_putcontact.md): Updates a contact for a specified account. You can update contacts for cancelled accounts. ### CRUD: Delete a contact - [DELETE /v1/object/contact/{id}](https://developer.zuora.com/v1-api-reference/older-api/contacts/object_deletecontact.md): Deletes a contact. ## Catalog The Zuora Billing product catalog is where you define your products and pricing. The product catalog's ability to handle sophisticated pricing models gives you the power to easily adapt your pricing to customer and market needs, to grow your business and drive more revenue. ### Multi-entity: Share a product with an entity - [POST /v1/catalog/products/{product-id}/share](https://developer.zuora.com/v1-api-reference/older-api/catalog/post_catalog.md): Shares a product with a target entity. Zuora synchronizes the shared products to the target entity after sharing. For more information about product sharing, see Products Sharing Across Entities. Note that: - You must finish all the prerequisites before sharing products with other entities. - Only source entity administrators have permission to share products with other entities. You must make the call as a source entity administrator. - Currently, you can only share a product with one entity at a time. An error occurs if you try to share a product to more than one entity. ## Charge Metrics Charge Metrics provides a service to access key metrics for rate plan charges in Zuora, for example, Gross MRR, Net MRR, Gross TCV, and Net TCV. ### List charge metrics by time range - [GET /charge-metrics/data/charge-metrics](https://developer.zuora.com/v1-api-reference/older-api/charge-metrics/get_chargemetrics.md): Retrieves key charge metrics about rate plan charges that have changes in a specified time range. The purpose of fromTimestamp and toTimestamp is to synchronize charge metrics data incrementally. ### List discount allocation details by time range - [GET /charge-metrics/data/charge-metrics-discount-allocation-detail](https://developer.zuora.com/v1-api-reference/older-api/charge-metrics/get_chargemetricsdiscountallocationdetails.md): Retrieves discount allocation details about rate plan charges that have changes in a specified time range. The purpose of fromTimestamp and toTimestamp is to synchronize discount allocation details incrementally. ## Charge Revenue Summaries The Charge Revenue Summary represents a summary of revenue amounts from all revenue schedules on the whole subscription charge. For example, revenue for one-time setup charges, recurring charges, and overages. You can [list all details of a charge revenue summary](https://developer.zuora.com/api-references/older-api/operation/GET_CRSByCRSNumber/) or [retrieve a charge revenue summary by charge ID](https://developer.zuora.com/api-references/older-api/operation/GET_CRSByChargeID/) through the REST API. ### List all details of a charge revenue summary - [GET /v1/charge-revenue-summaries/{crs-number}](https://developer.zuora.com/v1-api-reference/older-api/charge-revenue-summaries/get_crsbycrsnumber.md): Retrieves the details of a charge revenue summary by specifying the charge revenue summary number. The response includes all revenue items associated with the charge revenue summary. ### Retrieve a charge revenue summary by charge ID - [GET /v1/charge-revenue-summaries/subscription-charges/{charge-key}](https://developer.zuora.com/v1-api-reference/older-api/charge-revenue-summaries/get_crsbychargeid.md): Retrieves the details of a charge revenue summary by specifying the subscription charge ID. This response retrieves all revenue items associated with a charge revenue summary. ## Communication Profiles A communication profile enables you to send specific event-driven notifications to targeted customer accounts. For more information, see [Communication profiles](https://knowledgecenter.zuora.com/Central_Platform/Notifications/C_Viewing_Profiles). You can manage communication profiles using the REST API: - [CRUD: Retrieve a communication profile](https://developer.zuora.com/api-references/older-api/operation/Object_GETCommunicationProfile/) - [Retrieve all notifications under a communication profile (using the Settings API)](https://knowledgecenter.zuora.com/Central_Platform/API/BB_C_Settings_API/Settings_API_tutorials/Get_all_Notifications_under_a_particular_Communication_Profile) - [Retrieve all communication profiles (using the Settings API)](https://knowledgecenter.zuora.com/Central_Platform/API/BB_C_Settings_API/Settings_API_tutorials/Get_all_Communication_Profiles) - [Update a communication profile (using the Settings API)](https://knowledgecenter.zuora.com/Central_Platform/API/BB_C_Settings_API/Settings_API_tutorials/Modify_a_Communication_Profile) - [Create a communication profile (using the Settings API)](https://knowledgecenter.zuora.com/Central_Platform/API/BB_C_Settings_API/Settings_API_tutorials/Create_a_new_Communication_Profile) ### CRUD: Retrieve a communication profile - [GET /v1/object/communication-profile/{id}](https://developer.zuora.com/v1-api-reference/older-api/communication-profiles/object_getcommunicationprofile.md) ## Connections Establishes a connection to the Zuora REST API service based on a valid user credentials. **Note:** This is a legacy REST API. Zuora recommends you to use [OAuth](https://developer.zuora.com/api-references/api/tag/OAuth/) for authentication instead. ### Establish a connection to Zuora REST API - [POST /v1/connections](https://developer.zuora.com/v1-api-reference/older-api/connections/post_connections.md): Establishes a connection to the Zuora REST API service based on a valid user credentials. Note:This is a legacy REST API. Zuora recommends you to use OAuth for authentication instead. This call authenticates the user and returns an API session cookie that's used to authorize subsequent calls to the REST API. The credentials must belong to a user account that has permission to access the API service. As noted elsewhere, it's strongly recommended that an account used for Zuora API activity is never used to log into the Zuora UI. Once an account is used to log into the UI, it may be subject to periodic forced password changes, which may eventually lead to authentication failures when using the API. ## Credit Balance Adjustments A credit balance adjustment represents one adjustment made to the credit balance. ' ### CRUD: Create a credit balance adjustment - [POST /v1/object/credit-balance-adjustment](https://developer.zuora.com/v1-api-reference/older-api/credit-balance-adjustments/object_postcreditbalanceadjustment.md) ### CRUD: Retrieve a credit balance adjustment - [GET /v1/object/credit-balance-adjustment/{id}](https://developer.zuora.com/v1-api-reference/older-api/credit-balance-adjustments/object_getcreditbalanceadjustment.md) ### CRUD: Update a credit balance adjustment - [PUT /v1/object/credit-balance-adjustment/{id}](https://developer.zuora.com/v1-api-reference/older-api/credit-balance-adjustments/object_putcreditbalanceadjustment.md) ## Document Properties You can create, update, and retrieve custom document properties for a billing document. For example, a document property can be a custom name used for files generated for billing documents. Billing documents include invoices, credit memos, and debit memos. **Note**: You can manage document properties for credit memos and debit memos only if you have the Invoice Settlement feature enabled. ### Create document properties - [POST /v1/document-properties](https://developer.zuora.com/v1-api-reference/older-api/document-properties/post_documentproperties.md): Note: This feature is available only if you have the Billing Document Properties Setup feature enabled. The Billing Document Properties Setup feature is in Limited Availability. If you wish to have access to the feature, submit a request at Zuora Global Support. Creates custom document properties for a billing document. For example, a document property can be a custom name used for files generated for billing documents. Billing documents include invoices, credit memos, and debit memos. If you want to configure custom file names for billing documents created through API operations, you have to call this operation before posting the billing documents. Note: You can create document properties for credit and debit memos only if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is generally available as of Zuora Billing Release 296 (March 2021). This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you want to enable Invoice Settlement, see Invoice Settlement Enablement and Checklist Guide for more information. ### List all properties of a billing document - [GET /v1/document-properties/{documentType}/{documentKey}](https://developer.zuora.com/v1-api-reference/older-api/document-properties/get_documentproperties.md): Note: This feature is available only if you have the Billing Document Properties Setup feature enabled. The Billing Document Properties Setup feature is in Limited Availability. If you wish to have access to the feature, submit a request at Zuora Global Support. Retrieve information about document properties of a billing document. Billing documents include invoices, credit memos, and debit memos. Note: You can retrieve information about document properties of credit and debit memos only if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is generally available as of Zuora Billing Release 296 (March 2021). This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you want to enable Invoice Settlement, see Invoice Settlement Enablement and Checklist Guide for more information. ### Update document properties - [PUT /v1/document-properties/{documentPropertiesId}](https://developer.zuora.com/v1-api-reference/older-api/document-properties/put_documentproperties.md): Note: This feature is available only if you have the Billing Document Properties Setup feature enabled. The Billing Document Properties Setup feature is in Limited Availability. If you wish to have access to the feature, submit a request at Zuora Global Support. Updates document properties with a specific ID for a billing document. Billing documents include invoices, credit memos, and debit memos. Note: You can update document properties for credit and debit memos only if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is generally available as of Zuora Billing Release 296 (March 2021). This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you want to enable Invoice Settlement, see Invoice Settlement Enablement and Checklist Guide for more information. ### Delete document properties - [DELETE /v1/document-properties/{documentPropertiesId}](https://developer.zuora.com/v1-api-reference/older-api/document-properties/delete_documentproperties.md): Note: This feature is available only if you have the Billing Document Properties Setup feature enabled. The Billing Document Properties Setup feature is in Limited Availability. If you wish to have access to the feature, submit a request at Zuora Global Support. Deletes document properties with a specific ID for a billing document. Billing documents include invoices, credit memos, and debit memos. Note: You can delete document properties for credit and debit memos only if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is generally available as of Zuora Billing Release 296 (March 2021). This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you want to enable Invoice Settlement, see Invoice Settlement Enablement and Checklist Guide for more information. ## Entities An entity represents a business unit that operates independently and can sell products to multiple countries. Each entity has its own Zuora environment in which the entity users can perform business operations independent of the other entities. In a multi-entity hierarchy, an entity can share certain business objects with the other entities. Users that are created in an entity can be granted access to the other entities with different roles and permissions. **Note**: Entities are available only if you have the Multi-entity feature enabled. If you want to have access to the Multi-entity feature, submit a request at Zuora Global Support. ### Multi-entity: Create an entity - [POST /v1/entities](https://developer.zuora.com/v1-api-reference/older-api/entities/post_entities.md): Creates an entity in a multi-entity hierarchy. ### User Access Permission You must make the call as a global entity administrator. ### Notes * We recommend that you assign only one administrator to manage the entity hierarchy, because an administrator of the global entity by default can only access to the entities that are created by themselves. ### Multi-entity: List entities - [GET /v1/entities](https://developer.zuora.com/v1-api-reference/older-api/entities/get_entities.md): Retrieves detailed information of certain entities in a multi-entity hierarchy. You can retrieve: - Provisioned entities - Unprovisioned entities - Both provisioned and unprovisioned entities ### User Access Permission You can make the call as any entity user. ### Multi-entity: Update an entity - [PUT /v1/entities/{id}](https://developer.zuora.com/v1-api-reference/older-api/entities/put_entities.md): Edits the following information about an unprovisioned entity: - Name - Display name - Locale - Timezone ### User Access Permission You must make the call as a global entity administrator. ### Notes * You are not allowed to edit the locale and time zone of the provisioned entities through the REST API. * You are not allowed to edit the display name of the global entity. ### Multi-entity: Retrieve an entity - [GET /v1/entities/{id}](https://developer.zuora.com/v1-api-reference/older-api/entities/get_entitybyid.md): Retrieves detailed information about a specified entity. ### User Access Permission You can make the call as any entity user. ### Multi-entity: Delete an entity - [DELETE /v1/entities/{id}](https://developer.zuora.com/v1-api-reference/older-api/entities/delete_entities.md): Removes an entity and its sub-entities from a multi-entity hierarchy. You can only remove unprovisioned entities. An error occurred when you remove a provisioned entity. ### User Access Permission You must make the call as a global entity administrator. ### Multi-entity: Provision an entity - [PUT /v1/entities/{id}/provision](https://developer.zuora.com/v1-api-reference/older-api/entities/put_provisionentity.md): Provisions an entity. You can only provision an entity if its parent entity is provisioned. ### User Access Permission You must make the call as a global entity administrator. ### Notes * Zuora does not allow you to remove a provisioned entity from the multi-entity hierarchy. So before you provision an entity, make sure that you put the entity in the correct place in the multi-entity hierarchy. ## Entity Connections If you want to share business objects across entities, you have to set up a connection between the source entity and the target entity first. **Note**: Entity connections are available only if you have the Multi-entity feature enabled. If you want to have access to the Multi-entity feature, submit a request at Zuora Global Support. ### Multi-entity: List connections - [GET /v1/entity-connections](https://developer.zuora.com/v1-api-reference/older-api/entity-connections/get_entityconnections.md): Retrieves information about certain connections for a specified entity. You can specify the entity to retrieve in the Zuora-Entity-Ids request header. You can retrieve: - Inbound connections - Outbound connections - Both inbound and outbound connections ### User Access Permission You can make the call as any entity user. ### Multi-entity: Initiate a connection request - [POST /v1/entity-connections](https://developer.zuora.com/v1-api-reference/older-api/entity-connections/post_entityconnections.md): Initiates a connection request from a source entity to a target entity. ### User Access Permission You must make the call as a source entity administrator. Also, this administrator must have permission to access to the target entity. ### Multi-entity: Accept a connection request - [PUT /v1/entity-connections/{connection-id}/accept](https://developer.zuora.com/v1-api-reference/older-api/entity-connections/put_entityconnectionsaccept.md): Accepts a connection request. ### User Access Permission You must make the call as an entity administrator to accept a connection request. ### Multi-entity: Deny a connection request - [PUT /v1/entity-connections/{connection-id}/deny](https://developer.zuora.com/v1-api-reference/older-api/entity-connections/put_entityconnectionsdeny.md): Denies a connection request. ### User Access Permission You must make the call as an entity administrator to deny a connection request. ### Multi-entity: Disconnect a connection - [PUT /v1/entity-connections/{connection-id}/disconnect](https://developer.zuora.com/v1-api-reference/older-api/entity-connections/put_entityconnectionsdisconnect.md): Disconnects an established connection. If you have shared objects from a global entity to a target entity, disconnecting the connection will break the mapping relationship between these entities and cannot be recovered later. ### User Access Permission You must make the call as an administrator of the target entity or source entity. ## Exports You can export items from Zuora to CSV or HTML files, such as large data sets, invoices, payments, and so on. Use the Export object and Export ZOQL queries to create an export file that you can download and use for charting, reporting, accounting, or for other business intelligence uses. When you export data from Zuora, each exported file is available for download for 7 days. Export objects older than 90 days are automatically deleted. ### CRUD: Create an export - [POST /v1/object/export](https://developer.zuora.com/v1-api-reference/older-api/exports/object_postexport.md): Use this operation to create a data source export. After you have created a data source export, use CRUD: Retrieve an export to check the status of the data source export and access the exported data. ### Limits Zuora system enforces the following limits on data source exports: * The maximum processing time per export is 3 hours. If an export is executed for longer than 3 hours, it will be killed automatically. * The maximum number of concurrent exports is 50 per tenant. Exports in Pending and Processing status are counted towards the concurrent export limit. Zuora system will reject the subsequent data source export requests once the concurrent export limit is reached. When you export data from Zuora, each exported file is available for download for 7 days. Data source exports (Export objects) older than 90 days are automatically deleted. Note: This operation supports the Export ZOQL query language. However, this operation does not support some data sources, objects, and fields in Export ZOQL queries. For full compatibility with Export ZOQL, Zuora recommends that you use the AQuA API instead of this operation. ### CRUD: Retrieve an export - [GET /v1/object/export/{id}](https://developer.zuora.com/v1-api-reference/older-api/exports/object_getexport.md): Use this operation to check the status of a data source export and access the exported data. When you export data from Zuora, each exported file is available for download for 7 days. Data source exports (Export objects) older than 90 days are automatically deleted. ## Features After you have created a feature, you can add features to the products and subscriptions to enhance your product offerings. To create features in the product catalog and use them in subscriptions and Zuora Quotes, you need to enable the following: - The Entitlements setting in your tenant. Access to the Entitlements feature requires a specific edition of Zuora. For more information, see Zuora Editions. - The Enable Feature Specification in Product and Subscriptions setting in the Billing Settings. ### CRUD: Create a feature - [POST /v1/object/feature](https://developer.zuora.com/v1-api-reference/older-api/features/object_postfeature.md) ### CRUD: Retrieve a feature - [GET /v1/object/feature/{id}](https://developer.zuora.com/v1-api-reference/older-api/features/object_getfeature.md) ### CRUD: Update a feature - [PUT /v1/object/feature/{id}](https://developer.zuora.com/v1-api-reference/older-api/features/object_putfeature.md) ### CRUD: Delete a feature - [DELETE /v1/object/feature/{id}](https://developer.zuora.com/v1-api-reference/older-api/features/object_deletefeature.md) ## HMAC Signatures A Hash-based Message Authentication Code (HMAC) signature is a form of a digital signature. HMAC signatures start with a secret key that is shared between the sender and the recipient. You can use the operation contained in this section to generate the unique signature and token values that are used to process CORS-enabled API calls. ### Generate an HMAC signature - [POST /v1/hmac-signatures](https://developer.zuora.com/v1-api-reference/older-api/hmac-signatures/post_hmacsignatures.md): This REST API reference describes how to return unique signature and token values that used to process a CORS enabled API call. ## Invoice Adjustments An invoice adjustment modifies an existing invoice. You use an invoice adjustment to change the entire invoice. For example, you can apply a late fee to the invoice balance. An invoice adjustment differs from an invoice item adjustment. An invoice item adjustment affects an individual charge or line item on an invoice. An invoice adjustment affects the invoice at the header-level. **Note**: Invoice Adjustment is deprecated on Production in WSDL version 64.0. Zuora recommends that you use the Invoice Item Adjustment to adjust invoices. If you have the Invoice Settlement feature enabled, this object is deprecated and only available for backward compatibility. ### CRUD: Create an invoice adjustment - [POST /v1/object/invoice-adjustment](https://developer.zuora.com/v1-api-reference/older-api/invoice-adjustments/object_postinvoiceadjustment.md) ### CRUD: Retrieve an invoice adjustment - [GET /v1/object/invoice-adjustment/{id}](https://developer.zuora.com/v1-api-reference/older-api/invoice-adjustments/object_getinvoiceadjustment.md) ### CRUD: Update an invoice adjustment - [PUT /v1/object/invoice-adjustment/{id}](https://developer.zuora.com/v1-api-reference/older-api/invoice-adjustments/object_putinvoiceadjustment.md) ### CRUD: Delete an invoice adjustment - [DELETE /v1/object/invoice-adjustment/{id}](https://developer.zuora.com/v1-api-reference/older-api/invoice-adjustments/object_deleteinvoiceadjustment.md) ## Invoice Item Adjustments Invoice item adjustments allow you to adjust the invoice details, including taxes at the charge level, and have those adjustments reported in the system under the same accounting code as the items that are being adjusted. **Note**: The Invoice Settlement feature is a replacement for Invoice Item Adjustments. We recommend that you enable Invoice Settlement to take advantage of the improved functionalities. If you have the Invoice Settlement feature enabled, the Invoice Item Adjustments feature is deprecated and invoice item adjustments are not presented in the UI. If you have to export data for invoice item adjustments, use Data Source, Data Query, or REST API. ### CRUD: Create an invoice item adjustment - [POST /v1/object/invoice-item-adjustment](https://developer.zuora.com/v1-api-reference/older-api/invoice-item-adjustments/object_postinvoiceitemadjustment.md) ### CRUD: Retrieve an invoice item adjustment - [GET /v1/object/invoice-item-adjustment/{id}](https://developer.zuora.com/v1-api-reference/older-api/invoice-item-adjustments/object_getinvoiceitemadjustment.md) ### CRUD: Update an invoice item adjustment - [PUT /v1/object/invoice-item-adjustment/{id}](https://developer.zuora.com/v1-api-reference/older-api/invoice-item-adjustments/object_putinvoiceitemadjustment.md) ### CRUD: Delete an invoice item adjustment - [DELETE /v1/object/invoice-item-adjustment/{id}](https://developer.zuora.com/v1-api-reference/older-api/invoice-item-adjustments/object_deleteinvoiceitemadjustment.md) ## Invoice Items Invoice items are the line items contained in the invoices that you send to your customers. For more information about invoices, see Invoices. ### CRUD: Retrieve an invoice item - [GET /v1/object/invoice-item/{id}](https://developer.zuora.com/v1-api-reference/older-api/invoice-items/object_getinvoiceitem.md) ## Invoice Payments Use invoice payments to tie a payment to an invoice and indicate how much of the payment was applied to the invoice. ### CRUD: Create an invoice payment - [POST /v1/object/invoice-payment](https://developer.zuora.com/v1-api-reference/older-api/invoice-payments/object_postinvoicepayment.md) ### CRUD: Retrieve an invoice payment - [GET /v1/object/invoice-payment/{id}](https://developer.zuora.com/v1-api-reference/older-api/invoice-payments/object_getinvoicepayment.md) ### CRUD: Update an invoice payment - [PUT /v1/object/invoice-payment/{id}](https://developer.zuora.com/v1-api-reference/older-api/invoice-payments/object_putinvoicepayment.md) ## Invoice Split Items Use invoice split items to split the original invoice into multiple invoices. ### CRUD: Retrieve an invoice split item - [GET /v1/object/invoice-split-item/{id}](https://developer.zuora.com/v1-api-reference/older-api/invoice-split-items/object_getinvoicesplititem.md) ## Invoice Splits Use invoice splits to hold two or more invoice split items. ### CRUD: Retrieve an invoice split - [GET /v1/object/invoice-split/{id}](https://developer.zuora.com/v1-api-reference/older-api/invoice-splits/object_getinvoicesplit.md) ## Invoices Invoices provides information about customers' accounts for invoices, for examples, dates, status, and amounts. For more information about invoices, see Invoice. ### CRUD: Update an invoice - [PUT /v1/object/invoice/{id}](https://developer.zuora.com/v1-api-reference/older-api/invoices/object_putinvoice.md) ### CRUD: Retrieve an invoice - [GET /v1/object/invoice/{id}](https://developer.zuora.com/v1-api-reference/older-api/invoices/object_getinvoice.md) ### CRUD: Delete an invoice - [DELETE /v1/object/invoice/{id}](https://developer.zuora.com/v1-api-reference/older-api/invoices/object_deleteinvoice.md) ## Orders Orders are contractual agreements between merchants and customers. For more information about Orders, see Orders. ### List subscription terms - [GET /v1/orders/term/{subscriptionNumber}](https://developer.zuora.com/v1-api-reference/older-api/orders/get_subscriptionterminfo.md): Note: This feature is only available if you have the Order Metrics feature enabled. As of Zuora Billing Release 284, Orders is generally available and the Order Metrics feature is no longer available as a standalone feature. If you are an existing Subscribe and Amend customer and want Order Metrics only, you must turn on Orders Harmonization. You can still keep the existing Subscribe and Amend API integrations to create and manage subscriptions. Retrieves the terms of the specified subscription. ### List order metrics for an evergreen subscription - [GET /v1/orders/{orderNumber}/evergreenMetrics/{subscriptionNumber}](https://developer.zuora.com/v1-api-reference/older-api/orders/get_ordermetricsforevergreensubscription.md): Note: This feature is only available if you have the Order Metrics feature enabled. As of Zuora Billing Release 284, Orders is generally available and the Order Metrics feature is no longer available as a standalone feature. If you are an existing Subscribe and Amend customer and want Order Metrics only, you must turn on Orders Harmonization. You can still keep the existing Subscribe and Amend API integrations to create and manage subscriptions. Note: As of Zuora Billing Release 306, Zuora has upgraded the methodologies for calculating metrics in Orders. The new methodologies are reflected in the following Order Delta Metrics objects. * Order Delta Mrr * Order Delta Tcv * Order Delta Tcb It is recommended that all customers use the new Order Delta Metrics. If you are an existing Order Metrics customer and want to migrate to Order Delta Metrics, submit a request at Zuora Global Support. Whereas new customers, and existing customers not currently on Order Metrics, will no longer have access to Order Metrics, existing customers currently using Order Metrics will continue to be supported. Note: As of Zuora Billing Release 306, any new customers who onboard on Orders or Orders Harmonization will no longer get this operation. Retrieves the metrics of an evergreen subscription in a specified order. ## Payment Gateway Transaction Logs You can use the [Retrieve a payment gateway transaction log](https://developer.zuora.com/api-references/older-api/operation/GET_PaymentGatewayTransactionLog/) operation to retrieve log data about all transactions processed through your setup payment gateways. ### Retrieve a payment gateway transaction log - [GET /v1/payment-gateway-transaction-log/{paymentOrRefundOrPaymentMethod-id}](https://developer.zuora.com/v1-api-reference/older-api/payment-gateway-transaction-logs/get_paymentgatewaytransactionlog.md): Retrieves transaction log information passed through your custom payment gateway. ## Payment Methods Payment methods represents payment method details associated with a customer account. ### Create a credit card payment method - [POST /v1/payment-methods/credit-cards](https://developer.zuora.com/v1-api-reference/older-api/payment-methods/post_paymentmethodscreditcard.md): Note: This legacy API operation is no longer under active development. For more features, it is strongly recommended to use the Create a payment method operation. You can create a credit card payment method for a customer account or an orphan credit card payment method that is not associated with any customer account. This API call is CORS Enabled. Use client-side JavaScript to invoke the call. If you use this operation to create credit card payment methods instead of using the iFrame of Hosted Payment Pages, you are subject to PCI-compliance audit requirements. ### Update a credit card payment method - [PUT /v1/payment-methods/credit-cards/{payment-method-id}](https://developer.zuora.com/v1-api-reference/older-api/payment-methods/put_paymentmethodscreditcard.md): Updates an existing credit card payment method. ### List all credit card payment methods of an account - [GET /v1/payment-methods/credit-cards/accounts/{account-key}](https://developer.zuora.com/v1-api-reference/older-api/payment-methods/get_paymentmethodscreditcard.md): This REST API reference describes how to retrieve all credit card information for the specified customer account. ### Notes The response includes details of credit or debit cards for the specified customer account. Card numbers are masked. For example: 1234 Though you can also send requests for bank transfer, ACH, or other supported payment methods, the response will not include effective details of these payment methods. ### CRUD: Create a payment method - [POST /v1/object/payment-method](https://developer.zuora.com/v1-api-reference/older-api/payment-methods/object_postpaymentmethod.md): Use this operation to create either a payment method associated with a specific customer account, or an orphan payment method that is not associated with any customer account. ### CRUD: Retrieve a payment method - [GET /v1/object/payment-method/{id}](https://developer.zuora.com/v1-api-reference/older-api/payment-methods/object_getpaymentmethod.md) ### CRUD: Update a payment method - [PUT /v1/object/payment-method/{id}](https://developer.zuora.com/v1-api-reference/older-api/payment-methods/object_putpaymentmethod.md): Updates a payment method. ### CRUD: Delete a payment method - [DELETE /v1/object/payment-method/{id}](https://developer.zuora.com/v1-api-reference/older-api/payment-methods/object_deletepaymentmethod.md) ## Payments Use payments to process payments, for example, automate recurring payments, manage overpayments, and create refunds. For more information about payments, see Payments. ### CRUD: Create a payment - [POST /v1/object/payment](https://developer.zuora.com/v1-api-reference/older-api/payments/object_postpayment.md): Creates a payment for one or multiple invoices. ### CRUD: Retrieve a payment - [GET /v1/object/payment/{id}](https://developer.zuora.com/v1-api-reference/older-api/payments/object_getpayment.md): Retrieves the information about one specific payment. ### CRUD: Update a payment - [PUT /v1/object/payment/{id}](https://developer.zuora.com/v1-api-reference/older-api/payments/object_putpayment.md): Updates a payment. ### CRUD: Delete a payment - [DELETE /v1/object/payment/{id}](https://developer.zuora.com/v1-api-reference/older-api/payments/object_deletepayment.md): Deletes a payment. Only payments with the Cancelled status can be deleted. ## Product Features You can add features to products through the Zuora UI. However, you can retrieve or delete product features through the UI or API. ### CRUD: Retrieve a product feature - [GET /v1/object/product-feature/{id}](https://developer.zuora.com/v1-api-reference/older-api/product-features/object_getproductfeature.md) ### CRUD: Delete a product feature - [DELETE /v1/object/product-feature/{id}](https://developer.zuora.com/v1-api-reference/older-api/product-features/object_deleteproductfeature.md) ## Quotes Document This section contains the [Generate a quote document](https://developer.zuora.com/api-references/older-api/operation/POST_QuotesDocument/) operation that should be only used from Zuora Quotes. This operation generates a quote document and returns the generated document URL. You can directly access the generated quote file through the returned URL. ### Generate a quote document - [POST /v1/quotes/document](https://developer.zuora.com/v1-api-reference/older-api/quotes-document/post_quotesdocument.md): The document call generates a quote document and returns the generated document URL. You can directly access the generated quote file through the returned URL. The document call should be only used from Zuora Quotes. ### File Size Limitation The maximum export file size is 2047MB. If you have large data requests that go over this limit, you will get the following 403 HTTP response code from Zuora: security:max-object-size>2047MB Submit a request at Zuora Global Support if you require additional assistance. We can work with you to determine if large file optimization is an option for you. ## Rate Plan Charge Tiers A rate plan charge tier is part of a subscription or an amendment to a subscription, and it comes from a product rate plan charge tier. A rate plan charge tier holds the prices for a rate plan charge. Each rate plan charge has at least one tier associated with it. Rate plan charge tiers are sometimes called subscription rate plan charge tiers to distinguish them from product rate plan charge tiers. Rate plan charge tiers that are part of an amendment are sometimes called amendment rate plan charge tiers for the same reason. However, the object name is RatePlanChargeTier, not SubscriptionRatePlanChargeTier nor AmendmentRatePlanChargeTier: these latter two names don't exist. ### CRUD: Retrieve a rate plan charge tier - [GET /v1/object/rate-plan-charge-tier/{id}](https://developer.zuora.com/v1-api-reference/older-api/rate-plan-charge-tiers/object_getrateplanchargetier.md) ## Rate Plan Charges A rate plan charge is part of a subscription or an amendment to a subscription, and it comes from a product rate plan charge. Like a product and its product rate plan charges, a subscription can have one or more rate plan charges. Rate plan charges represent the actual charges for the rate plans or services that you sell. Rate plan charges are sometimes called subscription rate plan charges to distinguish them from product rate plan charges. Rate plan charges that are part of an amendment are sometimes called amendment rate plan charges for the same reason. The object name is RatePlanCharge – not SubscriptionRatePlanCharge nor AmendmentRatePlanCharge. ### CRUD: Retrieve a rate plan charge - [GET /v1/object/rate-plan-charge/{id}](https://developer.zuora.com/v1-api-reference/older-api/rate-plan-charges/object_getrateplancharge.md) ### CRUD: Update a rate plan charge - [PUT /v1/object/rate-plan-charge/{id}](https://developer.zuora.com/v1-api-reference/older-api/rate-plan-charges/object_putrateplancharge.md) ## Rate Plans A rate plan is part of a subscription or an amendment to a subscription, and it comes from a product rate plan. Like a product and its product rate plans, a subscription can have one or more rate plans. Rate plans are sometimes called subscription rate plans. Rate plans that are part of an amendment are sometimes called amendment rate plans. Rate plans represent a price or a collection of prices for a service you sell. An individual rate plan contains all charges specific to a particular subscription. ### CRUD: Retrieve a rate plan - [GET /v1/object/rate-plan/{id}](https://developer.zuora.com/v1-api-reference/older-api/rate-plans/object_getrateplan.md) ## Refund Invoice Payments This section contains the [CRUD: Retrieve a refund invoice payment](https://developer.zuora.com/api-references/older-api/operation/Object_GETRefundInvoicePayment/) operation. You can use this operation to retrieve information from Refund Invoice Payment and associated invoices, payments, and accounts. ### CRUD: Retrieve a refund invoice payment - [GET /v1/object/refund-invoice-payment/{id}](https://developer.zuora.com/v1-api-reference/older-api/refund-invoice-payments/object_getrefundinvoicepayment.md) ## Refund Transaction Logs This section contains the [CRUD: Retrieve a refund transaction log](https://developer.zuora.com/api-references/older-api/operation/Object_GETRefundTransactionLog/) operation. This operation allows you to export a log of all transactions from Zuora to the gateway for the refund. ### CRUD: Retrieve a refund transaction log - [GET /v1/object/refund-transaction-log/{id}](https://developer.zuora.com/v1-api-reference/older-api/refund-transaction-logs/object_getrefundtransactionlog.md) ## Refunds Zuora allows you to issue and track refunds on payments. Similar to external payments, users can enter external refunds to track refunds that have been performed outside of Zuora Payments (for example, by issuing a check). In addition, you can make electronic refunds using our supported payment gateways, which will automatically refund money to the customer. ### CRUD: Create a refund - [POST /v1/object/refund](https://developer.zuora.com/v1-api-reference/older-api/refunds/object_postrefund.md): Creates a refund. If you have the Invoice Settlement feature enabled, you can use this operation to unapply the payment from an invoice or multiple invoices, and refund the payment. If the unapplied payment is left in the following scenarios, you have to reapply the unapplied payment to the original invoices: - An electronic refund in Processing status is handled to change to Error. An unapplied payment is left. - An electronic refund gets to Error, and payment reapplying fails due to the concurrent issue. - The refund canceling operation updates the status of a refund from Processed to Canceled. When it is successful, an unapplied payment is left. ### CRUD: Retrieve a refund - [GET /v1/object/refund/{id}](https://developer.zuora.com/v1-api-reference/older-api/refunds/object_getrefund.md) ### CRUD: Update a refund - [PUT /v1/object/refund/{id}](https://developer.zuora.com/v1-api-reference/older-api/refunds/object_putrefund.md) ### CRUD: Delete a refund - [DELETE /v1/object/refund/{id}](https://developer.zuora.com/v1-api-reference/older-api/refunds/object_deleterefund.md) ## Reporting The Zuora Reporting API enables you to access reports that you have created in the Zuora UI, manage report runs, and export the results of report runs. The endpoints of the Reporting API are the same as the [endpoints of Zuora REST API](https://developer.zuora.com/api-references/api/overview/#section/Introduction/Access-to-the-API). The following table provides some endpoints as reference: | Environment | API Endpoint | | ------------------------------------ | ----------------------------------------------------------- | | API Sandbox (US Cloud Data Center 1) | https://rest.sandbox.na.zuora.com | | Production (US Cloud Data Center 1) | https://rest.na.zuora.com | | API Sandbox (US Cloud Data Center 2) | https://rest.apisandbox.zuora.com | | Production (US Cloud Data Center 2) | https://rest.zuora.com | | API Sandbox (EU Data Center) | https://rest.sandbox.eu.zuora.com | | Production (EU Data Center) | https://rest.eu.zuora.com | | US Central Sandbox | https://rest.test.zuora.com | | EU Central Sandbox | https://rest.test.eu.zuora.com | | APAC Developer & Central Sandbox | https://rest.test.ap.zuora.com | | APAC Production | https://rest.ap.zuora.com | Historically, the endpoints of the Reporting API were different from the endpoints of the Zuora REST API. Note that you are still able to use the following endpoints, but it is unrecommended and you can only use username and password to authenticate to the Reporting API. We recommend you to use [OAuth](https://developer.zuora.com/rest-api/general-concepts/authentication/) to authenticate to the Reporting API. OAuth only works with new endpoints. The endpoints of the Reporting API were: | Environment | API Endpoint | | ------------------------------------ | ----------------------------------------------------------- | | API Sandbox (US Cloud Data Center 1) | https://zconnect.sandbox.na.zuora.com/api/rest/v1 | | Production (US Cloud Data Center 1) | https://zconnect.na.zuora.com/api/rest/v1 | | API Sandbox (US Cloud Data Center 2) | https://zconnectsandbox.zuora.com/api/rest/v1 | | Production (US Cloud Data Center 2) | https://zconnect.zuora.com/api/rest/v1 | | API Sandbox (EU Data Center) | https://zconnect.sandbox.eu.zuora.com/api/rest/v1 | | Production (EU Data Center) | https://zconnect.eu.zuora.com/api/rest/v1 | | US Central Sandbox | https://zconnect-services0001.test.zuora.com/api/rest/v1 | | EU Central Sandbox | https://zconnect-services0002.test.eu.zuora.com/api/rest/v1 | | APAC Developer & Central Sandbox | https://zconnect-services0003.test.ap.zuora.com | | APAC Production | http://zconnect-prod05.ap.zuora.com | ### Retrieve a report run - [GET /reporting/api/rest/v1/reportruns/{reportRunId}](https://developer.zuora.com/v1-api-reference/older-api/reporting/get_reportrun.md): Retrieves details of the specific report run. ### Cancel a report run - [DELETE /reporting/api/rest/v1/reportruns/{reportRunId}](https://developer.zuora.com/v1-api-reference/older-api/reporting/delete_reportrun.md): Stops the specified report run. ### Run a report - [POST /reporting/api/rest/v1/reports/{ReportId}/reportrun](https://developer.zuora.com/v1-api-reference/older-api/reporting/post_reportrun.md): Starts a new report run and returns the ID of the report run. ### Search reports by name - [GET /reporting/api/rest/v1/reports/search](https://developer.zuora.com/v1-api-reference/older-api/reporting/get_reportsbyname.md): Retrieves all reports that match a query based on the report name, description, or data source name. Reports are not required to have unique names or descriptions and so this search will typically return many report matches because of matches from multiple fields unless you specify a unique query keyword. Optionally you can specify sorting on either the name or the updated_on fields. The search is automatically limited to the first 50 results. If you want to query for the next 50, you have to set the searchStart parameter to 50 and submit another request to get the next 50 results. ### Retrieve the last completed report run - [GET /reporting/api/rest/v1/reports/{reportId}/reportruns/latest](https://developer.zuora.com/v1-api-reference/older-api/reporting/get_latestreportrun.md): Retieves the ID of the last completed run of a report by the current user in the last 60 days. ### Retrieve report data - [GET /reporting/api/rest/v1/reportruns/reportdata/{ReportRunId}](https://developer.zuora.com/v1-api-reference/older-api/reporting/get_reportdata.md): Returns the report run results for the specified report run. ### Export results of a report run - [GET /reporting/api/rest/v1/reportruns/export/{ReportRunId}](https://developer.zuora.com/v1-api-reference/older-api/reporting/get_exportreportrun.md): Retrieves report run results as comma separated values. ### Transfer report ownership - [POST /reporting/api/rest/v1/reports/transfer-ownership](https://developer.zuora.com/v1-api-reference/older-api/reporting/transferreportownership.md): Transfers ownership of one or more reports to a different user. You can transfer ownership using either reportNames or reportIds. Authorization requirement: The user who obtains the OAuth token must have the Zuora Reporting Administrator role. To get the userId of the new owner, navigate to: Administration Settings > Manage Users > Click the new owner name > In the URL, locate the id value: https://{zuora_endpoint}/apps/UserLogin.do?method=view&id=&... That id is the newOwnerUserId. For detailed usage examples including curl commands, see the Transfer Report Ownership Zuora Knowledge Center article. ## Revenue Events A revenue event is a record or audit trail about a change to a revenue schedule. When you manually distribute revenue schedule, if no change is made to the revenue schedule, no revenue events will not be created. A revenue event is comprised of: - **Date**: The date when the event occurred. - **Revenue Event Type**: The action or activity triggering the revenue event. - **Recognition Start** and **Recognition End**: The start and end dates for the revenue recognition period. - **Revenue Item**: The distribution of revenue (or adjustments) into accounting periods. ### Retrieve a revenue event - [GET /v1/revenue-events/{event-number}](https://developer.zuora.com/v1-api-reference/older-api/revenue-events/get_revenueeventdetails.md): This REST API reference describes how to get revenue event details by specifying the revenue event number. Request and response field descriptions and sample code are provided. ### List all revenue events of a revenue schedule - [GET /v1/revenue-events/revenue-schedules/{rs-number}](https://developer.zuora.com/v1-api-reference/older-api/revenue-events/get_revenueeventforrevenueschedule.md): This REST API reference describes how to get all revenue events in a revenue schedule by specifying the revenue schedule number. Request and response field descriptions and sample code are provided. ## Revenue Items Revenue Item is a component of a revenue event, representing the distribution of revenue (or adjustments) into accounting periods. ### List revenue items by charge revenue summary number - [GET /v1/revenue-items/charge-revenue-summaries/{crs-number}](https://developer.zuora.com/v1-api-reference/older-api/revenue-items/get_revenueitemsbychargerevenuesummarynumber.md): This REST API reference describes how to get the details for each revenue item in a charge revenue summary by specifying the charge revenue summary number. Request and response field descriptions and sample code are provided. ### List revenue items by revenue event number - [GET /v1/revenue-items/revenue-events/{event-number}](https://developer.zuora.com/v1-api-reference/older-api/revenue-items/get_revenueitemsbychargerevenueeventnumber.md): This REST API reference describes how to get the details of each revenue item in a revenue event by specifying the revenue event number. Request and response field descriptions and sample code are provided. ### Update custom fields on revenue items by revenue event number - [PUT /v1/revenue-items/revenue-events/{event-number}](https://developer.zuora.com/v1-api-reference/older-api/revenue-items/put_customfieldsonrevenueitemsbyrevenueevent.md): This REST API reference describes how to update custom fields on revenue items by specifying the revenue event number. Request and response field descriptions and sample code are provided. ### List all revenue items of a revenue schedule - [GET /v1/revenue-items/revenue-schedules/{rs-number}](https://developer.zuora.com/v1-api-reference/older-api/revenue-items/get_revenueitemsbyrevenueschedule.md): This REST API reference describes how to get the details for each revenue items in a revenue schedule by specifying the revenue schedule number. Request and response field descriptions and sample code are provided. ### Update custom fields on revenue items by revenue schedule number - [PUT /v1/revenue-items/revenue-schedules/{rs-number}](https://developer.zuora.com/v1-api-reference/older-api/revenue-items/put_customfieldsonrevenueitemsbyrevenueschedule.md): This REST API reference describes how to update custom fields on revenue Items by specifying the revenue schedule number. Request and response field descriptions and sample code are provided. ## Revenue Rules Revenue rules are instances of revenue rule models. These rules are associated with product rate plan charges. Rules help manage revenue recognition on subscription charges. ### Retrieve a revenue recognition rule by product rate plan charge ID - [GET /v1/revenue-recognition-rules/product-charges/{charge-key}](https://developer.zuora.com/v1-api-reference/older-api/revenue-rules/get_revenuerecrulebyproductrateplancharge.md): Note: This operation is only available if you have Invoice Settlement enabled. The Invoice Settlement feature is generally available as of Zuora Billing Release 296 (March 2021). This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you want to enable Invoice Settlement, see Invoice Settlement Enablement and Checklist Guide for more information. Retrieves the revenue recognition rule associated with a production rate plan charge by specifying the charge ID. ### Retrieve a revenue recognition rule by subscription charge ID - [GET /v1/revenue-recognition-rules/subscription-charges/{charge-key}](https://developer.zuora.com/v1-api-reference/older-api/revenue-rules/get_revenuerecrules.md): Retrieves the revenue recognition rule associated with a subscription charge by specifying the charge ID. Request and response field descriptions and sample code are provided. ### Retrieve a revenue automation start date - [GET /v1/settings/finance/revenue-automation-start-date](https://developer.zuora.com/v1-api-reference/older-api/revenue-rules/get_revenueautomationstartdate.md): Describes how to get the revenue automation start date. Request and response field descriptions and sample code are provided. ## Revenue Schedules A revenue schedule represents how revenue amounts from a single charge are distributed over time and recognized in accounting periods. Revenue schedules maintain consistency with the currency used. ### Create a revenue schedule for a credit memo item (manual distribution) - [POST /v1/revenue-schedules/credit-memo-items/{cmi-id}](https://developer.zuora.com/v1-api-reference/older-api/revenue-schedules/post_rsforcreditmemoitem_manualdistribution.md): Note: This operation is only available if you have Invoice Settlement enabled. The Invoice Settlement feature is generally available as of Zuora Billing Release 296 (March 2021). This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you want to enable Invoice Settlement, see Invoice Settlement Enablement and Checklist Guide for more information. Creates a revenue schedule for a credit memo item, and manually distribute the revenue. ### Retrieve a revenue schedule by credit memo item ID - [GET /v1/revenue-schedules/credit-memo-items/{cmi-id}](https://developer.zuora.com/v1-api-reference/older-api/revenue-schedules/get_rsbycreditmemoitem.md): Note: This operation is only available if you have Invoice Settlement enabled. The Invoice Settlement feature is generally available as of Zuora Billing Release 296 (March 2021). This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you want to enable Invoice Settlement, see Invoice Settlement Enablement and Checklist Guide for more information. Retrieves the details about a revenue schedule by specifying a valid credit memo item ID. ### Create a revenue schedule for a credit memo item (distribute by date range) - [POST /v1/revenue-schedules/credit-memo-items/{cmi-id}/distribute-revenue-with-date-range](https://developer.zuora.com/v1-api-reference/older-api/revenue-schedules/post_rsforcreditmemoitem_distributebydaterange.md): Note: This operation is only available if you have Invoice Settlement enabled. The Invoice Settlement feature is generally available as of Zuora Billing Release 296 (March 2021). This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you want to enable Invoice Settlement, see Invoice Settlement Enablement and Checklist Guide for more information. Creates a revenue schedule for a credit memo item, and automatically distribute the revenue by specifying the recognition start and end dates. ### Create a revenue schedule for a debit memo item (manual distribution) - [POST /v1/revenue-schedules/debit-memo-items/{dmi-id}](https://developer.zuora.com/v1-api-reference/older-api/revenue-schedules/post_rsfordebitmemoitem_manualdistribution.md): Note: This operation is only available if you have Invoice Settlement enabled. The Invoice Settlement feature is generally available as of Zuora Billing Release 296 (March 2021). This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you want to enable Invoice Settlement, see Invoice Settlement Enablement and Checklist Guide for more information. Creates a revenue schedule for a debit memo item, and manually distribute the revenue. ### Retrieve a revenue schedule by debit memo item ID - [GET /v1/revenue-schedules/debit-memo-items/{dmi-id}](https://developer.zuora.com/v1-api-reference/older-api/revenue-schedules/get_rsbydebitmemoitem.md): Note: This operation is only available if you have Invoice Settlement enabled. The Invoice Settlement feature is generally available as of Zuora Billing Release 296 (March 2021). This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you want to enable Invoice Settlement, see Invoice Settlement Enablement and Checklist Guide for more information. Retrieves the details about a revenue schedule by specifying a valid debit memo item ID. ### Create a revenue schedule for a debit memo item (distribute by date range) - [POST /v1/revenue-schedules/debit-memo-items/{dmi-id}/distribute-revenue-with-date-range](https://developer.zuora.com/v1-api-reference/older-api/revenue-schedules/post_rsfordebitmemoitem_distributebydaterange.md): Note: This operation is only available if you have Invoice Settlement enabled. The Invoice Settlement feature is generally available as of Zuora Billing Release 296 (March 2021). This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you want to enable Invoice Settlement, see Invoice Settlement Enablement and Checklist Guide for more information. Creates a revenue schedule for a debit memo item, and automatically distribute the revenue by specifying the recognition start and end dates. ### Retrieve a revenue schedule by invoice item adjustment key - [GET /v1/revenue-schedules/invoice-item-adjustments/{invoice-item-adj-key}](https://developer.zuora.com/v1-api-reference/older-api/revenue-schedules/get_rsbyinvoiceitemadjustment.md): Retrieves the details of a revenue schedule by specifying a valid invoice item adjustment identifier. Request and response field descriptions and sample code are provided. ### Create a revenue schedule for an invoice item adjustment (manual distribution) - [POST /v1/revenue-schedules/invoice-item-adjustments/{invoice-item-adj-key}](https://developer.zuora.com/v1-api-reference/older-api/revenue-schedules/post_rsforinvoiceitemadjustment_manualdistribution.md): Creates a revenue schedule for an Invoice Item Adjustment and manually distribute the revenue. ### Create a revenue schedule for an invoice item adjustment (distribute by date range) - [POST /v1/revenue-schedules/invoice-item-adjustments/{invoice-item-adj-key}/distribute-revenue-with-date-range](https://developer.zuora.com/v1-api-reference/older-api/revenue-schedules/post_rsforinvoiceitemadjustment_distributebydaterange.md): Creates a revenue schedule for an Invoice Item Adjustment and distribute the revenue by specifying the recognition start and end dates. ### Create a revenue schedule for an invoice item (manual distribution) - [POST /v1/revenue-schedules/invoice-items/{invoice-item-id}](https://developer.zuora.com/v1-api-reference/older-api/revenue-schedules/post_rsforinvoiceitem_manualdistribution.md): Creates a revenue schedule for an Invoice Item and manually distribute the revenue. ### Retrieve a revenue schedule by invoice item ID - [GET /v1/revenue-schedules/invoice-items/{invoice-item-id}](https://developer.zuora.com/v1-api-reference/older-api/revenue-schedules/get_rsbyinvoiceitem.md): Retrieves the details of a revenue schedule by specifying the invoice item ID. ### Create a revenue schedule for an invoice item (distribute by date range) - [POST /v1/revenue-schedules/invoice-items/{invoice-item-id}/distribute-revenue-with-date-range](https://developer.zuora.com/v1-api-reference/older-api/revenue-schedules/post_rsforinvoiceitem_distributebydaterange.md): Creates a revenue schedule for an Invoice Item and distribute the revenue by specifying the recognition start and end dates. ### List revenue schedules of a product charge by charge ID and account key - [GET /v1/revenue-schedules/product-charges/{charge-key}/{account-key}](https://developer.zuora.com/v1-api-reference/older-api/revenue-schedules/get_rsbyproductchargeandbillingaccount.md): Note: This operation is only available if you have Invoice Settlement enabled. The Invoice Settlement feature is generally available as of Zuora Billing Release 296 (March 2021). This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you want to enable Invoice Settlement, see Invoice Settlement Enablement and Checklist Guide for more information. Retrieves the details about all revenue schedules of a product rate plan charge by specifying the charge ID and billing account ID. ### List all details of a revenue schedule - [GET /v1/revenue-schedules/{rs-number}](https://developer.zuora.com/v1-api-reference/older-api/revenue-schedules/get_rs.md): Retrieves the details of a revenue schedule by specifying the revenue schedule number. Request and response field descriptions and sample code are provided. ### Delete a revenue schedule - [DELETE /v1/revenue-schedules/{rs-number}](https://developer.zuora.com/v1-api-reference/older-api/revenue-schedules/delete_rs.md): Deletes a revenue schedule by specifying its revenue schedule number ### Prerequisites You must have the Delete Custom Revenue Schedule permissions in Zuora Finance. The revenue schedule must not be associated with any invoice item, invoice item adjustment, or credit/debit memo item in Zuora Billing. ### Update a revenue schedule - [PUT /v1/revenue-schedules/{rs-number}/basic-information](https://developer.zuora.com/v1-api-reference/older-api/revenue-schedules/put_rsbasicinfo.md): Retrieves basic information of a revenue schedule by specifying the revenue schedule number. Request and response field descriptions and sample code are provided. ### Distribute revenue across accounting periods - [PUT /v1/revenue-schedules/{rs-number}/distribute-revenue-across-accounting-periods](https://developer.zuora.com/v1-api-reference/older-api/revenue-schedules/put_revenueacrossap.md): Distributes revenue by specifying the revenue schedule number. Request and response field descriptions and sample code are provided. ### Distribute revenue on a specific date - [PUT /v1/revenue-schedules/{rs-number}/distribute-revenue-on-specific-date](https://developer.zuora.com/v1-api-reference/older-api/revenue-schedules/put_revenuespecificdate.md): Distributes revenue on a specific recognition date. Request and response field descriptions and sample code are provided. ### Distribute revenue in a recognition period - [PUT /v1/revenue-schedules/{rs-number}/distribute-revenue-with-date-range](https://developer.zuora.com/v1-api-reference/older-api/revenue-schedules/put_revenuebyrecognitionstartandenddates.md): Distributes revenue by specifying the recognition start and end dates. Request and response field descriptions and sample code are provided. ### Create a revenue schedule by subscription charge key - [POST /v1/revenue-schedules/subscription-charges/{charge-key}](https://developer.zuora.com/v1-api-reference/older-api/revenue-schedules/post_rsforsubsccharge.md): Creates a revenue schedule by specifying the subscription charge. This method is for custom unlimited revenue recognition only. Note: You can create a maximum of 3,000 revenue schedules for a subscription charge. ### List revenue schedules by subscription charge key - [GET /v1/revenue-schedules/subscription-charges/{charge-key}](https://developer.zuora.com/v1-api-reference/older-api/revenue-schedules/get_rsforsubsccharge.md): Retrieves the revenue schedule details by specifying subscription charge ID. Request and response field descriptions and sample code are provided ## Subscription Product Features The Entitlements settings must be enabled to use this operation. Access to the Entitlements feature requires a specific edition of Zuora. See [Zuora Editions](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/C_Zuora_Editions) for details. ### CRUD: Retrieve a subscription product feature - [GET /v1/object/subscription-product-feature/{id}](https://developer.zuora.com/v1-api-reference/older-api/subscription-product-features/object_getsubscriptionproductfeature.md) ## Subscriptions A subscription is a product or service that has recurring charges, such as a monthly flat fee or charges based on usage. Subscriptions can also include one-time charges, such as activation fees. Every subscription must be associated with an account. At least one active account must exist before any subscriptions can be created. For more information, see Subscriptions. ### CRUD: Retrieve a subscription - [GET /v1/object/subscription/{id}](https://developer.zuora.com/v1-api-reference/older-api/subscriptions/object_getsubscription.md) ### CRUD: Update a subscription - [PUT /v1/object/subscription/{id}](https://developer.zuora.com/v1-api-reference/older-api/subscriptions/object_putsubscription.md) ### CRUD: Delete a subscription - [DELETE /v1/object/subscription/{id}](https://developer.zuora.com/v1-api-reference/older-api/subscriptions/object_deletesubscription.md) ## Taxation Items The TaxationItem object is used to add a tax amount to an invoice item. In the typical use case, the tax amount that you specify in the object is calculated by Z-Tax or a third-party tax engine such as Avalara or Connect tax engine. Changes that you make with this object affect the product charges in your product catalog, but not the charges in existing subscriptions. ### CRUD: Retrieve a taxation item - [GET /v1/object/taxation-item/{id}](https://developer.zuora.com/v1-api-reference/older-api/taxation-items/object_gettaxationitem.md) ### CRUD: Update a taxation item - [PUT /v1/object/taxation-item/{id}](https://developer.zuora.com/v1-api-reference/older-api/taxation-items/object_puttaxationitem.md) ### CRUD: Delete a taxation item - [DELETE /v1/object/taxation-item/{id}](https://developer.zuora.com/v1-api-reference/older-api/taxation-items/object_deletetaxationitem.md) ## Transactions You can view all transactions associated with an account, including: - [List all invoices for an account](https://developer.zuora.com/api-references/older-api/operation/GET_TransactionInvoice/) - [List all payments for an account](https://developer.zuora.com/api-references/older-api/operation/GET_TransactionPayment/) ### List all invoices for an account - [GET /v1/transactions/invoices/accounts/{account-key}](https://developer.zuora.com/v1-api-reference/older-api/transactions/get_transactioninvoice.md): Retrieves invoices for a specified account. Invoices are returned in reverse chronological order by updatedDate. ### List all payments for an account - [GET /v1/transactions/payments/accounts/{account-key}](https://developer.zuora.com/v1-api-reference/older-api/transactions/get_transactionpayment.md): Retrieves payments for a specified account. Payments are returned in reverse chronological order by updatedDate. ## Unit Of Measure A unit of measure (UOM) is the definable unit that you measure when determining charges. For example, if a customer's subscription rate plan includes 20 licenses, then 20 is the quantity and license is the unit that the quantity measures. You can customize the units of measure (UOM) your company uses to measure the use of your services; for example, minutes, people, seats, and licenses can all be units of measure. ### CRUD: Create a unit of measure - [POST /v1/object/unit-of-measure](https://developer.zuora.com/v1-api-reference/older-api/unit-of-measure/object_postunitofmeasure.md) ### CRUD: Retrieve a unit of measure - [GET /v1/object/unit-of-measure/{id}](https://developer.zuora.com/v1-api-reference/older-api/unit-of-measure/object_getunitofmeasure.md) ### CRUD: Update a unit of measure - [PUT /v1/object/unit-of-measure/{id}](https://developer.zuora.com/v1-api-reference/older-api/unit-of-measure/object_putunitofmeasure.md) ### CRUD: Delete a unit of measure - [DELETE /v1/object/unit-of-measure/{id}](https://developer.zuora.com/v1-api-reference/older-api/unit-of-measure/object_deleteunitofmeasure.md) ## Usage This section contains the legacy API operations for Usage. For the "Retrieve a usage record" operation, we recommend that you use the following Object Query operations instead: - [List usage records](https://developer.zuora.com/v1-api-reference/api/operation/queryUsages/) - [Retrieve a usage record](https://developer.zuora.com/v1-api-reference/api/operation/queryUsageByKey/) ### Retrieve a usage record - [GET /v1/usage/accounts/{account-key}](https://developer.zuora.com/v1-api-reference/older-api/usage/get_usage.md): Describes how to retrieve usage details for an account. Usage data is returned in reverse chronological order. ## Users You can use the Users operations only if you have the Multi-entity feature enabled. For detailed information about the Multi-entity feature, see Multi-entity. ### Multi-entity: Send user access requests - [PUT /v1/users/{username}/request-access](https://developer.zuora.com/v1-api-reference/older-api/users/put_senduseraccessrequests.md): Sends access requests to the entities that a user wants to access. ### User Access Permission You must make the call as an administrator of the entity, in which the request user is created. Also, this administrator must have the permission to access the entities that the request user wants to access. ### Multi-entity: Accept user access - [PUT /v1/users/{username}/accept-access](https://developer.zuora.com/v1-api-reference/older-api/users/put_acceptuseraccess.md): Accepts user access to an entity. ### User Access Permission You must make the calls as an administrator of the entity that you want to accept the user access to. ### Multi-entity: Deny user access - [PUT /v1/users/{username}/deny-access](https://developer.zuora.com/v1-api-reference/older-api/users/put_denyuseraccess.md): Denies a user access to an entity. ### User Access Permission You must make the calls as an administrator of the entity that you want to deny the user access to. ### Multi-entity: List all entities that a user can access - [GET /v1/users/{username}/accessible-entities](https://developer.zuora.com/v1-api-reference/older-api/users/get_entitiesuseraccessible.md): Retrieves detailed information about all the entities that a user has permission to access. ### User Access Permission You can make the call as any entity user.