swagger: '2.0' info: version: '2023-12-15' title: API Reference Accounting Codes Custom Object Definitions API description: "\n\n# Introduction\n\nWelcome to the REST API reference for the Zuora Billing, Payments, and Central Platform!\n\nTo learn about the common use cases of Zuora REST APIs, check out the [REST API Tutorials](/rest-api/api-guides/overview/).\n\nIn addition to Zuora API Reference, we also provide API references for other Zuora products:\n\n * [Revenue API Reference](/api-references/revenue/overview/)\n * [Collections API Reference](/api-references/collections/overview/)\n \nThe Zuora REST API provides a broad set of operations and resources that:\n\n * Enable Web Storefront integration from your website.\n * Support self-service subscriber sign-ups and account management.\n * Process revenue schedules through custom revenue rule models.\n * Enable manipulation of most objects in the Zuora Billing Object Model.\n\nWant to share your opinion on how our API works for you? Tell us how you feel about using our API and what we can do to make it better.\n\nSome of our older APIs are no longer recommended but still available, not affecting any existing integration. To find related API documentation, see [Older API Reference](/api-references/older-api/overview/).\n\n\n## Access to the API\n\nIf you have a Zuora tenant, you can access the Zuora REST API via one of the following endpoints:\n\n| Tenant | Base URL for REST Endpoints |\n|-------------------------|-------------------------|\n|US Cloud 1 Production | https://rest.na.zuora.com |\n|US Cloud 1 API Sandbox | https://rest.sandbox.na.zuora.com |\n|US Cloud 2 Production | https://rest.zuora.com |\n|US Cloud 2 API Sandbox | https://rest.apisandbox.zuora.com|\n|US Central Sandbox | https://rest.test.zuora.com | \n|US Performance Test | https://rest.pt1.zuora.com |\n|US Production Copy | Submit a request at Zuora Global Support to enable the Zuora REST API in your tenant and obtain the base URL for REST endpoints. See [REST endpoint base URL of Production Copy (Service) Environment for existing and new customers](https://community.zuora.com/t5/API/REST-endpoint-base-URL-of-Production-Copy-Service-Environment/td-p/29611) for more information. |\n|EU Production | https://rest.eu.zuora.com |\n|EU API Sandbox | https://rest.sandbox.eu.zuora.com |\n|EU Central Sandbox | https://rest.test.eu.zuora.com |\n\nThe Production endpoint provides access to your live user data. Sandbox tenants are a good place to test code without affecting real-world data. If you would like Zuora to provision a Sandbox tenant for you, contact your Zuora representative for assistance.\n\n\nIf you do not have a Zuora tenant, go to https://www.zuora.com/resource/zuora-test-drive and sign up for a Production Test Drive tenant. The tenant comes with seed data, including a sample product catalog.\n\n\n# Error Handling\n\nIf a request to Zuora Billing REST API with an endpoint starting with `/v1` (except [Actions](/v1-api-reference/api/Actions) and CRUD operations) fails, the response will contain an eight-digit error code with a corresponding error message to indicate the details of the error.\n\nThe following code snippet is a sample error response that contains an error code and message pair:\n\n```\n {\n \"success\": false,\n \"processId\": \"CBCFED6580B4E076\",\n \"reasons\": [\n {\n \"code\": 53100320,\n \"message\": \"'termType' value should be one of: TERMED, EVERGREEN\"\n }\n ]\n }\n```\nThe `success` field indicates whether the API request has succeeded. The `processId` field is a Zuora internal ID that you can provide to Zuora Global Support for troubleshooting purposes.\n\nThe `reasons` field contains the actual error code and message pair. The error code begins with `5` or `6` means that you encountered a certain issue that is specific to a REST API resource in Zuora Billing, Payments, and Central Platform. For example, `53100320` indicates that an invalid value is specified for the `termType` field of the `subscription` object.\n\nThe error code beginning with `9` usually indicates that an authentication-related issue occurred, and it can also indicate other unexpected errors depending on different cases. For example, `90000011` indicates that an invalid credential is provided in the request header. \n\nWhen troubleshooting the error, you can divide the error code into two components: REST API resource code and error category code. See the following Zuora error code sample:\n\n\"Zuora\n\n\n**Note:** Zuora determines resource codes based on the request payload. Therefore, if GET and DELETE requests that do not contain payloads fail, you will get `500000` as the resource code, which indicates an unknown object and an unknown field. \nThe error category code of these requests is valid and follows the rules described in the [Error Category Codes](/api-references/api/overview/#section/Error-Handling/Error-Category-Codes) section. \nIn such case, you can refer to the returned error message to troubleshoot.\n\n\n## REST API Resource Codes\n\nThe 6-digit resource code indicates the REST API resource, typically a field of a Zuora object, on which the issue occurs. In the preceding example, `531003` refers to the `termType` field of the `subscription` object. \n\nThe value range for all REST API resource codes is from `500000` to `679999`. See Resource Codes in the Knowledge Center for a full list of resource codes.\n\n## Error Category Codes\n\nThe 2-digit error category code identifies the type of error, for example, resource not found or missing required field. \n\nThe following table describes all error categories and the corresponding resolution:\n\n| Code | Error category | Description | Resolution |\n|:--------|:--------|:--------|:--------|\n| 10 | Permission or access denied | The request cannot be processed because a certain tenant or user permission is missing. | Check the missing tenant or user permission in the response message and contact Zuora Global Support for enablement. |\n| 11 | Authentication failed | Authentication fails due to invalid API authentication credentials. | Ensure that a valid API credential is specified. |\n| 20 | Invalid format or value | The request cannot be processed due to an invalid field format or value. | Check the invalid field in the error message, and ensure that the format and value of all fields you passed in are valid. |\n| 21 | Unknown field in request | The request cannot be processed because an unknown field exists in the request body. | Check the unknown field name in the response message, and ensure that you do not include any unknown field in the request body. |\n| 22 | Missing required field | The request cannot be processed because a required field in the request body is missing. | Check the missing field name in the response message, and ensure that you include all required fields in the request body. |\n| 23 | Missing required parameter | The request cannot be processed because a required query parameter is missing. | Check the missing parameter name in the response message, and ensure that you include the parameter in the query. |\n| 30 | Rule restriction | The request cannot be processed due to the violation of a Zuora business rule. | Check the response message and ensure that the API request meets the specified business rules. |\n| 40 | Not found | The specified resource cannot be found. | Check the response message and ensure that the specified resource exists in your Zuora tenant. |\n| 45 | Unsupported request | The requested endpoint does not support the specified HTTP method. | Check your request and ensure that the endpoint and method matches. |\n| 50 | Locking contention | This request cannot be processed because the objects this request is trying to modify are being modified by another API request, UI operation, or batch job process. |

Resubmit the request first to have another try.

If this error still occurs, contact Zuora Global Support with the returned `Zuora-Request-Id` value in the response header for assistance.

|\n| 60 | Internal error | The server encounters an internal error. | Contact Zuora Global Support with the returned `Zuora-Request-Id` value in the response header for assistance. |\n| 61 | Temporary error | A temporary error occurs during request processing, for example, a database communication error. |

Resubmit the request first to have another try.

If this error still occurs, contact Zuora Global Support with the returned `Zuora-Request-Id` value in the response header for assistance.

|\n| 70 | Request exceeded limit | The total number of concurrent requests exceeds the limit allowed by the system. |

Resubmit the request after the number of seconds specified by the `Retry-After` value in the response header.

Check [Concurrent request limits](/rest-api/general-concepts/rate-concurrency-limits/) for details about Zuora’s concurrent request limit policy.

|\n| 90 | Malformed request | The request cannot be processed due to JSON syntax errors. | Check the syntax error in the JSON request body and ensure that the request is in the correct JSON format. |\n| 99 | Integration error | The server encounters an error when communicating with an external system, for example, payment gateway, tax engine provider. | Check the response message and take action accordingly. |\n\n\n# API Versions\n\nThe Zuora REST API are version controlled. Versioning ensures that Zuora REST API changes are backward compatible. Zuora uses a major and minor version nomenclature to manage changes. By specifying a version in a REST request, you can get expected responses regardless of future changes to the API.\n\n## Major Version\n\nThe major version number of the REST API appears in the REST URL. In this API reference, only the **v1** major version is available. For example, `POST https://rest.zuora.com/v1/subscriptions`.\n\n## Minor Version\n\nZuora uses minor versions for the REST API to control small changes. For example, a field in a REST method is deprecated and a new field is used to replace it. \n\nSome fields in the REST methods are supported as of minor versions. If a field is not noted with a minor version, this field is available for all minor versions. If a field is noted with a minor version, this field is in version control. You must specify the supported minor version in the request header to process without an error. \n\nIf a field is in version control, it is either with a minimum minor version or a maximum minor version, or both of them. You can only use this field with the minor version between the minimum and the maximum minor versions. For example, the `invoiceCollect` field in the POST Subscription method is in version control and its maximum minor version is 189.0. You can only use this field with the minor version 189.0 or earlier.\n\nIf you specify a version number in the request header that is not supported, Zuora will use the minimum minor version of the REST API. In our REST API documentation, if a field or feature requires a minor version number, we note that in the field description.\n\nYou only need to specify the version number when you use the fields require a minor version. To specify the minor version, set the `zuora-version` parameter to the minor version number in the request header for the request call. For example, the `collect` field is in 196.0 minor version. If you want to use this field for the POST Subscription method, set the `zuora-version` parameter to `196.0` in the request header. The `zuora-version` parameter is case sensitive.\n\nFor all the REST API fields, by default, if the minor version is not specified in the request header, Zuora will use the minimum minor version of the REST API to avoid breaking your integration. \n\n### Minor Version History\n\nThe supported minor versions are not consecutive. \nYou can use the following versions to override the default version (`186.0`):\n - 187.0\n - 188.0\n - 189.0\n - 196.0\n - 206.0\n - 207.0\n - 211.0\n - 214.0\n - 215.0\n - 216.0\n - 223.0\n - 224.0\n - 230.0\n - 239.0\n - 256.0\n - 257.0\n - 309.0\n - 314.0\n - 315.0\n - 329.0\n - 330.0\n - 336.0\n - 337.0\n - 338.0\n - 341.0\n\nIf you set the `zuora-version` header to a version excluded from the preceding list, the corresponding API request is processed as you use the default version, `186.0`.\n\nThe following table lists the supported versions and the fields that have a Zuora REST API minor version.\n\n| Fields | Minor Version | REST Methods | Description |\n|:--------|:--------|:--------|:--------|\n| invoiceCollect | 189.0 and earlier | [Create Subscription](/v1-api-reference/api/subscriptions/post_subscription \"Create Subscription\"); [Update Subscription](/v1-api-reference/api/subscriptions/put_subscription \"Update Subscription\"); [Renew Subscription](/v1-api-reference/api/subscriptions/put_renewsubscription \"Renew Subscription\"); [Cancel Subscription](/v1-api-reference/api/subscriptions/put_cancelsubscription \"Cancel Subscription\"); [Suspend Subscription](/v1-api-reference/api/subscriptions/put_suspendsubscription/ \"Suspend Subscription\"); [Resume Subscription](/v1-api-reference/api/subscriptions/put_resumesubscription/ \"Resume Subscription\"); [Create Account](/v1-api-reference/api/accounts/post_account \"Create Account\")|Generates an invoice and collects a payment for a subscription. |\n| collect | 196.0 and later | [Create Subscription](/v1-api-reference/api/subscriptions/post_subscription \"Create Subscription\"); [Update Subscription](/v1-api-reference/api/subscriptions/put_subscription \"Update Subscription\"); [Renew Subscription](/v1-api-reference/api/subscriptions/put_renewsubscription \"Renew Subscription\"); [Cancel Subscription](/v1-api-reference/api/subscriptions/put_cancelsubscription \"Cancel Subscription\"); [Suspend Subscription](/v1-api-reference/api/subscriptions/put_suspendsubscription/ \"Suspend Subscription\"); [Resume Subscription](/v1-api-reference/api/subscriptions/put_resumesubscription/ \"Resume Subscription\"); [Create Account](/v1-api-reference/api/accounts/post_account \"Create Account\")|Collects an automatic payment for a subscription. |\n| invoice | 196.0 and 207.0| [Create Subscription](/v1-api-reference/api/subscriptions/post_subscription \"Create Subscription\"); [Update Subscription](/v1-api-reference/api/subscriptions/put_subscription \"Update Subscription\"); [Renew Subscription](/v1-api-reference/api/subscriptions/put_renewsubscription \"Renew Subscription\"); [Cancel Subscription](/v1-api-reference/api/subscriptions/put_cancelsubscription \"Cancel Subscription\"); [Suspend Subscription](/v1-api-reference/api/subscriptions/put_suspendsubscription/ \"Suspend Subscription\"); [Resume Subscription](/v1-api-reference/api/subscriptions/put_resumesubscription/ \"Resume Subscription\"); [Create Account](/v1-api-reference/api/accounts/post_account \"Create Account\")|Generates an invoice for a subscription. |\n| invoiceTargetDate | 206.0 and earlier | [Preview Subscription](/api-references/api/operation/POST_PreviewSubscription \"Preview Subscription\") |Date through which charges are calculated on the invoice, as `yyyy-mm-dd`. |\n| invoiceTargetDate | 207.0 and earlier | [Create Subscription](/v1-api-reference/api/subscriptions/post_subscription \"Create Subscription\"); [Update Subscription](/v1-api-reference/api/subscriptions/put_subscription \"Update Subscription\"); [Renew Subscription](/v1-api-reference/api/subscriptions/put_renewsubscription \"Renew Subscription\"); [Cancel Subscription](/v1-api-reference/api/subscriptions/put_cancelsubscription \"Cancel Subscription\"); [Suspend Subscription](/v1-api-reference/api/subscriptions/put_suspendsubscription/ \"Suspend Subscription\"); [Resume Subscription](/v1-api-reference/api/subscriptions/put_resumesubscription/ \"Resume Subscription\"); [Create Account](/v1-api-reference/api/accounts/post_account \"Create Account\")|Date through which charges are calculated on the invoice, as `yyyy-mm-dd`. |\n| targetDate | 207.0 and later | [Preview Subscription](/api-references/api/operation/POST_PreviewSubscription \"Preview Subscription\") |Date through which charges are calculated on the invoice, as `yyyy-mm-dd`. |\n| targetDate | 211.0 and later | [Create Subscription](/v1-api-reference/api/subscriptions/post_subscription \"Create Subscription\"); [Update Subscription](/v1-api-reference/api/subscriptions/put_subscription \"Update Subscription\"); [Renew Subscription](/v1-api-reference/api/subscriptions/put_renewsubscription \"Renew Subscription\"); [Cancel Subscription](/v1-api-reference/api/subscriptions/put_cancelsubscription \"Cancel Subscription\"); [Suspend Subscription](/v1-api-reference/api/subscriptions/put_suspendsubscription/ \"Suspend Subscription\"); [Resume Subscription](/v1-api-reference/api/subscriptions/put_resumesubscription/ \"Resume Subscription\"); [Create Account](/v1-api-reference/api/accounts/post_account \"Create Account\")|Date through which charges are calculated on the invoice, as `yyyy-mm-dd`. |\n| includeExisting DraftInvoiceItems | 206.0 and earlier| [Preview Subscription](/api-references/api/operation/POST_PreviewSubscription \"Preview Subscription\"); [Update Subscription](/v1-api-reference/api/subscriptions/put_subscription \"Update Subscription\") | Specifies whether to include draft invoice items in subscription previews. Specify it to be `true` (default) to include draft invoice items in the preview result. Specify it to be `false` to excludes draft invoice items in the preview result. |\n| includeExisting DraftDocItems | 207.0 and later | [Preview Subscription](/api-references/api/operation/POST_PreviewSubscription \"Preview Subscription\"); [Update Subscription](/v1-api-reference/api/subscriptions/put_subscription \"Update Subscription\") | Specifies whether to include draft invoice items in subscription previews. Specify it to be `true` (default) to include draft invoice items in the preview result. Specify it to be `false` to excludes draft invoice items in the preview result. |\n| previewType | 206.0 and earlier| [Preview Subscription](/api-references/api/operation/POST_PreviewSubscription \"Preview Subscription\"); [Update Subscription](/v1-api-reference/api/subscriptions/put_subscription \"Update Subscription\") | The type of preview you will receive. The possible values are `InvoiceItem`(default), `ChargeMetrics`, and `InvoiceItemChargeMetrics`. |\n| previewType | 207.0 and later | [Preview Subscription](/api-references/api/operation/POST_PreviewSubscription \"Preview Subscription\"); [Update Subscription](/v1-api-reference/api/subscriptions/put_subscription \"Update Subscription\") | The type of preview you will receive. The possible values are `LegalDoc`(default), `ChargeMetrics`, and `LegalDocChargeMetrics`. |\n| runBilling | 211.0 and later | [Create Subscription](/v1-api-reference/api/subscriptions/post_subscription \"Create Subscription\"); [Update Subscription](/v1-api-reference/api/subscriptions/put_subscription \"Update Subscription\"); [Renew Subscription](/v1-api-reference/api/subscriptions/put_renewsubscription \"Renew Subscription\"); [Cancel Subscription](/v1-api-reference/api/subscriptions/put_cancelsubscription \"Cancel Subscription\"); [Suspend Subscription](/v1-api-reference/api/subscriptions/put_suspendsubscription/ \"Suspend Subscription\"); [Resume Subscription](/v1-api-reference/api/subscriptions/put_resumesubscription/ \"Resume Subscription\"); [Create Account](/v1-api-reference/api/accounts/post_account \"Create Account\")|Generates an invoice or credit memo for a subscription. **Note:** Credit memos are only available if you have the Invoice Settlement feature enabled. |\n| invoiceDate | 214.0 and earlier | [Invoice and Collect](/api-references/api/operation/POST_TransactionInvoicePayment \"Invoice and Collect\") |Date that should appear on the invoice being generated, as `yyyy-mm-dd`. |\n| invoiceTargetDate | 214.0 and earlier | [Invoice and Collect](/api-references/api/operation/POST_TransactionInvoicePayment \"Invoice and Collect\") |Date through which to calculate charges on this account if an invoice is generated, as `yyyy-mm-dd`. |\n| documentDate | 215.0 and later | [Invoice and Collect](/api-references/api/operation/POST_TransactionInvoicePayment \"Invoice and Collect\") |Date that should appear on the invoice and credit memo being generated, as `yyyy-mm-dd`. |\n| targetDate | 215.0 and later | [Invoice and Collect](/api-references/api/operation/POST_TransactionInvoicePayment \"Invoice and Collect\") |Date through which to calculate charges on this account if an invoice or a credit memo is generated, as `yyyy-mm-dd`. |\n| memoItemAmount | 223.0 and earlier | [Create credit memo from charge](/api-references/api/operation/POST_CreditMemoFromPrpc \"Create credit memo from charge\"); [Create debit memo from charge](/api-references/api/operation/POST_DebitMemoFromPrpc \"Create debit memo from charge\") | Amount of the memo item. |\n| amount | 224.0 and later | [Create credit memo from charge](/api-references/api/operation/POST_CreditMemoFromPrpc \"Create credit memo from charge\"); [Create debit memo from charge](/api-references/api/operation/POST_DebitMemoFromPrpc \"Create debit memo from charge\") | Amount of the memo item. |\n| subscriptionNumbers | 222.4 and earlier | [Create order](/api-references/api/operation/POST_Order \"Create order\") | Container for the subscription numbers of the subscriptions in an order. |\n| subscriptions | 223.0 and later | [Create order](/api-references/api/operation/POST_Order \"Create order\") | Container for the subscription numbers and statuses in an order. |\n| creditTaxItems | 238.0 and earlier | [Get credit memo items](/api-references/api/operation/GET_CreditMemoItems \"Get credit memo items\"); [Get credit memo item](/api-references/api/operation/GET_CreditMemoItem \"Get credit memo item\") | Container for the taxation items of the credit memo item. |\n| taxItems | 238.0 and earlier | [Get debit memo items](/api-references/api/operation/GET_DebitMemoItems \"Get debit memo items\"); [Get debit memo item](/api-references/api/operation/GET_DebitMemoItem \"Get debit memo item\") | Container for the taxation items of the debit memo item. |\n| taxationItems | 239.0 and later | [Get credit memo items](/api-references/api/operation/GET_CreditMemoItems \"Get credit memo items\"); [Get credit memo item](/api-references/api/operation/GET_CreditMemoItem \"Get credit memo item\"); [Get debit memo items](/api-references/api/operation/GET_DebitMemoItems \"Get debit memo items\"); [Get debit memo item](/api-references/api/operation/GET_DebitMemoItem \"Get debit memo item\") | Container for the taxation items of the memo item. |\n| chargeId | 256.0 and earlier | [Create credit memo from charge](/api-references/api/operation/POST_CreditMemoFromPrpc \"Create credit memo from charge\"); [Create debit memo from charge](/api-references/api/operation/POST_DebitMemoFromPrpc \"Create debit memo from charge\") | ID of the product rate plan charge that the memo is created from. |\n| productRatePlanChargeId | 257.0 and later | [Create credit memo from charge](/api-references/api/operation/POST_CreditMemoFromPrpc \"Create credit memo from charge\"); [Create debit memo from charge](/api-references/api/operation/POST_DebitMemoFromPrpc \"Create debit memo from charge\") | ID of the product rate plan charge that the memo is created from. |\n| comment | 256.0 and earlier | [Create credit memo from charge](/api-references/api/operation/POST_CreditMemoFromPrpc \"Create credit memo from charge\"); [Create debit memo from charge](/api-references/api/operation/POST_DebitMemoFromPrpc \"Create debit memo from charge\"); [Create credit memo from invoice](/api-references/api/operation/POST_CreditMemoFromInvoice \"Create credit memo from invoice\"); [Create debit memo from invoice](/api-references/api/operation/POST_DebitMemoFromInvoice \"Create debit memo from invoice\"); [Get credit memo items](/api-references/api/operation/GET_CreditMemoItems \"Get credit memo items\"); [Get credit memo item](/api-references/api/operation/GET_CreditMemoItem \"Get credit memo item\"); [Get debit memo items](/api-references/api/operation/GET_DebitMemoItems \"Get debit memo items\"); [Get debit memo item](/api-references/api/operation/GET_DebitMemoItem \"Get debit memo item\") | Comments about the product rate plan charge, invoice item, or memo item. |\n| description | 257.0 and later | [Create credit memo from charge](/api-references/api/operation/POST_CreditMemoFromPrpc \"Create credit memo from charge\"); [Create debit memo from charge](/api-references/api/operation/POST_DebitMemoFromPrpc \"Create debit memo from charge\"); [Create credit memo from invoice](/api-references/api/operation/POST_CreditMemoFromInvoice \"Create credit memo from invoice\"); [Create debit memo from invoice](/api-references/api/operation/POST_DebitMemoFromInvoice \"Create debit memo from invoice\"); [Get credit memo items](/api-references/api/operation/GET_CreditMemoItems \"Get credit memo items\"); [Get credit memo item](/api-references/api/operation/GET_CreditMemoItem \"Get credit memo item\"); [Get debit memo items](/api-references/api/operation/GET_DebitMemoItems \"Get debit memo items\"); [Get debit memo item](/api-references/api/operation/GET_DebitMemoItem \"Get debit memo item\") | Description of the the product rate plan charge, invoice item, or memo item. |\n| taxationItems | 309.0 and later | [Preview an order](/api-references/api/operation/POST_PreviewOrder \"Preview an order\") | List of taxation items for an invoice item or a credit memo item. |\n| batch | 309.0 and earlier | [Create a billing preview run](/api-references/api/operation/POST_BillingPreviewRun \"Create a billing preview run\") | The customer batches to include in the billing preview run. | \n| batches | 314.0 and later | [Create a billing preview run](/api-references/api/operation/POST_BillingPreviewRun \"Create a billing preview run\") | The customer batches to include in the billing preview run. |\n| taxationItems | 315.0 and later | [Preview a subscription](/api-references/api/operation/POST_PreviewSubscription \"Preview a subscription\"); [Update a subscription](/v1-api-reference/api/subscriptions/put_subscription \"Update a subscription\")| List of taxation items for an invoice item or a credit memo item. |\n| billingDocument | 330.0 and later | [Create a payment schedule](/api-references/api/operation/POST_PaymentSchedule \"Create a payment schedule\"); [Create multiple payment schedules at once](/api-references/api/operation/POST_PaymentSchedules \"Create multiple payment schedules at once\")| The billing document with which the payment schedule item is associated. |\n| paymentId | 336.0 and earlier | [Add payment schedule items to a custom payment schedule](/api-references/api/operation/POST_AddItemsToCustomPaymentSchedule/ \"Add payment schedule items to a custom payment schedule\"); [Update a payment schedule](/api-references/api/operation/PUT_PaymentSchedule/ \"Update a payment schedule\"); [Update a payment schedule item](/api-references/api/operation/PUT_PaymentScheduleItem/ \"Update a payment schedule item\"); [Preview the result of payment schedule update](/api-references/api/operation/PUT_PaymentScheduleUpdatePreview/ \"Preview the result of payment schedule update\"); [Retrieve a payment schedule](/api-references/api/operation/GET_PaymentSchedule/ \"Retrieve a payment schedule\"); [Retrieve a payment schedule item](/api-references/api/operation/GET_PaymentScheduleItem/ \"Retrieve a payment schedule item\"); [List payment schedules by customer account](/api-references/api/operation/GET_PaymentSchedules/ \"List payment schedules by customer account\"); [Cancel a payment schedule](/api-references/api/operation/PUT_CancelPaymentSchedule/ \"Cancel a payment schedule\"); [Cancel a payment schedule item](/api-references/api/operation/PUT_CancelPaymentScheduleItem/ \"Cancel a payment schedule item\");[Skip a payment schedule item](/api-references/api/operation/PUT_SkipPaymentScheduleItem/ \"Skip a payment schedule item\");[Retry failed payment schedule items](/api-references/api/operation/POST_RetryPaymentScheduleItem/ \"Retry failed payment schedule items\") | ID of the payment to be linked to the payment schedule item.\n\n\n#### Version 207.0 and Later\n\nThe response structure of the [Preview Subscription](/api-references/api/operation/POST_PreviewSubscription) and [Update Subscription](/v1-api-reference/api/subscriptions/put_subscription \"Update Subscription\") methods are changed. The following invoice related response fields are moved to the invoice container:\n\n * amount\n * amountWithoutTax\n * taxAmount\n * invoiceItems\n * targetDate\n * chargeMetrics\n\n\n# API Names for Zuora Objects\n\nFor information about the Zuora business object model, see [Zuora Business Object Model](/rest-api/general-concepts/object-model/).\n\nYou can use the [Describe](/api-references/api/operation/GET_Describe) operation to list the fields of each Zuora object that is available in your tenant. When you call the operation, you must specify the API name of the Zuora object.\n\nThe following table provides the API name of each Zuora object:\n\n| Object | API Name |\n|-----------------------------------------------|--------------------------------------------|\n| Account | `Account` |\n| Accounting Code | `AccountingCode` |\n| Accounting Period | `AccountingPeriod` |\n| Amendment | `Amendment` |\n| Application Group | `ApplicationGroup` |\n| Billing Run |

`BillingRun` - API name used in the [Describe](/api-references/api/operation/GET_Describe) operation, Export ZOQL queries, and Data Query.

`BillRun` - API name used in the [Actions](/v1-api-reference/api/Actions). See the CRUD oprations of [Bill Run](/v1-api-reference/api/Bill-Run) for more information about the `BillRun` object. `BillingRun` and `BillRun` have different fields. | \n| Billing Preview Run | `BillingPreviewRun` | \n| Configuration Templates | `ConfigurationTemplates` |\n| Contact | `Contact` |\n| Contact Snapshot | `ContactSnapshot` |\n| Credit Balance Adjustment | `CreditBalanceAdjustment` |\n| Credit Memo | `CreditMemo` |\n| Credit Memo Application | `CreditMemoApplication` |\n| Credit Memo Application Item | `CreditMemoApplicationItem` |\n| Credit Memo Item | `CreditMemoItem` |\n| Credit Memo Part | `CreditMemoPart` |\n| Credit Memo Part Item | `CreditMemoPartItem` |\n| Credit Taxation Item | `CreditTaxationItem` |\n| Custom Exchange Rate | `FXCustomRate` |\n| Debit Memo | `DebitMemo` |\n| Debit Memo Item | `DebitMemoItem` |\n| Debit Taxation Item | `DebitTaxationItem` |\n| Discount Applied Metrics | `DiscountAppliedMetrics` |\n| Entity | `Tenant` |\n| Fulfillment | `Fulfillment` |\n| Feature | `Feature` |\n| Gateway Reconciliation Event | `PaymentGatewayReconciliationEventLog` |\n| Gateway Reconciliation Job | `PaymentReconciliationJob` |\n| Gateway Reconciliation Log | `PaymentReconciliationLog` |\n| Invoice | `Invoice` |\n| Invoice Adjustment | `InvoiceAdjustment` |\n| Invoice Item | `InvoiceItem` |\n| Invoice Item Adjustment | `InvoiceItemAdjustment` |\n| Invoice Payment | `InvoicePayment` |\n| Invoice Schedule | `InvoiceSchedule` |\n| Invoice Schedule Item | `InvoiceScheduleItem` |\n| Journal Entry | `JournalEntry` |\n| Journal Entry Item | `JournalEntryItem` |\n| Journal Run | `JournalRun` |\n| Notification History - Callout | `CalloutHistory` |\n| Notification History - Email | `EmailHistory` |\n| Offer | `Offer` |\n| Order | `Order` |\n| Order Action | `OrderAction` |\n| Order ELP | `OrderElp` |\n| Order Line Items | `OrderLineItems` | \n| Order Item | `OrderItem` |\n| Order MRR | `OrderMrr` |\n| Order Quantity | `OrderQuantity` |\n| Order TCB | `OrderTcb` |\n| Order TCV | `OrderTcv` |\n| Payment | `Payment` |\n| Payment Application | `PaymentApplication` |\n| Payment Application Item | `PaymentApplicationItem` |\n| Payment Method | `PaymentMethod` |\n| Payment Method Snapshot | `PaymentMethodSnapshot` |\n| Payment Method Transaction Log | `PaymentMethodTransactionLog` |\n| Payment Method Update | `UpdaterDetail` |\n| Payment Part | `PaymentPart` |\n| Payment Part Item | `PaymentPartItem` |\n| Payment Run | `PaymentRun` |\n| Payment Transaction Log | `PaymentTransactionLog` |\n| Price Book Item | `PriceBookItem` |\n| Processed Usage | `ProcessedUsage` |\n| Product | `Product` |\n| Product Charge Definition | `ProductChargeDefinition` | \n| Product Feature | `ProductFeature` |\n| Product Rate Plan | `ProductRatePlan` |\n| Product Rate Plan Definition | `ProductRatePlanDefinition` | \n| Product Rate Plan Charge | `ProductRatePlanCharge` |\n| Product Rate Plan Charge Tier | `ProductRatePlanChargeTier` |\n| Rate Plan | `RatePlan` |\n| Rate Plan Charge | `RatePlanCharge` |\n| Rate Plan Charge Tier | `RatePlanChargeTier` |\n| Refund | `Refund` |\n| Refund Application | `RefundApplication` |\n| Refund Application Item | `RefundApplicationItem` |\n| Refund Invoice Payment | `RefundInvoicePayment` |\n| Refund Part | `RefundPart` |\n| Refund Part Item | `RefundPartItem` |\n| Refund Transaction Log | `RefundTransactionLog` |\n| Revenue Charge Summary | `RevenueChargeSummary` |\n| Revenue Charge Summary Item | `RevenueChargeSummaryItem` |\n| Revenue Event | `RevenueEvent` |\n| Revenue Event Credit Memo Item | `RevenueEventCreditMemoItem` |\n| Revenue Event Debit Memo Item | `RevenueEventDebitMemoItem` |\n| Revenue Event Invoice Item | `RevenueEventInvoiceItem` |\n| Revenue Event Invoice Item Adjustment | `RevenueEventInvoiceItemAdjustment` |\n| Revenue Event Item | `RevenueEventItem` |\n| Revenue Event Item Credit Memo Item | `RevenueEventItemCreditMemoItem` |\n| Revenue Event Item Debit Memo Item | `RevenueEventItemDebitMemoItem` |\n| Revenue Event Item Invoice Item | `RevenueEventItemInvoiceItem` |\n| Revenue Event Item Invoice Item Adjustment | `RevenueEventItemInvoiceItemAdjustment` |\n| Revenue Event Type | `RevenueEventType` |\n| Revenue Schedule | `RevenueSchedule` |\n| Revenue Schedule Credit Memo Item | `RevenueScheduleCreditMemoItem` |\n| Revenue Schedule Debit Memo Item | `RevenueScheduleDebitMemoItem` |\n| Revenue Schedule Invoice Item | `RevenueScheduleInvoiceItem` |\n| Revenue Schedule Invoice Item Adjustment | `RevenueScheduleInvoiceItemAdjustment` |\n| Revenue Schedule Item | `RevenueScheduleItem` |\n| Revenue Schedule Item Credit Memo Item | `RevenueScheduleItemCreditMemoItem` |\n| Revenue Schedule Item Debit Memo Item | `RevenueScheduleItemDebitMemoItem` |\n| Revenue Schedule Item Invoice Item | `RevenueScheduleItemInvoiceItem` |\n| Revenue Schedule Item Invoice Item Adjustment | `RevenueScheduleItemInvoiceItemAdjustment` |\n| Subscription | `Subscription` |\n| Subscription Product Feature | `SubscriptionProductFeature` |\n| Taxable Item Snapshot | `TaxableItemSnapshot` |\n| Taxation Item | `TaxationItem` |\n| Updater Batch | `UpdaterBatch` |\n| Usage | `Usage` |\n" contact: email: docs@zuora.com host: rest.zuora.com basePath: / schemes: - https consumes: - application/json produces: - application/json tags: - name: Custom Object Definitions description: "With Custom Objects service, you can define custom objects, extending the Zuora data model to accommodate your specific use cases.\n\nIf you use Postman, you can import the custom objects endpoints as a collection into your Postman app and try out different requests to learn how the API works. Click the following button to get started:\n\n[![Run in Postman](https://run.pstmn.io/button.svg)](https://www.getpostman.com/run-collection/1f068ba43651bf63c0d4)\n\nYou can sign up for a free account on the [Postman website](https://identity.getpostman.com/signup) and download the app in case you do not use Postman yet.\n\nNote that the Custom Object Definitions API is versioned by `Zuora-Version` in the request header. The response may be different for the same request with a different API version. Specify `Zuora-Version` in the request header if you expect a specific response schema.\n\n### Error handling \nIf the Custom Objects API call fails, an error code will be returned in the response body. See [Custom Objects API error code](https://knowledgecenter.zuora.com/Central_Platform/Custom_Objects/Z_Custom_Objects_API#Custom_Objects_API_error_code) for details.\n" paths: /objects/definitions/default: get: summary: List custom object definitions description: 'Get all custom objects definitions for a given tenant. If you want to copy all the existing custom objects from an old tenant to a new tenant, you can call this operation in your old tenant and then use its response directly as the request of the [Create custom object definitions](/api-references/api/operation/POST_CustomObjectDefinitions) call in the new tenant to import all the custom objects from the old tenant. ' operationId: GET_AllCustomObjectDefinitionsInNamespace tags: - Custom Object Definitions parameters: - $ref: '#/parameters/GLOBAL_HEADER_Accept_Encoding' - $ref: '#/parameters/GLOBAL_HEADER_Content_Encoding' - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id' - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single' - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Org_Ids' - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth' - name: Zuora-Version in: header required: false type: string format: date description: API version that determines the response schema. The default version is used if this parameter is not included. Specify `Zuora-Version` in the request header if you expect a specific response schema. - name: select description: 'If you set `select` to `type`, the response will only contain the `type` of each custom object. ' in: query required: false type: string enum: - type responses: '200': description: OK headers: Content-Encoding: type: string description: "This header is returned if you specify the `Accept-Encoding: gzip` request header and the response contains over 1000 bytes of data.\n\nNote that only the following MIME types support gzipped responses:\n - `application/json`\n - `application/xml`\n - `text/html`\n - `text/csv`\n - `text/plain`\n" RateLimit-Limit: type: string description: 'The request limit quota for the time window closest to exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information. ' RateLimit-Remaining: type: number description: 'The number of requests remaining in the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information. ' RateLimit-Reset: type: number description: 'The number of seconds until the quota resets for the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information. ' Zuora-Request-Id: type: string minLength: 36 maxLength: 36 description: 'The Zuora internal identifier of the API call. You cannot control the value of this header. ' Zuora-Track-Id: type: string maxLength: 64 description: 'A custom identifier for tracing the API call. If you specified a tracing identifier in the request headers, Zuora returns the same tracing identifier. Otherwise, Zuora does not set this header. ' schema: $ref: '#/definitions/GETAllCustomObjectDefinitionsInNamespaceResponse' post: summary: Create custom object definitions operationId: POST_CustomObjectDefinitions description: "You can post custom object definitions with the request body schema described below. \n\nThis operation also allows you to use the [List custom object definitions](/api-references/api/operation/GET_AllCustomObjectDefinitionsInNamespace) response schema as its request schema. If you want to copy all the existing custom objects from an old tenant to a new tenant, you can make a [List custom object definitions](/api-references/api/operation/GET_AllCustomObjectDefinitionsInNamespace) call in your old tenant and then use its response directly as the request of this operation in the new tenant to import all the custom objects from the old tenant.\n\nThe `label` field is the UI label of the custom object. The `object` field contains the API Name of the custom object.\n\n### Limitations \n\nThis custom object definition has the following limitations:\n\n* The maximum number of characters for the Custom Object API Name (`object`) is 64.\n* The maximum number of characters for the Custom Object Label (`label`) is\t64.\n* The maximum number of characters for the Custom Object Description 250.\n* The maximum number of custom fields in an custom object\tis 50.\n* The maximum number of characters for the custom field API name is\t64.\n* The maximum number of characters for the custom field label (`label`) is\t64.\n* The maximum number of characters for the custom field Description\tis 250.\n* The maximum number of picklist or multiselect options is 250.\n* The default maximum number of characters for the Text field is 512. You can configure the max length up to 8,192 characters when creating or updating the custom object definition via API.\n However, if the Text field is filterable, the max length must be 512 or less.\n* The maximum number of digits to the left of the decimal point for the Number field is 13, and to the right is 9.\n" tags: - Custom Object Definitions parameters: - $ref: '#/parameters/GLOBAL_HEADER_Idempotency_Key' - $ref: '#/parameters/GLOBAL_HEADER_Accept_Encoding' - $ref: '#/parameters/GLOBAL_HEADER_Content_Encoding' - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id' - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single' - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Org_Ids' - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth' - name: Zuora-Version in: header required: false type: string format: date description: API version that determines the response schema. The default version is used if this parameter is not included. Specify `Zuora-Version` in the request header if you expect a specific response schema. - name: custom object definitions in: body required: true description: The custom object definitions to be created schema: $ref: '#/definitions/PostCustomObjectDefinitionsRequest' responses: '200': description: OK headers: Content-Encoding: type: string description: "This header is returned if you specify the `Accept-Encoding: gzip` request header and the response contains over 1000 bytes of data.\n\nNote that only the following MIME types support gzipped responses:\n - `application/json`\n - `application/xml`\n - `text/html`\n - `text/csv`\n - `text/plain`\n" RateLimit-Limit: type: string description: 'The request limit quota for the time window closest to exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information. ' RateLimit-Remaining: type: number description: 'The number of requests remaining in the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information. ' RateLimit-Reset: type: number description: 'The number of seconds until the quota resets for the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information. ' Zuora-Request-Id: type: string minLength: 36 maxLength: 36 description: 'The Zuora internal identifier of the API call. You cannot control the value of this header. ' Zuora-Track-Id: type: string maxLength: 64 description: 'A custom identifier for tracing the API call. If you specified a tracing identifier in the request headers, Zuora returns the same tracing identifier. Otherwise, Zuora does not set this header. ' schema: $ref: '#/definitions/GETAllCustomObjectDefinitionsInNamespaceResponse' '400': description: Bad request headers: Content-Encoding: type: string description: "This header is returned if you specify the `Accept-Encoding: gzip` request header and the response contains over 1000 bytes of data.\n\nNote that only the following MIME types support gzipped responses:\n - `application/json`\n - `application/xml`\n - `text/html`\n - `text/csv`\n - `text/plain`\n" RateLimit-Limit: type: string description: 'The request limit quota for the time window closest to exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information. ' RateLimit-Remaining: type: number description: 'The number of requests remaining in the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information. ' RateLimit-Reset: type: number description: 'The number of seconds until the quota resets for the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information. ' Zuora-Request-Id: type: string minLength: 36 maxLength: 36 description: 'The Zuora internal identifier of the API call. You cannot control the value of this header. ' Zuora-Track-Id: type: string maxLength: 64 description: 'A custom identifier for tracing the API call. If you specified a tracing identifier in the request headers, Zuora returns the same tracing identifier. Otherwise, Zuora does not set this header. ' schema: $ref: '#/definitions/CommonErrorResponse' /objects/definitions/default/{object}: get: summary: Retrieve a custom object definition description: 'Retrieves the custom object definition by type for the given tenant. ' operationId: GET_CustomObjectDefinitionByType tags: - Custom Object Definitions parameters: - $ref: '#/parameters/GLOBAL_HEADER_Accept_Encoding' - $ref: '#/parameters/GLOBAL_HEADER_Content_Encoding' - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id' - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single' - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Org_Ids' - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth' - name: Zuora-Version in: header required: false type: string format: date description: API version that determines the response schema. The default version is used if this parameter is not included. Specify `Zuora-Version` in the request header if you expect a specific response schema. - name: object in: path required: true type: string description: Specifies the custom object's API name as object. It is case-sensitive. responses: '200': description: OK headers: Content-Encoding: type: string description: "This header is returned if you specify the `Accept-Encoding: gzip` request header and the response contains over 1000 bytes of data.\n\nNote that only the following MIME types support gzipped responses:\n - `application/json`\n - `application/xml`\n - `text/html`\n - `text/csv`\n - `text/plain`\n" RateLimit-Limit: type: string description: 'The request limit quota for the time window closest to exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information. ' RateLimit-Remaining: type: number description: 'The number of requests remaining in the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information. ' RateLimit-Reset: type: number description: 'The number of seconds until the quota resets for the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information. ' Zuora-Request-Id: type: string minLength: 36 maxLength: 36 description: 'The Zuora internal identifier of the API call. You cannot control the value of this header. ' Zuora-Track-Id: type: string maxLength: 64 description: 'A custom identifier for tracing the API call. If you specified a tracing identifier in the request headers, Zuora returns the same tracing identifier. Otherwise, Zuora does not set this header. ' schema: $ref: '#/definitions/CustomObjectDefinition' '404': description: Resource Request-URI not found. headers: Content-Encoding: type: string description: "This header is returned if you specify the `Accept-Encoding: gzip` request header and the response contains over 1000 bytes of data.\n\nNote that only the following MIME types support gzipped responses:\n - `application/json`\n - `application/xml`\n - `text/html`\n - `text/csv`\n - `text/plain`\n" RateLimit-Limit: type: string description: 'The request limit quota for the time window closest to exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information. ' RateLimit-Remaining: type: number description: 'The number of requests remaining in the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information. ' RateLimit-Reset: type: number description: 'The number of seconds until the quota resets for the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information. ' Zuora-Request-Id: type: string minLength: 36 maxLength: 36 description: 'The Zuora internal identifier of the API call. You cannot control the value of this header. ' Zuora-Track-Id: type: string maxLength: 64 description: 'A custom identifier for tracing the API call. If you specified a tracing identifier in the request headers, Zuora returns the same tracing identifier. Otherwise, Zuora does not set this header. ' schema: $ref: '#/definitions/CommonErrorResponse' delete: summary: Delete a custom object definition description: 'Deletes the custom object definition for the provided type. **Note:** A custom object definition can only be deleted if no record of this custom object type exists. ' operationId: Delete_CustomObjectDefinitionByType tags: - Custom Object Definitions parameters: - $ref: '#/parameters/GLOBAL_HEADER_Accept_Encoding' - $ref: '#/parameters/GLOBAL_HEADER_Content_Encoding' - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id' - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single' - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Org_Ids' - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth' - name: Zuora-Version in: header required: false type: string format: date description: API version that determines the response schema. The default version is used if this parameter is not included. Specify `Zuora-Version` in the request header if you expect a specific response schema. - name: object in: path required: true type: string description: Specifies the custom object's API name as object. It is case-sensitive. responses: '200': description: OK headers: Content-Encoding: type: string description: "This header is returned if you specify the `Accept-Encoding: gzip` request header and the response contains over 1000 bytes of data.\n\nNote that only the following MIME types support gzipped responses:\n - `application/json`\n - `application/xml`\n - `text/html`\n - `text/csv`\n - `text/plain`\n" RateLimit-Limit: type: string description: 'The request limit quota for the time window closest to exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information. ' RateLimit-Remaining: type: number description: 'The number of requests remaining in the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information. ' RateLimit-Reset: type: number description: 'The number of seconds until the quota resets for the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information. ' Zuora-Request-Id: type: string minLength: 36 maxLength: 36 description: 'The Zuora internal identifier of the API call. You cannot control the value of this header. ' Zuora-Track-Id: type: string maxLength: 64 description: 'A custom identifier for tracing the API call. If you specified a tracing identifier in the request headers, Zuora returns the same tracing identifier. Otherwise, Zuora does not set this header. ' schema: type: string description: The URI of the deleted custom object definition format: uri example: /objects/definitions/default/test_custom_object /objects/migrations: post: summary: Update a custom object definition operationId: POST_UpdateCustomObjectDefinition description: "Updates a custom object definition by posting migration resource to initiate the migration of definitions.\n\n### Limitations \n\nUpdating custom field definition has the following limitations:\n\n* You can only have one action per update request.\n* You cannot delete fields from custom objects that contain records.\n* You can only add required fields to custom objects with no records.\n* You can change optional fields to required only on the custom objects with no records. \n" tags: - Custom Object Definitions parameters: - $ref: '#/parameters/GLOBAL_HEADER_Idempotency_Key' - $ref: '#/parameters/GLOBAL_HEADER_Accept_Encoding' - $ref: '#/parameters/GLOBAL_HEADER_Content_Encoding' - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id' - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single' - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Org_Ids' - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth' - name: Zuora-Version in: header required: false type: string format: date description: API version that determines the response schema. The default version is used if this parameter is not included. Specify `Zuora-Version` in the request header if you expect a specific response schema. - name: migration in: body required: true description: Migration resource for object and namespace changes. schema: $ref: '#/definitions/MigrationUpdateCustomObjectDefinitionsRequest' responses: '200': description: OK headers: Content-Encoding: type: string description: "This header is returned if you specify the `Accept-Encoding: gzip` request header and the response contains over 1000 bytes of data.\n\nNote that only the following MIME types support gzipped responses:\n - `application/json`\n - `application/xml`\n - `text/html`\n - `text/csv`\n - `text/plain`\n" RateLimit-Limit: type: string description: 'The request limit quota for the time window closest to exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information. ' RateLimit-Remaining: type: number description: 'The number of requests remaining in the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information. ' RateLimit-Reset: type: number description: 'The number of seconds until the quota resets for the time window closest to quota exhaustion. See [rate limits](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits#Rate_limits) for more information. ' Zuora-Request-Id: type: string minLength: 36 maxLength: 36 description: 'The Zuora internal identifier of the API call. You cannot control the value of this header. ' Zuora-Track-Id: type: string maxLength: 64 description: 'A custom identifier for tracing the API call. If you specified a tracing identifier in the request headers, Zuora returns the same tracing identifier. Otherwise, Zuora does not set this header. ' schema: $ref: '#/definitions/MigrationUpdateCustomObjectDefinitionsResponse' definitions: CommonErrorResponse: properties: processId: description: 'The Id of the process that handle the operation. ' type: string reasons: items: properties: code: description: 'The error code of response. ' type: string message: description: 'The detail information of the error response ' type: string type: object type: array requestId: description: 'The Id of the request. ' format: uuid maxLength: 36 minLength: 36 type: string success: description: 'Indicates whether the call succeeded. ' type: boolean type: object CustomObjectCustomFieldDefinitionUpdate: description: The custom field definition in the custom object properties: default: description: Applicable if the `type` of the action is `updateField` type: string description: description: Applicable if the `type` of the action is `updateField` type: string displayName: description: 'Indicates whether to use this field as the display name of the custom object when being linked to another custom object. This field applies only to the Text custom field type: - The `type` field is `string`. - The `enum` field is not specified. ' type: boolean format: description: The data format of the custom field type: string label: description: The UI label of the custom field type: string maxLength: description: "The maximum length of string that can be stored in the custom field.\n\nThis field applies only to the following custom field types:\n\n- Text:\n - The `type` field is `string`.\n - The `format` field is not specified or is `url`.\n - The `enum` field is not specified.\n- Picklist:\n - The `type` field is `string`.\n - The `enum` field is specified.\n - The `multiselect` field is not specified or is `false`.\n- Multiselect:\n - The `type` field is `string`.\n - The `enum` field is specified.\n - The `multiselect` field is `true`.\n\nIf the custom field is filterable, the value of `maxLength` must be 512 or less.\n" type: integer multiselect: description: 'Indicates whether this is a multiselect custom field. This field applies only to the creation of Picklist or Multiselect custom fields: - The action `type` field is `addField`. - The definition `type` field is `string`. - The `maxLength` field is specified. - The `enum` field is specified. ' type: boolean origin: description: Specifies that this is a custom field enum: - custom type: string type: description: The data type of the custom field type: string title: customObjectCustomFieldDefinition type: object GETAllCustomObjectDefinitionsInNamespaceResponse: example: count: 2 definitions: Delivery: CreatedById: 2c92c0f9-6a07-409d-016a-0a58ab1172eb CreatedDate: '2021-04-29T04:06:07.876Z' Id: 362e0954-7108-49ca-abb0-6f628478e77f UpdatedById: 2c92c0f9-6a07-409d-016a-0a58ab1172eb UpdatedDate: '2021-04-29T04:06:07.876Z' schema: description: Delivery schedule for shipping products based on customer's subscription. filterable: - ContactId__c - SubscriptionId__c - Quantity__c - ProductName__c - Cancelled__c - ShippingStatus__c - Id - CreatedById - UpdatedById - CreatedDate - UpdatedDate label: Delivery object: Delivery properties: CancellationTime__c: description: The time at which customer cancelled this particular shipment. format: date-time label: Cancellation Time origin: custom type: string Cancelled__c: default: false description: Indicator is true when the customer has cancelled this particular shipment. label: Shipment Cancelled origin: custom type: boolean ContactEmail__c: description: The customer's email address. label: Customer Email maxLength: 128 origin: custom type: string ContactId__c: description: The customer contact who will receive the shipment. format: uuid label: Ship To Customer origin: custom type: string CreatedById: label: CreatedById origin: system type: string CreatedDate: format: date-time label: CreatedDate origin: system type: string Id: format: uuid label: Id origin: system type: string ProductName__c: description: The name of the product that is being shipped to customer. label: Product Name maxLength: 512 origin: custom type: string Quantity__c: description: The quantity of product that is being shipped to customer. label: Quantity maximum: 20 minimum: 1 origin: custom type: integer ShippingDate__c: description: The date the product will be sent to shipping vendor for delivery. format: date label: Shipping Date origin: custom type: string ShippingStatus__c: default: Pending description: The status of the shipment - e.g. Pending, Preparing shipment, Waiting for tracking information, or Shipped. enum: - Pending - Preparing shipment - Waiting for tracking information - Shipped label: Shipping Status maxLength: 512 origin: custom type: string SubscriptionId__c: description: The subscription that is associated with the shipment record. format: uuid label: Subscription origin: custom type: string TotalWeight__c: description: The total weight of the product and packaging that is being shipped to customer. label: Total Weight (lbs.) minimum: 0 origin: custom type: number UpdatedById: label: UpdatedById origin: system type: string UpdatedDate: format: date-time label: UpdatedDate origin: system type: string relationships: - cardinality: manyToOne fields: ContactId__c: Id namespace: com_zuora object: contact recordConstraints: create: enforceValidMapping: false - cardinality: manyToOne fields: SubscriptionId__c: Id namespace: com_zuora object: subscription recordConstraints: create: enforceValidMapping: false required: - SubscriptionId__c - ContactId__c - ProductName__c - Quantity__c - ShippingDate__c - Id - CreatedById - UpdatedById - CreatedDate - UpdatedDate type: Delivery birth_place_custom_object: CreatedById: 2c92c0f9-6a07-409d-016a-0a58ab1172eb CreatedDate: '2021-04-29T04:06:07.876Z' Id: 25924740-669d-4bcd-97b2-61c7410c7563 UpdatedById: 2c92c0f9-6a07-409d-016a-0a58ab1172eb UpdatedDate: '2021-04-29T04:06:07.876Z' schema: filterable: - ContactId__c - city__c - Id - CreatedById - UpdatedById - CreatedDate - UpdatedDate label: Birth Place Custom Object object: birth_place_custom_object properties: ContactId__c: format: uuid label: Contact origin: custom type: string CreatedById: label: CreatedById origin: system type: string CreatedDate: format: date-time label: CreatedDate origin: system type: string Id: format: uuid label: Id origin: system type: string UpdatedById: label: UpdatedById origin: system type: string UpdatedDate: format: date-time label: UpdatedDate origin: system type: string city__c: label: city label maxLength: 512 origin: custom type: string country__c: label: country label maxLength: 512 origin: custom type: string state__c: label: state label maxLength: 512 origin: custom type: string relationships: - cardinality: manyToOne fields: ContactId__c: Id namespace: com_zuora object: contact recordConstraints: create: enforceValidMapping: false required: - city__c - state__c - country__c - Id - CreatedById - UpdatedById - CreatedDate - UpdatedDate type: object type: birth_place_custom_object properties: count: description: The number of objects in the `definitions` object. The value of this field is the number of custom object definitions in the namespace. type: integer definitions: $ref: '#/definitions/CustomObjectDefinitions' type: object UpdateCustomObjectCusotmField: description: A reference to a field. properties: auditable: description: 'Indicates whether Audit Trail will record changes of this custom field. You can change auditable fields to non-auditable, and vice versa. One custom object can have a maximum of five auditable fields. ' type: boolean definition: $ref: '#/definitions/CustomObjectCustomFieldDefinitionUpdate' description: The custom field definition to be added or updated type: object filterable: description: 'Indicates whether the field is filterable or not. Applicable to `addField` and `updateField` actions. You can change a filterable field to non-filterable and vice versa. You can also add a filterable field. One custom object can have a maximum of 10 filterable fields. Note that changing filterable fields triggers reindexing. It will take 12-24 hours before all your data are reindexed and available to query. ' type: boolean name: description: The name of the custom field to be updated type: string required: description: 'Indicates whether the field is required or optional. You can update a required field to optional. On the other hand, you can only update an optional field to required on the custom object with no records. You can only add a required field to the custom object with no records. ' type: boolean targetName: description: Required if the `type` of the action is `renameField` type: string unique: description: 'Indicates whether to specify a unique constraint to the field. You can remove the unique constraint on the field. However, you can only add a unique constraint to a filterable field if the custom object contains no record. One custom object can have a maximum of five fields with unique constraints. ' type: boolean type: object PostCustomObjectDefinitionsRequestDefinitions: additionalProperties: $ref: '#/definitions/PostCustomObjectDefinitionsRequestDefinition' description: 'The custom object definitions. This object maps types to custom object definitions. ' title: customObjectDefinitions type: object FieldsAdditionalPropertiesForPostDefinition: additionalProperties: type: string description: 'Field mappings in the form of ``: ``. Usually the `` can only be the `Id` field of the related object. Two exceptions are Subscription Name and Rate Plan Charge Number as both of them are unique. ' title: relationshipFieldMapping type: object CustomObjectCustomFieldsDefinition: additionalProperties: $ref: '#/definitions/CustomObjectCustomFieldDefinition' description: The custom field definition in the custom object definition title: customObjectCustomFieldDefinition type: object PostCustomObjectDefinitionFieldDefinitionRequest: properties: displayName: description: 'Indicates whether to use this field as the display name of the custom object when being linked to another custom object. This field applies only to the Text custom field type: - The `type` field is `string`. - The `enum` field is not specified. ' type: boolean format: description: The data format of the custom field type: string label: description: The UI label of the custom field type: string maxLength: description: "The maximum length of string that can be stored in the custom field.\n\nThis field applies only to the following custom field types:\n\n- Text:\n - The `type` field is `string`.\n - The `format` field is not specified or is `url`.\n - The `enum` field is not specified.\n- Picklist:\n - The `type` field is `string`.\n - The `enum` field is specified.\n - The `multiselect` field is not specified or is `false`.\n- Multiselect:\n - The `type` field is `string`.\n - The `enum` field is specified.\n - The `multiselect` field is `true`.\n\nIf the custom field is filterable, the value of `maxLength` must be 512 or less.\n" type: integer multiselect: description: 'Indicates whether this is a multiselect custom field. This field applies only to the Picklist or Multiselect custom field types: - The `type` field is `string`. - The `maxLength` field is specified. - The `enum` field is specified. ' type: boolean type: description: The data type of the custom field type: string required: - type - label title: customObjectCustomFieldDefinition type: object PostCustomObjectDefinitionsRequestDefinition: properties: auditable: description: The set of fields which Audit Trail tracks and records changes of. You can change auditable fields to non-auditable, and vice versa. One custom object can have a maximum of five auditable fields. items: type: string type: array enableCreateRecordAuditing: default: false description: 'Indicates whether to audit the creation of custom object records of this custom object definition. Note that you must enable the **Custom Object Definition** audit trail setting in your Zuora tenant before auditing custom object record creation. For more information, see Manage audit trail settings. ' type: boolean enableDeleteRecordAuditing: default: false description: 'Indicates whether to audit the deletion of custom object records of this custom object definition. Note that you must enable the **Custom Object Definition** audit trail setting in your Zuora tenant before auditing custom object record deletion. For more information, see Manage audit trail settings. ' type: boolean filterable: description: The set of fields that are allowed to be queried on. Queries on non-filterable fields will be rejected. You can not change a non-filterable field to filterable. items: type: string type: array label: description: A UI label for the custom object type: string object: description: The API name of the custom object type: string properties: $ref: '#/definitions/PostCustomObjectDefinitionFieldsDefinitionRequest' description: The custom field of the custom object type: object relationships: description: An array of relationships with Zuora objects or other custom objects. You can add at most 2 `manyToOne` relationships when creating a custom field definition. items: additionalProperties: false properties: cardinality: description: 'The cardinality of the relationship from this object to another object. Only the `manyToOne` cardinality can be used when creating relationships. A relationship with `oneToMany` cardinality is created implicitly when a `manyToOne` relationship is created. A custom object definition can have a maximum of 2 `manyToOne` relationships. ' enum: - manyToOne type: string fields: $ref: '#/definitions/FieldsAdditionalPropertiesForPostDefinition' namespace: description: The namespace where the related object is located type: string object: description: The API name of the related object type: string recordConstraints: description: 'Specifies contraints to apply to custom object records. ' properties: create: properties: enforceValidMapping: default: true description: 'Specifies whether Zuora validates the values of mapped fields in custom object records. By default, Zuora validates the values of mapped fields in custom object records. For example, if the custom object definition has a field called `AccountId__c` that is mapped to the `Id` field of the `account` object, Zuora verifies that the value of `AccountId__c` is a valid account ID when a custom object record is created. If the value of `AccountId__c` is not a valid account ID, the operation fails. ' type: boolean type: object type: object required: - namespace - object - fields type: object type: array required: description: The required fields of the custom object. You can change required fields to optional. However, you can only change optional fields to required on the custom objects with no records. items: type: string type: array unique: description: The fields with unique constraints. You can remove the unique constraint on a field. However, you can only add a unique constraint to a filterable field if the custom object contains no record. One custom object can have a maximum of five fields with unique constraints. items: type: string type: array required: - object - label title: customObjectDefinition type: object CustomObjectAllFieldsDefinition: allOf: - properties: CreatedById: description: The `CreatedById` field definition properties: format: description: The field data format enum: - uuid type: string label: description: The UI name of the field type: string origin: description: Specifies whether the field is a system field or a custom field enum: - system type: string type: description: The field data type enum: - string type: string type: object CreatedDate: description: The `CreatedDate` field definition properties: format: description: The field data format enum: - date-time type: string origin: description: Specifies the field is a system field enum: - system type: string type: description: The field data type enum: - string type: string type: object Id: description: The `Id` field definition properties: format: description: The field data format enum: - uuid type: string label: description: The UI name of the field type: string origin: description: Specifies whether the field is a system field or a custom field enum: - system type: string type: description: The field data type enum: - string type: string type: object UpdatedById: description: The `UpdatedById` field definition properties: format: description: The field data format enum: - uuid type: string label: description: The UI name of the field type: string origin: description: Specifies whether the field is a system field or a custom field enum: - system type: string type: description: The field data type enum: - string type: string type: object UpdatedDate: description: The `UpdatedDate` field definition properties: format: description: The field data format enum: - date-time type: string origin: description: Specifies the field is a system field enum: - system type: string type: description: The field data type enum: - string type: string type: object type: object - $ref: '#/definitions/CustomObjectCustomFieldsDefinition' description: The definitions of all the fields in the custom object definition title: customObjectFieldDefinition CustomObjectCustomFieldDefinition: description: The custom field definition in the custom object properties: displayName: description: 'Indicates whether to use this field as the display name of the custom object when being linked to another custom object. This field applies only to the Text custom field type: - The `type` field is `string`. - The `enum` field is not specified. ' type: boolean format: description: The data format of the custom field type: string label: description: The UI label of the custom field type: string maxLength: description: "The maximum length of string that can be stored in the custom field.\n\nThis field applies only to the following custom field types:\n\n- Text:\n - The `type` field is `string`.\n - The `format` field is not specified or is `url`.\n - The `enum` field is not specified.\n- Picklist:\n - The `type` field is `string`.\n - The `enum` field is specified.\n - The `multiselect` field is not specified or is `false`.\n- Multiselect:\n - The `type` field is `string`.\n - The `enum` field is specified.\n - The `multiselect` field is `true`.\n" type: integer multiselect: description: 'Indicates whether this is a multiselect custom field. This field applies only to the Picklist or Multiselect custom field types: - The `type` field is `string`. - The `maxLength` field is specified. - The `enum` field is specified. ' type: boolean origin: description: Specifies that this is a custom field enum: - custom type: string type: description: The data type of the custom field type: string title: customObjectCustomFieldDefinition type: object CustomObjectDefinition: example: CreatedById: 7b39d73f-22e6-404a-b8e7-894f7620e91c CreatedDate: '2019-09-29T06:45:23.378Z' Id: df7f10f9-4ec9-4389-a9eb-a6a3d549bb61 UpdatedById: 7b39d73f-22e6-404a-b8e7-894f7620e91c UpdatedDate: '2019-09-29T06:45:23.378Z' schema: filterable: - last_name__c - email__c label: Personal Profile object: person properties: CreatedById: format: uuid label: CreatedById origin: system type: string CreatedDate: format: date-time label: CreatedDate origin: system type: string Id: format: uuid label: Id origin: system type: string UpdatedById: format: uuid label: UpdatedById origin: system type: string UpdatedDate: format: date-time label: UpdatedDate origin: system type: string age__c: description: Age in years minimum: 0 origin: custom type: integer email__c: format: email maxLength: 128 origin: custom type: string home_address__c: format: uuid origin: custom type: string last_name__c: maxLength: 128 origin: custom type: string marital_status__c: default: Unknown enum: - Single - Married - Unknown origin: custom type: string work_address__c: format: uuid origin: custom type: string relationships: - cardinality: manyToOne fields: home_address__c: Id namespace: default object: address recordConstraints: create: enforceValidMapping: false - cardinality: manyToOne fields: work_address__c: Id namespace: default object: address recordConstraints: create: enforceValidMapping: false - cardinality: oneToMany fields: Id: person_id__c namespace: default object: car recordConstraints: create: enforceValidMapping: false - cardinality: oneToMany fields: Id: person_id__c namespace: default object: device recordConstraints: create: enforceValidMapping: false required: - last_name__c - marital_status__c type: object type: person properties: CreatedById: description: The creator's Id format: uuid type: string CreatedDate: description: The creation time of the custom object definition in date-time format. format: date-time type: string Id: description: The unique Id of the custom object definition format: uuid type: string UpdatedById: description: The modifier's Id format: uuid type: string UpdatedDate: description: The update time of the custom object definition in date-time format. format: date-time type: string schema: description: The schema of the custom object definition properties: auditable: description: The set of fields which Audit Trail tracks and records changes of. items: type: string type: array enableCreateRecordAuditing: description: Indicates whether to audit the creation of custom object records of this custom object definition. type: boolean enableDeleteRecordAuditing: description: Indicates whether to audit the deletion of custom object records of this custom object definition. type: boolean filterable: description: The set of fields that are allowed to be queried on. Queries on non-filterable fields will be rejected. You can not change a non-filterable field to filterable. items: type: string type: array label: description: A label for the custom object type: string object: description: The API name of the custom object type: string properties: $ref: '#/definitions/CustomObjectAllFieldsDefinition' description: all fields definition of the custom object definition type: object relationships: description: An array of relationships with Zuora objects or other custom objects items: additionalProperties: false properties: cardinality: default: manyToOne description: 'The cardinality of the relationship from this object to another object. A `manyToOne` relationship means this object is the child object (the "many" side), and the referenced object (the "one" side) is the parent. A `oneToMany` relationship means this object is the parent object (the "one" side), and the referenced object (the "many" side) is the child. ' enum: - manyToOne - oneToMany type: string fields: $ref: '#/definitions/FieldsAdditionalProperties' namespace: description: The namespace where the related object is located type: string object: description: The API name of the related object type: string recordConstraints: description: 'Specifies contraints to apply to custom object records. ' properties: create: properties: enforceValidMapping: description: 'Specifies whether Zuora validates the values of mapped fields in custom object records. ' type: boolean type: object type: object type: object type: array required: description: The required fields of the custom object definition. You can change required fields to optional. However, you can only change optional fields to required on the custom objects with no records. items: type: string type: array type: description: The custom object definition type. Can only be `object` currently. enum: - object type: string unique: description: The fields with unique constraints. items: type: string type: array type: object type: description: The API name of the custom object type: string title: customObjectDefinition type: object MigrationUpdateCustomObjectDefinitionsRequest: additionalProperties: false properties: actions: description: The actions of updating custom object definitions, to be performed as parts of the migration. Currently only one action per migration is supported. items: $ref: '#/definitions/CustomObjectDefinitionUpdateActionRequest' maxItems: 1 minItems: 1 type: array required: - actions type: object PostCustomObjectDefinitionFieldsDefinitionRequest: additionalProperties: $ref: '#/definitions/PostCustomObjectDefinitionFieldDefinitionRequest' title: customObjectCustomFieldDefinitions type: object CustomObjectDefinitionUpdateActionRequest: example: field: definition: description: Address zip code label: Zip code maxLength: 10 type: string name: zip__c namespace: default object: address type: addField properties: description: description: Optional property for `updateObject` action type: string enableCreateRecordAuditing: description: 'Optional property for `updateObject` action. Indicates whether to audit the creation of custom object records of this custom object definition. Note that you must enable the **Custom Object Definition** audit trail setting in your Zuora tenant before auditing custom object record creation. For more information, see Manage audit trail settings. ' type: boolean enableDeleteRecordAuditing: description: 'Optional property for `updateObject` action. Indicates whether to audit the deletion of custom object records of this custom object definition. Note that you must enable the **Custom Object Definition** audit trail setting in your Zuora tenant before auditing custom object record deletion. For more information, see Manage audit trail settings. ' type: boolean field: $ref: '#/definitions/UpdateCustomObjectCusotmField' label: description: Optional property for `updateObject` action type: string namespace: description: The namespace of the custom object definition to be updated type: string object: description: The API name of the custom object definition to be updated type: string relationship: additionalProperties: false properties: cardinality: description: 'The cardinality of the relationship from this object to another object. Only the `manyToOne` cardinality can be used when creating relationships. A relationship with `oneToMany` cardinality is created implicitly when a `manyToOne` relationship is created. A custom object definition can have a maximum of 2 `manyToOne` relationships. ' enum: - manyToOne type: string fields: $ref: '#/definitions/FieldsAdditionalProperties' namespace: description: The namespace where the related object is located type: string object: description: The API name of the related object type: string recordConstraints: description: 'Specifies contraints to apply to custom object records. ' properties: create: properties: enforceValidMapping: default: true description: 'Specifies whether Zuora validates the values of mapped fields in custom object records. By default, Zuora validates the values of mapped fields in custom object records. For example, if the custom object definition has a field called `AccountId__c` that is mapped to the `Id` field of the `account` object, Zuora verifies that the value of `AccountId__c` is a valid account ID when a custom object record is created. If the value of `AccountId__c` is not a valid account ID, the operation fails. ' type: boolean type: object type: object required: - namespace - object - fields type: object type: description: The type of the updating action on a custom object definition enum: - addField - deleteField - updateField - updateObject - renameField - addRelationship - deleteRelationship type: string required: - type - namespace - object type: object CustomObjectDefinitions: additionalProperties: $ref: '#/definitions/CustomObjectDefinition' description: The custom object definitions. This object maps types to custom object definitions. title: customObjectDefinitions type: object CustomObjectDefinitionUpdateActionResponse: example: field: definition: description: Address zip code label: Zip code maxLength: 10 type: string name: zip__c namespace: default object: address type: addField properties: description: description: Optional property for `updateObject` action type: string enableCreateRecordAuditing: description: Indicates whether to audit the creation of custom object records of this custom object definition. type: boolean enableDeleteRecordAuditing: description: Indicates whether to audit the deletion of custom object records of this custom object definition. type: boolean field: $ref: '#/definitions/UpdateCustomObjectCusotmField' label: description: Optional property for `updateObject` action type: string namespace: description: The namespace of the custom object definition to be updated type: string object: description: The API name of the custom object definition to be updated type: string relationship: additionalProperties: false properties: cardinality: default: manyToOne description: 'The cardinality of the relationship from this object to another object. A `manyToOne` relationship means this object is the child object (the "many" side), and the referenced object (the "one" side) is the parent. A `oneToMany` relationship means this object is the parent object (the "one" side), and the referenced object (the "many" side) is the child. ' enum: - manyToOne - oneToMany type: string fields: $ref: '#/definitions/FieldsAdditionalProperties' namespace: description: The namespace where the related object is located type: string object: description: The API name of the related object type: string recordConstraints: description: 'Specifies contraints to apply to custom object records. ' properties: create: properties: enforceValidMapping: default: true description: 'Specifies whether Zuora validates the values of mapped fields in custom object records. ' type: boolean type: object type: object type: object type: description: The type of the updating action on a custom object definition enum: - addField - deleteField - updateField - updateObject - renameField - addRelationship - deleteRelationship type: string type: object PostCustomObjectDefinitionsRequest: example: definitions: Delivery: description: Delivery schedule for shipping products based on customer's subscription. filterable: - Quantity__c - ProductName__c - Cancelled__c - ShippingStatus__c label: Delivery object: Delivery properties: CancellationTime__c: description: The time at which customer cancelled this particular shipment. format: date-time label: Cancellation Time type: string Cancelled__c: default: false description: Indicator is true when the customer has cancelled this particular shipment. label: Shipment Cancelled type: boolean ContactEmail__c: description: The customer's email address. label: Customer Email maxLength: 128 type: string ContactId__c: description: The customer contact who will receive the shipment. format: uuid label: Ship To Customer type: string ProductName__c: description: The name of the product that is being shipped to customer. label: Product Name type: string Quantity__c: description: The quantity of product that is being shipped to customer. label: Quantity maximum: 20 minimum: 1 type: integer ShippingDate__c: description: The date the product will be sent to shipping vendor for delivery. format: date label: Shipping Date type: string ShippingStatus__c: default: Pending description: The status of the shipment - e.g. Pending, Preparing shipment, Waiting for tracking information, or Shipped. enum: - Pending - Preparing shipment - Waiting for tracking information - Shipped label: Shipping Status type: string SubscriptionId__c: description: The subscription that is associated with the shipment record. format: uuid label: Subscription type: string TotalWeight__c: description: The total weight of the product and packaging that is being shipped to customer. label: Total Weight (lbs.) minimum: 0 type: number relationships: - cardinality: manyToOne fields: SubscriptionId__c: Id namespace: com_zuora object: subscription recordConstraints: create: enforceValidMapping: false - cardinality: manyToOne fields: ContactId__c: Id namespace: com_zuora object: contact recordConstraints: create: enforceValidMapping: false required: - SubscriptionId__c - ContactId__c - ProductName__c - Quantity__c - ShippingDate__c birth_place_custom_object: filterable: - city__c label: Birth Place Custom Object object: birth_place_custom_object properties: ContactId__c: format: uuid label: Contact type: string city__c: label: city label type: string country__c: label: country label type: string state__c: label: state label type: string relationships: - cardinality: manyToOne fields: ContactId__c: Id namespace: com_zuora object: contact recordConstraints: create: enforceValidMapping: false required: - city__c - state__c - country__c type: object properties: definitions: $ref: '#/definitions/PostCustomObjectDefinitionsRequestDefinitions' type: object FieldsAdditionalProperties: additionalProperties: type: string description: 'Field mappings in the form of ``: ``. ' title: relationshipFieldMapping type: object MigrationUpdateCustomObjectDefinitionsResponse: additionalProperties: false properties: actions: description: The actions of updating custom object definitions, to be performed as parts of the migration. Currently only one action per migration is supported. items: $ref: '#/definitions/CustomObjectDefinitionUpdateActionResponse' maxItems: 1 minItems: 1 type: array type: object parameters: GLOBAL_HEADER_Accept_Encoding: name: Accept-Encoding in: header required: false type: string description: "Include the `Accept-Encoding: gzip` header to compress responses as a gzipped file. It can significantly reduce the bandwidth required for a response. \n\nIf specified, Zuora automatically compresses responses that contain over 1000 bytes of data, and the response contains a `Content-Encoding` header with the compression algorithm so that your client can decompress it.\n" GLOBAL_HEADER_Zuora_Org_Ids: name: Zuora-Org-Ids in: header required: false type: string description: "Comma separated IDs. If you have Zuora Multi-Org enabled, \nyou can use this header to specify which orgs to perform the operation in. If you do not have Zuora Multi-Org enabled, you should not set this header.\n\nThe IDs must be a sub-set of the user's accessible orgs. If you specify an org that the user does not have access to, the operation fails.\n\nIf the header is not set, the operation is performed in scope of the user's accessible orgs.\n" GLOBAL_HEADER_Idempotency_Key: name: Idempotency-Key in: header required: false type: string maxLength: 255 description: "Specify a unique idempotency key if you want to perform an idempotent POST or PATCH request. Do not use this header in other request types. \n\nWith this header specified, the Zuora server can identify subsequent retries of the same request using this value, which prevents the same operation from being performed multiple times by accident. \n" GLOBAL_HEADER_Content_Encoding: name: Content-Encoding in: header required: false type: string description: 'Include the `Content-Encoding: gzip` header to compress a request. With this header specified, you should upload a gzipped file for the request payload instead of sending the JSON payload. ' GLOBAL_HEADER_Zuora_Entity_Ids_Single: name: Zuora-Entity-Ids in: header required: false type: string description: 'An entity ID. If you have [Zuora Multi-entity](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Multi-entity) enabled and the OAuth token is valid for more than one entity, you must use this header to specify which entity to perform the operation in. If the OAuth token is only valid for a single entity, or you do not have Zuora Multi-entity enabled, you do not need to set this header. ' GLOBAL_HEADER_Zuora_Track_Id: name: Zuora-Track-Id in: header required: false type: string maxLength: 64 description: 'A custom identifier for tracing the API call. If you set a value for this header, Zuora returns the same value in the response headers. This header enables you to associate your system process identifiers with Zuora API calls, to assist with troubleshooting in the event of an issue. The value of this field must use the US-ASCII character set and must not include any of the following characters: colon (`:`), semicolon (`;`), double quote (`"`), and quote (`''`). ' GLOBAL_HEADER_Authorization_OAuth: name: Authorization in: header required: true type: string description: 'The value is in the `Bearer {token}` format where {token} is a valid OAuth token generated by calling [Create an OAuth token](/api-references/api/operation/createToken). ' x-tagGroups: - name: Authentication tags: - OAuth - name: Products tags: - Products - Catalog - Catalog Groups - Offers - Price Book Items - Product Rate Plans - Product Rate Plan Definitions - Product Rate Plan Charges - Product Charge Definitions - Product Rate Plan Charge Tiers - Zuora Revenue Integration - name: Customer Accounts tags: - Accounts - Contacts - Contact Snapshots - name: Orders and Subscriptions tags: - Sign Up - Orders - Order Actions - Order Line Items - Fulfillments - Ramps - Subscriptions - Rate Plans - name: Advanced Consumption Billing tags: - Prepaid with Drawdown - name: Usage tags: - Usage - name: Billing Documents tags: - Delivery Adjustments - Billing Documents - Invoices - Credit Memos - Debit Memos - E-Invoicing - Invoice Schedules - Taxation Items - Sequence Sets - Operations - name: Bill Runs tags: - Bill Run - Billing Preview Run - name: Payment Methods tags: - Payment Methods - Custom Payment Method Types - Payment Method Updater - Payment Method Snapshots - Payment Method Transaction Logs - Hosted Pages - RSA Signatures - name: Payments tags: - Payment Authorization - Payment Gateways - Payment Gateway Reconciliation - Payments - Payment Transaction Logs - Payment Runs - Payment Schedules - Refunds - name: Finance tags: - Accounting Codes - Accounting Periods - Summary Journal Entries - Journal Runs - Mass Updater - name: Events and Notifications tags: - Notifications - Custom Event Triggers - Custom Scheduled Events - name: Custom Objects tags: - Custom Object Definitions - Custom Object Records - Custom Object Jobs - name: System Health tags: - API Health - Bill Run Health - Electronic Payments Health - name: Workflow tags: - Workflows - name: Data Query tags: - Data Queries - name: AQuA tags: - Aggregate Queries - name: Deployment Manager tags: - Configuration Templates - name: Multiple Organizations tags: - Data Labeling - name: Order to Revenue tags: - Regenerate - name: General-Purpose Operations tags: - Actions - Settings - Files - Imports - Custom Exchange Rates - Attachments - Describe