swagger: '2.0'
info:
  version: '2020-04-08'
  title: Zuora API Reference
  x-logo:
    url: https://www.zuora.com/wp-content/uploads/2016/10/zuora-dev-logo-api-ref.svg
  description: "\n\n# Introduction\nWelcome to the reference for the Zuora REST API!\n\
    \nIn addition to Zuora API Reference, we also provide API references for other\
    \ Zuora products:\n\n  * [Zuora Collect API Reference](https://www.zuora.com/developer/collect-api/)\n\
    \  * [RevPro API Reference](https://www.zuora.com/developer/revpro-api/)\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 Object Model.\n\nWant to share your opinion on how our API works for you?\
    \ <a href=\"https://community.zuora.com/t5/Developers/API-Feedback-Form/gpm-p/21399\"\
    \ target=\"_blank\">Tell us how you feel </a>about using our API and what we can\
    \ do to make it better.\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 Production | https://rest.zuora.com   |\n|US API Sandbox    | https://rest.apisandbox.zuora.com|\n\
    |US Performance Test | https://rest.pt1.zuora.com |\n|US Production Copy | Submit\
    \ a request at <a href=\"http://support.zuora.com/\" target=\"_blank\">Zuora Global\
    \ Support</a> 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 Sandbox\
    \ | https://rest.sandbox.eu.zuora.com |\n\nThe Production endpoint provides access\
    \ to your live user data. API Sandbox tenants are a good place to test code without\
    \ affecting real-world data. If you would like Zuora to provision an API Sandbox\
    \ tenant for you, contact your Zuora representative for assistance.\n\n\nIf you\
    \ do not have a Zuora tenant, go to <a href=\"https://www.zuora.com/resource/zuora-test-drive\"\
    \ target=\"_blank\">https://www.zuora.com/resource/zuora-test-drive</a> and sign\
    \ up for a Production Test Drive tenant. The tenant comes with seed data, including\
    \ a sample product catalog.\n\n# API Changelog\nYou can find the <a href=\"https://community.zuora.com/t5/Developers/API-Changelog/gpm-p/18092\"\
    \ target=\"_blank\">Changelog</a> of the API Reference in the Zuora Community.\n\
    \n# Authentication\n\n## OAuth v2.0\n\nZuora recommends that you use OAuth v2.0\
    \ to authenticate to the Zuora REST API. Currently, OAuth is not available in\
    \ every environment. See [Zuora Testing Environments](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/D_Zuora_Environments)\
    \ for more information.\n\nZuora recommends you to create a dedicated API user\
    \ with API write access on a tenant when authenticating via OAuth, and then create\
    \ an OAuth client for this user. See <a href=\"https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/Manage_Users/Create_an_API_User\"\
    \ target=\"_blank\">Create an API User</a> for how to do this. By creating a dedicated\
    \ API user, you can control permissions of the API user without affecting other\
    \ non-API users.\n\nIf a user is deactivated, all of the user's OAuth clients\
    \ will be automatically deactivated.\n\nAuthenticating via OAuth requires the\
    \ following steps:\n1. Create a Client\n2. Generate a Token\n3. Make Authenticated\
    \ Requests\n\n### Create a Client\n\nYou must first [create an OAuth client](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/Manage_Users#Create_an_OAuth_Client_for_a_User)\
    \ in the Zuora UI. To do this, you must be an administrator of your Zuora tenant.\
    \ This is a one-time operation. You will be provided with a Client ID and a Client\
    \ Secret. Please note this information down, as it will be required for the next\
    \ step.\n\n**Note:** The OAuth client will be owned by a Zuora user account. If\
    \ you want to perform PUT, POST, or DELETE operations using the OAuth client,\
    \ the owner of the OAuth client must have a Platform role that includes the \"\
    API Write Access\" permission.\n\n### Generate a Token\n\nAfter creating a client,\
    \ you must make a call to obtain a bearer token using the [Generate an OAuth token](https://www.zuora.com/developer/api-reference/#operation/createToken)\
    \ operation. This operation requires the following parameters:\n- `client_id`\
    \ - the Client ID displayed when you created the OAuth client in the previous\
    \ step\n- `client_secret` - the Client Secret displayed when you created the OAuth\
    \ client in the previous step\n- `grant_type` - must be set to `client_credentials`\n\
    \n**Note**: The Client ID and Client Secret mentioned above were displayed when\
    \ you created the OAuth Client in the prior step. The [Generate an OAuth token](https://www.zuora.com/developer/api-reference/#operation/createToken)\
    \ response specifies how long the bearer token is valid for. You should reuse\
    \ the bearer token until it is expired. When the token is expired, call [Generate\
    \ an OAuth token](https://www.zuora.com/developer/api-reference/#operation/createToken)\
    \ again to generate a new one.\n\n### Make Authenticated Requests\n\nTo authenticate\
    \ subsequent API requests, you must provide a valid bearer token in an HTTP header:\n\
    \n`Authorization: Bearer {bearer_token}`\n\nIf you have [Zuora Multi-entity](https://www.zuora.com/developer/api-reference/#tag/Entities)\
    \ enabled, you need to set an additional header to specify the ID of the entity\
    \ that you want to access. You can use the `scope` field in the [Generate an OAuth\
    \ token](https://www.zuora.com/developer/api-reference/#operation/createToken)\
    \ response to determine whether you need to specify an entity ID.\n\nIf the `scope`\
    \ field contains more than one entity ID, you must specify the ID of the entity\
    \ that you want to access. For example, if the `scope` field contains `entity.1a2b7a37-3e7d-4cb3-b0e2-883de9e766cc`\
    \ and `entity.c92ed977-510c-4c48-9b51-8d5e848671e9`, specify one of the following\
    \ headers:\n- `Zuora-Entity-Ids: 1a2b7a37-3e7d-4cb3-b0e2-883de9e766cc`\n- `Zuora-Entity-Ids:\
    \ c92ed977-510c-4c48-9b51-8d5e848671e9`\n\n**Note**: For a limited period of time,\
    \ Zuora will accept the `entityId` header as an alternative to the `Zuora-Entity-Ids`\
    \ header. If you choose to set the `entityId` header, you must remove all \"-\"\
    \ characters from the entity ID in the `scope` field.\n\nIf the `scope` field\
    \ contains a single entity ID, you do not need to specify an entity ID.\n\n##\
    \ Other Supported Authentication Schemes\n\nZuora continues to support the following\
    \ additional legacy means of authentication:\n\n  * Use username and password.\
    \ Include authentication with each request in the header: \n  \n    * `apiAccessKeyId`\
    \ \n    * `apiSecretAccessKey`\n    \n    Zuora recommends that you create an\
    \ API user specifically for making API calls. See <a href=\"https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/Manage_Users/Create_an_API_User\"\
    \ target=\"_blank\">Create an API User</a> for more information.\n  \n  * Use\
    \ an authorization cookie. The cookie authorizes the user to make calls to the\
    \ REST API for the duration specified in  **Administration > Security Policies\
    \ > Session timeout**. The cookie expiration time is reset with this duration\
    \ after every call to the REST API. To obtain a cookie, call the [Connections](https://www.zuora.com/developer/api-reference/#tag/Connections)\
    \ resource with the following API user information: \n  \n    *   ID    \n   \
    \ *   Password\n    \n  * For CORS-enabled APIs only: Include a 'single-use' token\
    \ in the request header, which re-authenticates the user with each request. See\
    \ below for more details.\n\n### Entity Id and Entity Name\n\nThe `entityId` and\
    \ `entityName` parameters are only used for [Zuora Multi-entity](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Multi-entity\
    \ \"Zuora Multi-entity\"). These are the legacy parameters that Zuora will only\
    \ continue to support for a period of time. Zuora recommends you to use the `Zuora-Entity-Ids`\
    \ parameter instead.\n\n\nThe  `entityId` and `entityName` parameters specify\
    \ the Id and the [name of the entity](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Multi-entity/B_Introduction_to_Entity_and_Entity_Hierarchy#Name_and_Display_Name\
    \ \"Introduction to Entity and Entity Hierarchy\") that you want to access, respectively.\
    \ Note that you must have permission to access the entity. \n\nYou can specify\
    \ either the `entityId` or `entityName` parameter in the authentication to access\
    \ and view an entity.\n\n  * If both `entityId` and `entityName` are specified\
    \ in the authentication, an error occurs. \n  * If neither `entityId` nor `entityName`\
    \ is specified in the authentication, you will log in to the entity in which your\
    \ user account is created. \n  \n\nTo get the entity Id and entity name, you can\
    \ use the GET Entities REST call. For more information, see [API User Authentication](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Multi-entity/A_Overview_of_Multi-entity#API_User_Authentication\
    \ \"API User Authentication\").\n  \n  ### Token Authentication for CORS-Enabled\
    \ APIs\n  \n  The CORS mechanism enables REST API calls to Zuora to be made directly\
    \ from your customer's browser, with all credit card and security information\
    \ transmitted directly to Zuora. This minimizes your PCI compliance burden, allows\
    \ you to implement advanced validation on your payment forms, and  makes your\
    \ payment forms look just like any other part of your website.\n  \nFor security\
    \ reasons, instead of using cookies, an API request via CORS uses **tokens** for\
    \ authentication.\n\nThe token method of authentication is only designed for use\
    \ with requests that must originate from your customer's browser; **it should\
    \  not be considered a replacement to the existing cookie authentication** mechanism.\n\
    \nSee [Zuora CORS REST](https://knowledgecenter.zuora.com/DC_Developers/C_REST_API/Zuora_CORS_REST\
    \ \"Zuora CORS REST\") for details on how CORS works and how you can begin to\
    \ implement customer calls to the Zuora REST APIs. See  [HMAC Signatures](https://www.zuora.com/developer/api-reference/#operation/POSTHMACSignature\
    \ \"HMAC Signatures\") for details on the HMAC method that returns the authentication\
    \ token.\n\n# Requests and Responses\n\n## Request IDs \nAs a general rule, when\
    \ asked to supply a \"key\" for an account or subscription (accountKey, account-key,\
    \ subscriptionKey, subscription-key), you can provide either the actual ID or\
    \  the number of the entity.\n\n## HTTP Request Body\n\nMost of the parameters\
    \ and data accompanying your requests will be contained in the body of the HTTP\
    \ request. \n\nThe Zuora REST API accepts JSON in the HTTP request body. No other\
    \ data format (e.g., XML) is supported.\n\n### Data Type\n\n([Actions](https://www.zuora.com/developer/api-reference/#tag/Actions)\
    \ and CRUD operations only) We recommend that you do not specify the decimal values\
    \ with quotation marks, commas, and spaces. Use characters of `+-0-9.eE`, for\
    \ example, `5`, `1.9`, `-8.469`, and `7.7e2`. Also, Zuora does not convert currencies\
    \ for decimal values.\n\n## Testing a Request\n\nUse a third party client, such\
    \ as [curl](https://curl.haxx.se \"curl\"), [Postman](https://www.getpostman.com\
    \ \"Postman\"), or [Advanced REST Client](https://advancedrestclient.com \"Advanced\
    \ REST Client\"), to test the Zuora REST API.\n\nYou can test the Zuora REST API\
    \ from the Zuora API Sandbox or Production tenants. If connecting to Production,\
    \ bear in mind that you are working with your live production data, not sample\
    \ data or test data.\n\n## Testing with Credit Cards\n\nSooner or later it will\
    \ probably be necessary to test some transactions that involve credit cards. For\
    \ suggestions on how to handle this, see [Going Live With Your Payment Gateway](https://knowledgecenter.zuora.com/CB_Billing/M_Payment_Gateways/C_Managing_Payment_Gateways/B_Going_Live_Payment_Gateways#Testing_with_Credit_Cards\
    \ \"C_Zuora_User_Guides/A_Billing_and_Payments/M_Payment_Gateways/C_Managing_Payment_Gateways/B_Going_Live_Payment_Gateways#Testing_with_Credit_Cards\"\
    \n).\n\n## Concurrent Request Limits\n\nZuora enforces tenant-level concurrent\
    \ request limits. See <a href=\"https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Policies/Concurrent_Request_Limits\"\
    \ target=\"_blank\">Concurrent Request Limits</a> for more information.\n\n##\
    \ Timeout Limit\n\nIf a request does not complete within 120 seconds, the request\
    \ times out and Zuora returns a Gateway Timeout error.\n\n## Error Handling\n\n\
    Responses and error codes are detailed in [Responses and errors](https://knowledgecenter.zuora.com/DC_Developers/C_REST_API/Responses_and_Errors\
    \ \"Responses and errors\").\n\n# Pagination\n\nWhen retrieving information (using\
    \ GET methods), the optional `pageSize` query parameter sets the maximum number\
    \ of rows to return in a response. The maximum is `40`; larger values are treated\
    \ as `40`. If this value is empty or invalid, `pageSize` typically defaults to\
    \ `10`.\n\nThe default value for the maximum number of rows retrieved can be overridden\
    \ at the method level.\n\nIf more rows are available, the response will include\
    \ a `nextPage` element, which contains a URL for requesting the next page.  If\
    \ this value is not provided, no more rows are available. No \"previous page\"\
    \ element is explicitly provided; to support backward paging, use the previous\
    \ call.\n\n## Array Size\n\nFor data items that are not paginated, the REST API\
    \ supports arrays of up to 300 rows.  Thus, for instance, repeated pagination\
    \ can retrieve thousands of customer accounts, but within any account an array\
    \ of no more than 300 rate plans is returned.\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. Currently, Zuora only supports\
    \ the **v1** major version. 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 serial.\
    \ This section documents the changes made to each Zuora REST API minor version.\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](https://www.zuora.com/developer/api-reference/#operation/POST_Subscription\
    \ \"Create Subscription\"); [Update Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_Subscription\
    \ \"Update Subscription\"); [Renew Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_RenewSubscription\
    \ \"Renew Subscription\"); [Cancel Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_CancelSubscription\
    \ \"Cancel Subscription\"); [Suspend Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_SuspendSubscription\
    \ \"Suspend Subscription\"); [Resume Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_ResumeSubscription\
    \ \"Resume Subscription\"); [Create Account](https://www.zuora.com/developer/api-reference/#operation/POST_Account\
    \ \"Create Account\")|Generates an invoice and collects a payment for a subscription.\
    \ |\n| collect        | 196.0 and later    | [Create Subscription](https://www.zuora.com/developer/api-reference/#operation/POST_Subscription\
    \ \"Create Subscription\"); [Update Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_Subscription\
    \ \"Update Subscription\"); [Renew Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_RenewSubscription\
    \ \"Renew Subscription\"); [Cancel Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_CancelSubscription\
    \ \"Cancel Subscription\"); [Suspend Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_SuspendSubscription\
    \ \"Suspend Subscription\"); [Resume Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_ResumeSubscription\
    \ \"Resume Subscription\"); [Create Account](https://www.zuora.com/developer/api-reference/#operation/POST_Account\
    \ \"Create Account\")|Collects an automatic payment for a subscription. |\n| invoice\
    \ | 196.0 and 207.0| [Create Subscription](https://www.zuora.com/developer/api-reference/#operation/POST_Subscription\
    \ \"Create Subscription\"); [Update Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_Subscription\
    \ \"Update Subscription\"); [Renew Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_RenewSubscription\
    \ \"Renew Subscription\"); [Cancel Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_CancelSubscription\
    \ \"Cancel Subscription\"); [Suspend Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_SuspendSubscription\
    \ \"Suspend Subscription\"); [Resume Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_ResumeSubscription\
    \ \"Resume Subscription\"); [Create Account](https://www.zuora.com/developer/api-reference/#operation/POST_Account\
    \ \"Create Account\")|Generates an invoice for a subscription. |\n| invoiceTargetDate\
    \ | 196.0 and earlier  | [Preview Subscription](https://www.zuora.com/developer/api-reference/#operation/POST_SubscriptionPreview\
    \ \"Preview Subscription\") |Date through which charges are calculated on the\
    \ invoice, as `yyyy-mm-dd`. |\n| invoiceTargetDate | 207.0 and earlier  | [Create\
    \ Subscription](https://www.zuora.com/developer/api-reference/#operation/POST_Subscription\
    \ \"Create Subscription\"); [Update Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_Subscription\
    \ \"Update Subscription\"); [Renew Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_RenewSubscription\
    \ \"Renew Subscription\"); [Cancel Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_CancelSubscription\
    \ \"Cancel Subscription\"); [Suspend Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_SuspendSubscription\
    \ \"Suspend Subscription\"); [Resume Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_ResumeSubscription\
    \ \"Resume Subscription\"); [Create Account](https://www.zuora.com/developer/api-reference/#operation/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](https://www.zuora.com/developer/api-reference/#operation/POST_SubscriptionPreview\
    \ \"Preview Subscription\") |Date through which charges are calculated on the\
    \ invoice, as `yyyy-mm-dd`. |\n| targetDate | 211.0 and later | [Create Subscription](https://www.zuora.com/developer/api-reference/#operation/POST_Subscription\
    \ \"Create Subscription\"); [Update Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_Subscription\
    \ \"Update Subscription\"); [Renew Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_RenewSubscription\
    \ \"Renew Subscription\"); [Cancel Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_CancelSubscription\
    \ \"Cancel Subscription\"); [Suspend Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_SuspendSubscription\
    \ \"Suspend Subscription\"); [Resume Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_ResumeSubscription\
    \ \"Resume Subscription\"); [Create Account](https://www.zuora.com/developer/api-reference/#operation/POST_Account\
    \ \"Create Account\")|Date through which charges are calculated on the invoice,\
    \ as `yyyy-mm-dd`. |\n| includeExisting DraftInvoiceItems | 196.0 and earlier|\
    \ [Preview Subscription](https://www.zuora.com/developer/api-reference/#operation/POST_SubscriptionPreview\
    \ \"Preview Subscription\"); [Update Subscription](https://www.zuora.com/developer/api-reference/#operation/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](https://www.zuora.com/developer/api-reference/#operation/POST_SubscriptionPreview\
    \ \"Preview Subscription\"); [Update Subscription](https://www.zuora.com/developer/api-reference/#operation/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 | 196.0 and earlier| [Preview\
    \ Subscription](https://www.zuora.com/developer/api-reference/#operation/POST_SubscriptionPreview\
    \ \"Preview Subscription\"); [Update Subscription](https://www.zuora.com/developer/api-reference/#operation/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](https://www.zuora.com/developer/api-reference/#operation/POST_SubscriptionPreview\
    \ \"Preview Subscription\"); [Update Subscription](https://www.zuora.com/developer/api-reference/#operation/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](https://www.zuora.com/developer/api-reference/#operation/POST_Subscription\
    \ \"Create Subscription\"); [Update Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_Subscription\
    \ \"Update Subscription\"); [Renew Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_RenewSubscription\
    \ \"Renew Subscription\"); [Cancel Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_CancelSubscription\
    \ \"Cancel Subscription\"); [Suspend Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_SuspendSubscription\
    \ \"Suspend Subscription\"); [Resume Subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_ResumeSubscription\
    \ \"Resume Subscription\"); [Create Account](https://www.zuora.com/developer/api-reference/#operation/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](https://www.zuora.com/developer/api-reference/#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](https://www.zuora.com/developer/api-reference/#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](https://www.zuora.com/developer/api-reference/#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](https://www.zuora.com/developer/api-reference/#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](https://www.zuora.com/developer/api-reference/#operation/POST_CreditMemoFromPrpc\
    \ \"Create credit memo from charge\"); [Create debit memo from charge](https://www.zuora.com/developer/api-reference/#operation/POST_DebitMemoFromPrpc\
    \ \"Create debit memo from charge\") | Amount of the memo item. |\n| amount |\
    \ 224.0 and later | [Create credit memo from charge](https://www.zuora.com/developer/api-reference/#operation/POST_CreditMemoFromPrpc\
    \ \"Create credit memo from charge\"); [Create debit memo from charge](https://www.zuora.com/developer/api-reference/#operation/POST_DebitMemoFromPrpc\
    \ \"Create debit memo from charge\") | Amount of the memo item. |\n| subscriptionNumbers\
    \ | 222.4 and earlier | [Create order](https://www.zuora.com/developer/api-reference/#operation/POST_Order\
    \ \"Create order\") | Container for the subscription numbers of the subscriptions\
    \ in an order. |\n| subscriptions | 223.0 and later | [Create order](https://www.zuora.com/developer/api-reference/#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](https://www.zuora.com/developer/api-reference/#operation/GET_CreditMemoItems\
    \ \"Get credit memo items\"); [Get credit memo item](https://www.zuora.com/developer/api-reference/#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](https://www.zuora.com/developer/api-reference/#operation/GET_DebitMemoItems\
    \ \"Get debit memo items\"); [Get debit memo item](https://www.zuora.com/developer/api-reference/#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](https://www.zuora.com/developer/api-reference/#operation/GET_CreditMemoItems\
    \ \"Get credit memo items\"); [Get credit memo item](https://www.zuora.com/developer/api-reference/#operation/GET_CreditMemoItem\
    \ \"Get credit memo item\"); [Get debit memo items](https://www.zuora.com/developer/api-reference/#operation/GET_DebitMemoItems\
    \ \"Get debit memo items\"); [Get debit memo item](https://www.zuora.com/developer/api-reference/#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](https://www.zuora.com/developer/api-reference/#operation/POST_CreditMemoFromPrpc\
    \ \"Create credit memo from charge\"); [Create debit memo from charge](https://www.zuora.com/developer/api-reference/#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](https://www.zuora.com/developer/api-reference/#operation/POST_CreditMemoFromPrpc\
    \ \"Create credit memo from charge\"); [Create debit memo from charge](https://www.zuora.com/developer/api-reference/#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](https://www.zuora.com/developer/api-reference/#operation/POST_CreditMemoFromPrpc\
    \ \"Create credit memo from charge\"); [Create debit memo from charge](https://www.zuora.com/developer/api-reference/#operation/POST_DebitMemoFromPrpc\
    \ \"Create debit memo from charge\"); [Create credit memo from invoice](https://www.zuora.com/developer/api-reference/#operation/POST_CreditMemoFromInvoice\
    \ \"Create credit memo from invoice\"); [Create debit memo from invoice](https://www.zuora.com/developer/api-reference/#operation/POST_DebitMemoFromInvoice\
    \ \"Create debit memo from invoice\"); [Get credit memo items](https://www.zuora.com/developer/api-reference/#operation/GET_CreditMemoItems\
    \ \"Get credit memo items\"); [Get credit memo item](https://www.zuora.com/developer/api-reference/#operation/GET_CreditMemoItem\
    \ \"Get credit memo item\"); [Get debit memo items](https://www.zuora.com/developer/api-reference/#operation/GET_DebitMemoItems\
    \ \"Get debit memo items\"); [Get debit memo item](https://www.zuora.com/developer/api-reference/#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](https://www.zuora.com/developer/api-reference/#operation/POST_CreditMemoFromPrpc\
    \ \"Create credit memo from charge\"); [Create debit memo from charge](https://www.zuora.com/developer/api-reference/#operation/POST_DebitMemoFromPrpc\
    \ \"Create debit memo from charge\"); [Create credit memo from invoice](https://www.zuora.com/developer/api-reference/#operation/POST_CreditMemoFromInvoice\
    \ \"Create credit memo from invoice\"); [Create debit memo from invoice](https://www.zuora.com/developer/api-reference/#operation/POST_DebitMemoFromInvoice\
    \ \"Create debit memo from invoice\"); [Get credit memo items](https://www.zuora.com/developer/api-reference/#operation/GET_CreditMemoItems\
    \ \"Get credit memo items\"); [Get credit memo item](https://www.zuora.com/developer/api-reference/#operation/GET_CreditMemoItem\
    \ \"Get credit memo item\"); [Get debit memo items](https://www.zuora.com/developer/api-reference/#operation/GET_DebitMemoItems\
    \ \"Get debit memo items\"); [Get debit memo item](https://www.zuora.com/developer/api-reference/#operation/GET_DebitMemoItem\
    \ \"Get debit memo item\") | Description of the the product rate plan charge,\
    \ invoice item, or memo item. |\n\n\n#### Version 207.0 and Later\n\nThe response\
    \ structure of the [Preview Subscription](https://www.zuora.com/developer/api-reference/#operation/POST_SubscriptionPreview\
    \ \"Preview Subscription\") and [Update Subscription](https://www.zuora.com/developer/api-reference/#operation/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# Zuora\
    \ Object Model\n\nThe following diagram presents a high-level view of the key\
    \ Zuora objects. Click the image to open it in a new tab to resize it.\n\n<a href=\"\
    https://www.zuora.com/wp-content/uploads/2017/01/ZuoraERD.jpeg\" target=\"_blank\"\
    ><img src=\"https://www.zuora.com/wp-content/uploads/2017/01/ZuoraERD.jpeg\" alt=\"\
    Zuora Object Model Diagram\"></a>\n\nSee the following articles for information\
    \ about other parts of the Zuora business object model:\n\n  * <a href=\"https://knowledgecenter.zuora.com/CB_Billing/Invoice_Settlement/D_Invoice_Settlement_Object_Model\"\
    \ target=\"_blank\">Invoice Settlement Object Model</a>\n  * <a href=\"https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/BA_Orders_Object_Model\"\
    \ target=\"_blank\">Orders Object Model</a>\n\nYou can use the [Describe object](https://www.zuora.com/developer/api-reference/#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                                   | <p>`BillingRun` - API\
    \ name used  in the [Describe object](https://www.zuora.com/developer/api-reference/#operation/GET_Describe)\
    \ operation, Export ZOQL queries, and Data Query.</p> <p>`BillRun` - API name\
    \ used in the [Actions](https://www.zuora.com/developer/api-reference/#tag/Actions).\
    \ See the CRUD oprations of [Bill Run](https://www.zuora.com/developer/api-reference/#tag/Bill-Run)\
    \ for more information about the `BillRun` object. `BillingRun` and `BillRun`\
    \ have different fields. |\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| 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| Journal Entry                               \
    \  | `JournalEntry`                             |\n| Journal Entry Item      \
    \                      | `JournalEntryItem`                         |\n| Journal\
    \ Run                                   | `JournalRun`                       \
    \        |\n| Order                                         | `Order`        \
    \                            |\n| Order Action                               \
    \   | `OrderAction`                              |\n| Order ELP              \
    \                       | `OrderElp`                                 |\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| Processed Usage                               | `ProcessedUsage`\
    \                           |\n| Product                                     \
    \  | `Product`                                  |\n| Product Feature         \
    \                      | `ProductFeature`                           |\n| Product\
    \ Rate Plan                             | `ProductRatePlan`                  \
    \        |\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
schemes:
- https
basePath: /
produces:
- application/json; charset=utf-8
consumes:
- application/json; charset=utf-8
tags:
- name: Actions
  description: |
    Actions are operations that are batch in nature. For example, the "create", "update", "delete", and other operations allow changes to up-to 50 objects at a time. The "query" operation will return up-to 2000 result records back at a time, before requiring additional pages of data to be returned via a subsequent "queryMore" operation.

    The default WSDL version for Actions is 79. If you want to change the WSDL version, set the `X-Zuora-WSDL-Version` header. To find out in which WSDL version a particular object or field was introduced, see [Zuora SOAP API Version History](https://knowledgecenter.zuora.com/DC_Developers/G_SOAP_API/Zuora_SOAP_API_Version_History).

    **Note**: Actions do not support the Invoice Settlement feature. This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. Actions also do not support the Orders feature.
- name: Accounting Codes
  description: ''
- name: Accounting Periods
  description: ''
- name: Accounts
  description: |
    Some operations in this section are similar to each other, but are provided for different use scenarios. You should choose the one that best suits your needs.

    For example, the [Create account](https://www.zuora.com/developer/api-reference/#operation/POST_Account) operation is used to create an account with a credit card payment method, a bill-to contact, and optionally an sold-to contact or an associated subscription. If you want to create an account without creating any associated objects such as subscriptions, use [CRUD: Create Account](https://www.zuora.com/developer/api-reference/#operation/Object_POSTAccount) instead.

    If you want to create an account and the associated subscription at the same time without providing credit card information, use the [Subscribe](https://www.zuora.com/developer/api-reference/#operation/Action_POSTsubscribe) action.
- name: Amendments
  description: 'You can use amendments to modify subscriptions. However, Zuora recommends
    you to use [Update subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_Subscription)
    (recommended) or [Amend](https://www.zuora.com/developer/api-reference/#operation/Action_POSTamend)
    to do so.

    '
- name: Attachments
  description: ''
- name: Bill Run
  description: 'Use the Bill Run call to create ad hoc bill runs and Post, Cancel,
    Query, and Delete bill runs.

    '
- name: Billing Documents
  description: ''
- name: Billing Preview Run
  description: ''
- name: Catalog
  description: ''
- name: Charge Revenue Summaries
  description: ''
- name: Communication Profiles
  description: ''
- name: Connections
  description: ''
- name: Contacts
  description: ''
- name: Credit Balance Adjustments
  description: ''
- name: Credit Memos
  description: ''
- name: Custom Exchange Rates
  description: ''
- name: Custom Object Definitions
  description: |
    **Note:** The Custom Objects is an **Early Adopter** feature for existing customers. We are improving the product with feedback from early adopters, and aim to make the feature Generally Available soon.

    With Custom Objects service, you can define custom objects, extending the Zuora data model to accommodate your specific use cases.

    If you use Postman, you can import the custom object definitions 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:

    [![Run in Postman](https://run.pstmn.io/button.svg)](https://www.getpostman.com/run-collection/1f068ba43651bf63c0d4)

    You 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.

    Note 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.
- name: Custom Object Records
  description: |
    **Note:** The Custom Objects is an **Early Adopter** feature for existing customers. We are improving the product with feedback from early adopters, and aim to make the feature Generally Available soon.

    With Custom Objects service, you can create, update, delete and find custom object records.


    If you use Postman, you can import the custom object records 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:

    [![Run in Postman](https://run.pstmn.io/button.svg)](https://www.getpostman.com/run-collection/1f068ba43651bf63c0d4)

    You 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.

    Note that the Custom Object Records 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.
- name: Data Queries
  description: |
    The Data Query feature enables you to perform SQL queries in your Zuora tenant. To learn how to get started with Data Query, see [Overview of Data Query](https://knowledgecenter.zuora.com/DC_Developers/BA_Data_Query/A_Overview_of_Data_Query).

    **Note:** The Data Query feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](https://support.zuora.com).
- name: Debit Memos
  description: ''
- name: Describe
  description: ''
- name: Document Properties
  description: ''
- name: Entities
  description: ''
- name: Entity Connections
  description: ''
- name: Event Triggers
  description: ''
- name: Exports
  description: ''
- name: Features
  description: ''
- name: Get Files
  description: ''
- name: HMAC Signatures
  description: ''
- name: Hosted Pages
  description: ''
- name: Imports
  description: ''
- name: Invoice Adjustments
  description: ''
- name: Invoice Item Adjustments
  description: ''
- name: Invoice Items
  description: ''
- name: Invoice Payments
  description: ''
- name: Invoice Split Items
  description: ''
- name: Invoice Splits
  description: ''
- name: Invoices
  description: ''
- name: Journal Runs
  description: ''
- name: Mass Updater
  description: ''
- name: Notifications
  description: ''
- name: OAuth
  description: ''
- name: Operations
  description: ''
- name: Orders
  description: ''
- name: Payment Gateways
  description: ''
- name: Payment Gateway Reconciliation
  description: ''
- name: Payment Method Snapshots
  description: ''
- name: Payment Method Transaction Logs
  description: ''
- name: Payment Methods
  description: ''
- name: Payment Runs
  description: ''
- name: Payment Transaction Logs
  description: ''
- name: Payments
  description: ''
- name: Product Features
  description: ''
- name: Product Rate Plan Charge Tiers
  description: 'To manage product rate plan charge tiers, use the [Product Rate Plan
    Charges](https://www.zuora.com/developer/api-reference/#tag/Product-Rate-Plan-Charges)
    operations instead to update the corresponding product rate plan charge with all
    the tiers.

    '
- name: Product Rate Plan Charges
  description: ''
- name: Product Rate Plans
  description: ''
- name: Products
  description: ''
- name: Quotes Document
  description: ''
- name: Rate Plan Charge Tiers
  description: ''
- name: Rate Plan Charges
  description: ''
- name: Rate Plans
  description: ''
- name: Refund Invoice Payments
  description: ''
- name: Refund Transaction Logs
  description: ''
- name: Refunds
  description: ''
- name: Revenue Events
  description: ''
- name: Revenue Items
  description: ''
- name: Revenue Rules
  description: ''
- name: Revenue Schedules
  description: ''
- name: RSA Signatures
  description: ''
- name: Sequence Sets
  description: ''
- name: Settings
  description: |
    **Note:** The Settings API is **In Development**.

    The Setting API provides a central API for managing settings in your Zuora tenant.

    If you use Postman, you can import the Settings API 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:

    [![Run in Postman](https://run.pstmn.io/button.svg)](https://www.getpostman.com/run-collection/1379901-d43e93a3-7d51-437c-b4cd-14163dd62fa2-SWLk4kiK)

    You 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.
- name: Subscription Product Features
  description: "**Note:** The Entitlements settings must be enabled to use this operation.\
    \ Access to the Entitlements feature requires a specific edition of Zuora. See\
    \ [Zuora Editions](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/C_Zuora_Editions)\
    \ for details.    \n"
- name: Subscriptions
  description: ''
- name: Summary Journal Entries
  description: ''
- name: Taxation Items
  description: ''
- name: Transactions
  description: ''
- name: Unit Of Measure
  description: ''
- name: Usage
  description: ''
- name: Users
  description: ''
- name: Workflows
  description: ''
- name: RevPro Integration
  description: '**Note:** You can only use the operations in this section if you have
    the Zuora Billing - RevPro Integration feature enabled.

    '
parameters:
  GLOBAL_HEADER_Authorization_OAuth:
    name: Authorization
    in: header
    required: true
    type: string
    description: '`Bearer {token}` for a valid OAuth token.

      '
  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_If_Match:
    name: If-Match
    in: header
    required: false
    type: string
    description: "The expected ETag of the resource. You can use this header to perform\
      \ a conditional request. Zuora responds with 412 Precondition Failed if the\
      \ ETag of the resource does not match the value of this header. \n"
  GLOBAL_HEADER_Cursor:
    name: cursor
    in: query
    description: 'The cursor indicator of the data page you want to retrieve. By default,
      the first page of data is returned in the response. If more data pages are available,
      the operation returns `true` in the `hasMore` response body field. The `cursor`
      response body field specifies the cursor indicator of the next page of data.
      If there is no data after the current page, the value of `cursor` is `null`.

      '
    required: false
    type: string
  GLOBAL_HEADER_page_Usage:
    name: page
    in: query
    description: "The index number of the page you want to retrieve. By default, the\
      \ first page is returned in the response. \n"
    required: false
    type: integer
    format: int32
    default: 0
  GLOBAL_HEADER_pageSize_Usage:
    name: pageSize
    in: query
    description: "The maximum number of rows in a page to return in a response. \n"
    minimum: 25
    maximum: 2000
    default: 100
    required: false
    type: integer
    format: int32
  GLOBAL_HEADER_entityId:
    name: entityId
    in: header
    required: false
    type: string
    description: The Id of the entity that you want to access. Note that you must
      have permission to access the entity. For more information, see [REST Authentication](https://www.zuora.com/developer/api-reference/#section/Authentication/Entity-Id-and-Entity-Name).
  GLOBAL_HEADER_entityName:
    name: entityName
    in: header
    required: false
    type: string
    description: The [name of the entity](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Multi-entity/B_Introduction_to_Entity_and_Entity_Hierarchy#Name_and_Display_Name)
      that you want to access. Note that you must have permission to access the entity.
      For more information, see [REST Authentication](https://www.zuora.com/developer/api-reference/#section/Authentication/Entity-Id-and-Entity-Name).
  GLOBAL_REQUEST_page:
    name: page
    in: query
    required: false
    type: integer
    minimum: 1
    default: 1
    description: 'Page number.

      '
  GLOBAL_REQUEST_pageSize:
    name: pageSize
    in: query
    required: false
    type: integer
    maximum: 40
    default: 20
    description: 'Number of rows returned per page.

      '
  GLOBAL_REQUEST_pageSize_catalog:
    name: pageSize
    in: query
    required: false
    type: integer
    maximum: 40
    default: 10
    description: 'Number of rows returned per page.

      '
  GLOBAL_REQUEST_pageSize_finance_accounting:
    name: pageSize
    in: query
    required: false
    type: integer
    maximum: 300
    default: 300
    description: 'Number of rows returned per page.

      '
  GLOBAL_REQUEST_pageSize_finance_revenue:
    name: pageSize
    in: query
    required: false
    type: integer
    maximum: 300
    default: 8
    description: 'Number of rows returned per page.

      '
  GLOBAL_REQUEST_pageSize_entityConnection:
    name: pageSize
    in: query
    required: false
    type: integer
    maximum: 300
    default: 30
    description: 'Number of rows returned per page.

      '
  GLOBAL_HEADER_X_Zuora_WSDL_Version:
    name: X-Zuora-WSDL-Version
    in: header
    required: false
    type: string
    default: 79
    description: 'Zuora WSDL version number.

      '
  GLOBAL_HEADER_Authorization_OAuth_Notifications:
    name: Authorization
    in: header
    required: true
    type: string
    description: |
      `Bearer {token}` for a valid OAuth token.

      Note that you must regenerate the OAuth token after the Notification and the Configurable Event features are enabled in your Zuora tenant. The OAuth tokens generated before the features are turned on will not work.
paths:
  /v1/accounting-codes:
    post:
      summary: Create accounting code
      operationId: POST_AccountingCode
      description: "This reference describes how to create a new accounting code through\
        \ the REST API. \nThe accounting code will be active as soon as it has been\
        \ created.\n\n## Prerequisites\n  If you have Zuora Finance enabled on your\
        \ tenant, you must have the  Configure Accounting Codes permission. \n"
      tags:
      - Accounting Codes
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTAccountingCodeType'
      responses:
        '200':
          examples:
            application/json:
              id: 8a8081ae547aac1e01547efb61f20140
              success: true
          description: ''
          schema:
            $ref: '#/definitions/POSTAccountingCodeResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"name\": \"CASH\", \n\
          \    \"type\": \"Cash\"\n}' \"https://rest.zuora.com/v1/accounting-codes\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/accounting-codes');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"name\": \"CASH\", \n    \"type\": \"\
          Cash\"\n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"name\": \"CASH\", \n    \"type\": \"Cash\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/accounting-codes")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"name\": \"CASH\", \n    \"type\": \"Cash\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/accounting-codes", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/accounting-codes")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"name\": \"CASH\", \n    \"type\": \"Cash\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/accounting-codes");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"name\": \"CASH\", \n    \"type\": \"Cash\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      summary: Get all accounting codes
      operationId: GET_AllAccountingCodes
      description: This reference describes how to query all accounting codes in your
        chart of accounts through the REST API.
      tags:
      - Accounting Codes
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize_finance_accounting'
      responses:
        '200':
          examples:
            application/json:
              accountingCodes:
              - id: e20b0747478025a10147816ba1c20097
                name: Accounts Receivable
                type: AccountsReceivable
                glAccountName: null
                glAccountNumber: null
                notes: null
                category: Assets
                status: Active
                createdOn: '2014-07-29 02:20:20'
                createdBy: e20b074746ec48f40147140f51e30a1a
                updatedOn: '2014-07-29 02:20:20'
                updatedBy: e20b074746ec48f40147140f51e30a1a
              - id: e20b0747478025a10147816ba21900a0
                name: Discounts
                type: SalesDiscounts
                glAccountName: null
                glAccountNumber: null
                notes: null
                category: Revenue
                status: Inactive
                createdOn: '2014-07-29 02:20:20'
                createdBy: e20b074746ec48f40147140f51e30a1a
                updatedOn: '2014-09-27 22:11:07'
                updatedBy: e20b074746ec48f40147140f51e30a1a
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETAccountingCodesType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/accounting-codes"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/accounting-codes');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/accounting-codes")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/accounting-codes", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/accounting-codes")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/accounting-codes");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/accounting-codes/{ac-id}/activate:
    put:
      summary: Activate accounting code
      operationId: PUT_ActivateAccountingCode
      description: "This reference describes how to activate an accounting code through\
        \ the REST API.\n\nPrerequisites\n-------------\nIf you have Zuora Finance\
        \ enabled on your tenant, you must have the Manage Accounting Code permission.\
        \ \n"
      tags:
      - Accounting Codes
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: ac-id
        in: path
        required: true
        type: string
        description: ID of the accounting code you want to activate.
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/accounting-codes/{ac-id}/activate"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/accounting-codes/{ac-id}/activate');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/accounting-codes/{ac-id}/activate")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/accounting-codes/{ac-id}/activate", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/accounting-codes/{ac-id}/activate")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/accounting-codes/{ac-id}/activate");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/accounting-codes/{ac-id}/deactivate:
    put:
      summary: Deactivate accounting code
      operationId: PUT_DeactivateAccountingCode
      description: "This reference describes how to deactivate an accounting code\
        \ through the REST API.\n\n## Prerequisites\nIf you have Zuora Finance enabled\
        \ on your tenant, you must have the Manage Accounting Code permission.\n##\
        \ Limitations\nYou can only deactivate accounting codes that are not associated\
        \ with any transactions. \nYou cannot disable accounting codes of type AccountsReceivable.\n"
      tags:
      - Accounting Codes
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: ac-id
        in: path
        required: true
        type: string
        description: ID of the accounting code you want to deactivate.
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/accounting-codes/{ac-id}/deactivate"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/accounting-codes/{ac-id}/deactivate');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/accounting-codes/{ac-id}/deactivate")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/accounting-codes/{ac-id}/deactivate", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/accounting-codes/{ac-id}/deactivate")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/accounting-codes/{ac-id}/deactivate");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/accounting-codes/{ac-id}:
    delete:
      summary: Delete accounting code
      operationId: DELETE_AccountingCode
      description: |
        This reference describes how to delete an accounting code through the REST API.
        ## Prerequisites
        If you have Zuora Finance enabled on your tenant, then you must have the Delete Unused Accounting Code permission.
        ## Limitations
        You can only delete accounting codes that have never been associated with any transactions. An accounting code must be deactivated before you can delete it.
      tags:
      - Accounting Codes
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: ac-id
        in: path
        required: true
        type: string
        description: ID of the accounting code you want to delete.
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/accounting-codes/{ac-id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/accounting-codes/{ac-id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/accounting-codes/{ac-id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/accounting-codes/{ac-id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/accounting-codes/{ac-id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/accounting-codes/{ac-id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    get:
      summary: Query an accounting code
      operationId: GET_AccountingCode
      description: This reference describes how to query an accounting code through
        the REST API.
      tags:
      - Accounting Codes
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: ac-id
        in: path
        description: ID of the accounting code you want to query.
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              id: 8a8081ae547aac1e01547efb61f20140
              name: CASH
              type: Cash
              glAccountName: null
              glAccountNumber: null
              notes: null
              category: Assets
              status: Active
              createdOn: '2016-05-04 01:23:07'
              createdBy: e20b074746ec48f40147140f51e30a1a
              updatedOn: '2016-05-05 20:07:38'
              updatedBy: e20b074746ec48f40147140f51e30a1a
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETAccountingCodeItemType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/accounting-codes/{ac-id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/accounting-codes/{ac-id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/accounting-codes/{ac-id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/accounting-codes/{ac-id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/accounting-codes/{ac-id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/accounting-codes/{ac-id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: Update an accounting code
      operationId: PUT_AccountingCode
      description: "This reference describes how to update an existing accounting\
        \ code through the REST API.\n## Prerequisites\n  If you have Zuora Finance\
        \ enabled on your tenant, you must have the  Manage Accounting Code permission.\
        \ \n## Limitations\nYou can only update accounting codes that are not already\
        \ associated with any transactions.\n"
      tags:
      - Accounting Codes
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: ac-id
        in: path
        description: ID of the accounting code you want to update.
        required: true
        type: string
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUTAccountingCodeType'
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"name\": \"CASH\", \n\
          \    \"type\": \"Cash\"\n}' \"https://rest.zuora.com/v1/accounting-codes/{ac-id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/accounting-codes/{ac-id}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"name\": \"CASH\", \n    \"type\": \"\
          Cash\"\n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"name\": \"CASH\", \n    \"type\": \"Cash\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/accounting-codes/{ac-id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"name\": \"CASH\", \n    \"type\": \"Cash\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/accounting-codes/{ac-id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/accounting-codes/{ac-id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"name\": \"CASH\", \n    \"type\": \"Cash\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/accounting-codes/{ac-id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"name\": \"CASH\", \n    \"type\": \"Cash\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/accounting-periods/{ap-id}/close:
    put:
      summary: Close accounting period
      operationId: PUT_CloseAccountingPeriod
      description: |-
        Close an accounting period by accounting period ID.

        Prerequisites
        -------------
        You must have Zuora Finance enabled on your tenant. You must have the Manage Close Process and Run Trial Balance user permissions.

        Limitations
        -----------
        * The accounting period cannot already be closed.
        * The accounting period cannot be in the process of running a trial balance.
        * All earlier accounting periods must be closed.
        * There must be no required action items for the accounting period. See Reconcile Transactions Before Closing an Accounting Period for more information.

        Notes
        -----
        When you close an accounting period in Zuora, a trial balance is automatically run for that period. A successful response means only that the accounting period is now closed, but does not mean that the trial balance has successfully completed.
      tags:
      - Accounting Periods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: ap-id
        in: path
        description: ID of the accounting period you want to close.
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/accounting-periods/{ap-id}/close"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/accounting-periods/{ap-id}/close');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/accounting-periods/{ap-id}/close")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/accounting-periods/{ap-id}/close", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/accounting-periods/{ap-id}/close")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/accounting-periods/{ap-id}/close");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/accounting-periods/{ap-id}/pending-close:
    put:
      summary: Set accounting period to pending close
      operationId: PUT_PendingCloseAccountingPeriod
      description: "Sets an accounting period to pending close.\n\n\nPrerequisites\n\
        -------------\n\n* You must have Zuora Finance enabled on your tenant.\n*\
        \ You must have the Manage Close Process and Run Trial Balance user permissions.\n\
        \n            \nLimitations \n -----------\n \n * The accounting period cannot\
        \ be closed or pending close.\n \n * The accounting period cannot be in the\
        \ process of running a trial balance.\n \n * All earlier accounting periods\
        \ must be closed.\n \n \nNotes\n-----\nWhen you set an accounting period to\
        \ pending close in Zuora, a trial balance is automatically run for that period.\
        \ A response of `{ \"success\": true }`  means only that the accounting period\
        \ status is now pending close, but does not mean that the trial balance has\
        \ successfully completed. You can use the Get Accounting Period REST API call\
        \ to view details about the outcome of the trial balance.\n"
      tags:
      - Accounting Periods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: ap-id
        in: path
        description: ID of the accounting period you want to set to pending close.
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/accounting-periods/{ap-id}/pending-close"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/accounting-periods/{ap-id}/pending-close');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/accounting-periods/{ap-id}/pending-close")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/accounting-periods/{ap-id}/pending-close", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/accounting-periods/{ap-id}/pending-close")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/accounting-periods/{ap-id}/pending-close");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/accounting-periods:
    post:
      summary: Create accounting period
      operationId: POST_AccountingPeriod
      description: |-
        Creates an accounting period.
        Prerequisites
        -------------
        * You must have Zuora Finance enabled on your tenant.
        * You must have the Create Accounting Period user permission.

        Limitations
        -----------
        * When creating the first accounting period on your tenant, the start date must be equal to or earlier than the date of the earliest transaction on the tenant.
        * Start and end dates of accounting periods must be contiguous. For example, if one accounting period ends on January 31, the next period must start on February 1.
        * If you have the Revenue Recognition Package and have enabled the "Monthly recognition over time" revenue recognition model, the accounting period start date and end date must be on the first day and last day of the month, respectively. Note that the start and end dates do not necessarily have to be in the same month.
      tags:
      - Accounting Periods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTAccountingPeriodType'
      responses:
        '200':
          examples:
            application/json:
              id: 7b7181ae547aac1e01547efb61f20162
              success: true
          description: ''
          schema:
            $ref: '#/definitions/POSTAccountingPeriodResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"endDate\": \"2016-06-30\"\
          , \n    \"fiscalYear\": 2016, \n    \"name\": \"Jun 2016\", \n    \"notes\"\
          : \"optional notes here\", \n    \"startDate\": \"2016-06-01\"\n}' \"https://rest.zuora.com/v1/accounting-periods\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/accounting-periods');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"endDate\": \"2016-06-30\", \n    \"fiscalYear\"\
          : 2016, \n    \"name\": \"Jun 2016\", \n    \"notes\": \"optional notes\
          \ here\", \n    \"startDate\": \"2016-06-01\"\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"endDate\": \"2016-06-30\", \n    \"fiscalYear\": 2016, \n    \"name\": \"Jun 2016\", \n    \"notes\": \"optional notes here\", \n    \"startDate\": \"2016-06-01\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/accounting-periods")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"endDate\": \"2016-06-30\", \n    \"fiscalYear\": 2016, \n    \"name\": \"Jun 2016\", \n    \"notes\": \"optional notes here\", \n    \"startDate\": \"2016-06-01\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/accounting-periods", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/accounting-periods")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"endDate\": \"2016-06-30\", \n    \"fiscalYear\": 2016, \n    \"name\": \"Jun 2016\", \n    \"notes\": \"optional notes here\", \n    \"startDate\": \"2016-06-01\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/accounting-periods");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"endDate\": \"2016-06-30\", \n    \"fiscalYear\": 2016, \n    \"name\": \"Jun 2016\", \n    \"notes\": \"optional notes here\", \n    \"startDate\": \"2016-06-01\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      summary: Get all accounting periods
      operationId: GET_AllAccountingPeriods
      description: Retrieves all accounting periods on your tenant.
      tags:
      - Accounting Periods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize_finance_accounting'
      responses:
        '200':
          examples:
            application/json:
              accountingPeriods:
              - id: 8a8081ae5374904f01538338b66e1005
                name: Mar 2016
                startDate: '2016-03-01'
                endDate: '2016-03-31'
                status: Open
                runTrialBalanceStatus: Error
                runTrialBalanceStart: '2016-03-16 23:25:22'
                runTrialBalanceEnd: null
                runTrialBalanceErrorMessage: 'Error creating the trial balance: exchange
                  rate from USD to GBP on 08/03/2015 is not available.  Please import
                  the rate and run trial balance again.'
                fiscalYear: 2016
                notes: ''
                fileIds:
                  unprocessedChargesFileId: null
                  accountsReceivableInvoiceAgingDetailExportFileId: 8a8081ae5374904f01538340273013f3
                  accountsReceivableAccountAgingDetailExportFileId: 8a8081ae5374904f01538340274a13f4
                  revenueDetailExcelFileId: 8a8081ae5374904f0153834032e41417
                  revenueDetailCsvFileId: 8a8081ae5374904f0153834033221418
                  arRollForwardDetailExportFileId: null
                  fxRealizedGainAndLossDetailExportFileId: null
                  fxUnrealizedGainAndLossDetailExportFileId: null
                createdOn: '2016-03-16 23:17:25'
                createdBy: e20b074746ec48f40147140f51e30a1a
                updatedOn: '2016-03-16 23:25:22'
                updatedBy: e20b074746ec48f40147140f51e30a1a
              - id: 8a8081ae5374904f0153833918af1007
                name: Apr 2016
                startDate: '2016-04-01'
                endDate: '2016-04-30'
                status: Open
                runTrialBalanceStatus: Error
                runTrialBalanceStart: '2016-03-16 23:23:40'
                runTrialBalanceEnd: null
                runTrialBalanceErrorMessage: null
                fiscalYear: 2016
                notes: ''
                fileIds:
                  unprocessedChargesFileId: null
                  accountsReceivableInvoiceAgingDetailExportFileId: 8a8081ae5374904f0153833e9a651363
                  accountsReceivableAccountAgingDetailExportFileId: 8a8081ae5374904f0153833e9a7a1364
                  revenueDetailExcelFileId: 8a8081ae5374904f0153833ea2c813ae
                  revenueDetailCsvFileId: 8a8081ae5374904f0153833ea2d613af
                  arRollForwardDetailExportFileId: null
                  fxRealizedGainAndLossDetailExportFileId: null
                  fxUnrealizedGainAndLossDetailExportFileId: null
                createdOn: '2016-03-16 23:17:50'
                createdBy: e20b074746ec48f40147140f51e30a1a
                updatedOn: '2016-03-16 23:23:40'
                updatedBy: e20b074746ec48f40147140f51e30a1a
              - id: 8a8081ae5374904f0153833e4590132d
                name: May 2016
                startDate: '2016-05-01'
                endDate: '2016-05-31'
                status: Open
                runTrialBalanceStatus: Error
                runTrialBalanceStart: '2016-05-18 01:42:30'
                runTrialBalanceEnd: null
                runTrialBalanceErrorMessage: null
                fiscalYear: 2016
                notes: ''
                fileIds:
                  unprocessedChargesFileId: null
                  accountsReceivableInvoiceAgingDetailExportFileId: null
                  accountsReceivableAccountAgingDetailExportFileId: null
                  revenueDetailExcelFileId: 8a8081ae54c2eabb0154c307e27e0033
                  revenueDetailCsvFileId: 8a8081ae54c2eabb0154c307e2920034
                  arRollForwardDetailExportFileId: null
                  fxRealizedGainAndLossDetailExportFileId: null
                  fxUnrealizedGainAndLossDetailExportFileId: null
                createdOn: '2016-03-16 23:23:29'
                createdBy: e20b074746ec48f40147140f51e30a1a
                updatedOn: '2016-05-18 01:42:30'
                updatedBy: e20b074746ec48f40147140f51e30a1a
              - id: e20b0747478025a1014780e489a60002
                name: Open-Ended
                startDate: '2016-06-01'
                endDate: null
                status: Open
                runTrialBalanceStatus: Pending
                runTrialBalanceStart: null
                runTrialBalanceEnd: null
                runTrialBalanceErrorMessage: null
                fiscalYear: 0
                notes: null
                fileIds:
                  unprocessedChargesFileId: null
                  accountsReceivableInvoiceAgingDetailExportFileId: null
                  accountsReceivableAccountAgingDetailExportFileId: null
                  revenueDetailExcelFileId: null
                  revenueDetailCsvFileId: null
                  arRollForwardDetailExportFileId: null
                  fxRealizedGainAndLossDetailExportFileId: null
                  fxUnrealizedGainAndLossDetailExportFileId: null
                createdOn: '2014-07-28 23:52:46'
                createdBy: 402881e522cf4f9b0122cf5d82860002
                updatedOn: '2016-03-16 23:23:29'
                updatedBy: e20b074746ec48f40147140f51e30a1a
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETAccountingPeriodsType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/accounting-periods"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/accounting-periods');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/accounting-periods")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/accounting-periods", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/accounting-periods")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/accounting-periods");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/accounting-periods/{ap-id}:
    get:
      summary: Get accounting period
      operationId: GET_AccountingPeriod
      description: |
        Retrieves an accounting period.
        Prerequisites
        -------------

        You must have Zuora Finance enabled on your tenant.
      tags:
      - Accounting Periods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: ap-id
        in: path
        description: ID of the accounting period you want to get.
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              id: e20b074749d2a38b0149eac2e9550aa9
              name: Oct 2014
              startDate: '2014-10-01'
              endDate: '2014-10-31'
              status: Closed
              runTrialBalanceStatus: Completed
              runTrialBalanceStart: '2015-09-28 00:53:13'
              runTrialBalanceEnd: '2015-09-28 00:53:36'
              runTrialBalanceErrorMessage: null
              fiscalYear: 2014
              notes: ''
              fileIds:
                unprocessedChargesFileId: null
                accountsReceivableInvoiceAgingDetailExportFileId: 8a8081ae5002967c015012f122f10913
                accountsReceivableAccountAgingDetailExportFileId: 8a8081ae5002967c015012f1230e0914
                revenueDetailExcelFileId: 8a8081ae5002967c015012f129870925
                revenueDetailCsvFileId: 8a8081ae5002967c015012f129a10926
                arRollForwardDetailExportFileId: 8a8081ae5002967c015012f15d7b09e2
                fxRealizedGainAndLossDetailExportFileId: 8a8081ae5002967c015012f151a609ba
                fxUnrealizedGainAndLossDetailExportFileId: 8a8081ae5002967c015012f150b509b8
              createdOn: '2014-11-25 22:21:22'
              createdBy: e20b074746ec48f40147140f51e30a1a
              updatedOn: '2015-09-28 00:53:13'
              updatedBy: e20b074746ec48f40147140f51e30a1a
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETAccountingPeriodType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/accounting-periods/{ap-id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/accounting-periods/{ap-id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/accounting-periods/{ap-id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/accounting-periods/{ap-id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/accounting-periods/{ap-id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/accounting-periods/{ap-id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: Update accounting period
      operationId: PUT_UpdateAccountingPeriod
      description: |2

        Updates an accounting period.

        Prerequisites
        -------------

        * You must have Zuora Finance enabled on your tenant.

        * You must have the Create Accounting Period user permission. See [Finance Roles](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/f_Finance_Roles).

        Limitations
        -----------

        * You can update the start date of only the earliest accounting period on your tenant. You cannot update the start date of later periods.

        * If you update the earliest accounting period, the start date must be equal to or earlier than the date of the earliest transaction on the tenant.

        * Start and end dates of accounting periods must be contiguous. For example, if one accounting period ends on January 31, the next period must start on February 1.

        * If you have the Revenue Recognition Package and have enabled the "Monthly recognition over time" revenue recognition model, the accounting period start date and end date must be on the first day and last day of the month, respectively. Note that the start and end dates do not necessarily have to be in the same month.

        * You cannot update the start date or end date of an accounting period if:
          * Any revenue has been distributed into the period.
          * The period has any active journal entries.
      tags:
      - Accounting Periods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: ap-id
        in: path
        description: ID of the accounting period you want to update.
        required: true
        type: string
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUTAccountingPeriodType'
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"endDate\": \"2016-01-31\"\
          , \n    \"fiscalYear\": 2016, \n    \"name\": \"Jan 2016\", \n    \"startDate\"\
          : \"2016-01-01\"\n}' \"https://rest.zuora.com/v1/accounting-periods/{ap-id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/accounting-periods/{ap-id}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"endDate\": \"2016-01-31\", \n    \"fiscalYear\"\
          : 2016, \n    \"name\": \"Jan 2016\", \n    \"startDate\": \"2016-01-01\"\
          \n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"endDate\": \"2016-01-31\", \n    \"fiscalYear\": 2016, \n    \"name\": \"Jan 2016\", \n    \"startDate\": \"2016-01-01\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/accounting-periods/{ap-id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"endDate\": \"2016-01-31\", \n    \"fiscalYear\": 2016, \n    \"name\": \"Jan 2016\", \n    \"startDate\": \"2016-01-01\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/accounting-periods/{ap-id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/accounting-periods/{ap-id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"endDate\": \"2016-01-31\", \n    \"fiscalYear\": 2016, \n    \"name\": \"Jan 2016\", \n    \"startDate\": \"2016-01-01\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/accounting-periods/{ap-id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"endDate\": \"2016-01-31\", \n    \"fiscalYear\": 2016, \n    \"name\": \"Jan 2016\", \n    \"startDate\": \"2016-01-01\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    delete:
      summary: Delete accounting period
      operationId: DELETE_AccountingPeriod
      description: |2

        Deletes an accounting period.

        Prerequisites
        -------------

         * You must have Zuora Finance enabled on your tenant.

         * You must have the Delete Accounting Period user permission. See [Finance Roles](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/f_Finance_Roles).


        Limitations
        -----------

        The accounting period to be deleted:

        * Must be the most recent accounting period

        * Must be an open accounting period

        * Must have no revenue distributed into it

        * Must not have any active journal entries

        * Must not be the open-ended accounting period

        * Must not be in the process of running a trial balance
      tags:
      - Accounting Periods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: ap-id
        in: path
        required: true
        type: string
        description: ID of the accounting period you want to delete.
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/accounting-periods/{ap-id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/accounting-periods/{ap-id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/accounting-periods/{ap-id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/accounting-periods/{ap-id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/accounting-periods/{ap-id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/accounting-periods/{ap-id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/accounting-periods/{ap-id}/reopen:
    put:
      summary: Re-open accounting period
      operationId: PUT_ReopenAccountingPeriod
      description: |-
        Re-opens an accounting period.
        Prerequisites
        -------------
        * You must have Zuora Finance enabled on your tenant.
        * You must have the Manage Close Process and Run Trial Balance user permissions.

        Limitations
        -----------
        * The accounting period must be closed or pending close.
        * You can only re-open an accounting period that is immediately previous to an open period.
      tags:
      - Accounting Periods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: ap-id
        in: path
        required: true
        type: string
        description: ID of the accounting period that you want to re-open.
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/accounting-periods/{ap-id}/reopen"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/accounting-periods/{ap-id}/reopen');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/accounting-periods/{ap-id}/reopen")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/accounting-periods/{ap-id}/reopen", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/accounting-periods/{ap-id}/reopen")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/accounting-periods/{ap-id}/reopen");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/accounting-periods/{ap-id}/run-trial-balance:
    put:
      summary: Run trial balance
      operationId: PUT_RunTrialBalance
      description: "Runs the trial balance for an accounting period. \n\nPrerequisites\n\
        -------------\n\n* You must have Zuora Finance enabled on your tenant.\n\n\
        * You must have the Manage Close Process and Run Trial Balance user permissions.\
        \ See [Finance Roles](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/f_Finance_Roles).\n\
        \n          \nLimitations \n-----------\n \n * The accounting period must\
        \ be open.\n \n * The accounting period cannot already be in the process of\
        \ running a trial balance.\n \nNotes\n-----\nThe trial balance is run asynchronously.\
        \ A response of `{ \"success\": true }` means only that the trial balance\
        \ has started processing, but does not mean that the trial balance has successfully\
        \ completed. You can use the [Get Accounting Period](https://www.zuora.com/developer/api-reference/#operation/GET_AccountingPeriod)\
        \ REST API call to view details about the outcome of the trial balance.\n"
      tags:
      - Accounting Periods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: ap-id
        in: path
        required: true
        type: string
        description: ID of the accounting period for which you want to run a trial
          balance.
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/accounting-periods/{ap-id}/run-trial-balance"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/accounting-periods/{ap-id}/run-trial-balance');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/accounting-periods/{ap-id}/run-trial-balance")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/accounting-periods/{ap-id}/run-trial-balance", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/accounting-periods/{ap-id}/run-trial-balance")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/accounting-periods/{ap-id}/run-trial-balance");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/accounts:
    post:
      summary: Create account
      operationId: POST_Account
      description: "Creates a customer account with a payment method, a bill-to contact,\
        \ and an optional sold-to contact. Request and response field descriptions\
        \ and sample code are provided. Use this operation to optionally create a\
        \ subscription, invoice for that subscription, and collect payment through\
        \ the default payment method. The transaction is atomic; if any part fails\
        \ for any reason, the entire transaction is rolled back.\n\nThis operation\
        \ is CORS Enabled, so you can use client-side Javascript to invoke the call.\
        \ \n\n## Notes\n1. The account is created in active status.  \n2. If the `autoPay`\
        \ field is set to `true` in the request, you must provide one of the `paymentMethod`,\
        \ `creditCard`, or `hpmCreditCardPaymentMethodId` field, but not multiple.\
        \ The one provided becomes the default payment method for this account. If\
        \ the credit card information is declined or cannot be verified, no account\
        \ is created.\n3. Customer accounts created with this call are automatically\
        \ be set to Auto Pay.\n4. If either the `workEmail` or `personalEmail` field\
        \ is specified, then the account's email delivery preference is automatically\
        \ set to `true`. (In that case, emails go to the `workEmail` address, if it\
        \ exists, or else the `personalEmail`.) If neither field is specified, the\
        \ email delivery preference is automatically set to `false`.\n\n## Defaults\
        \ for customerAcceptanceDate and serviceActivationDate\nDefault values for\
        \ **customerAcceptanceDate** and **serviceActivationDate** are set as follows.\n\
        \n|        | serviceActivationDate(SA) specified          | serviceActivationDate\
        \ (SA) NOT specified  |\n| ------------- |:-------------:| -----:|\n| customerAcceptanceDate\
        \ (CA) specified      | SA uses value in the request call; CA uses value in\
        \ the request call| CA uses value in the request call;SA uses CE as default\
        \ |\n| customerAcceptanceDate (CA) NOT specified      | SA uses value in the\
        \ request call; CA uses SA as default |   SA and CA use CE as default |\n"
      tags:
      - Accounts
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: zuora-version
        in: header
        required: false
        type: string
        description: "The minor version of the Zuora REST API. \n\nYou only need to\
          \ set this parameter if you use the following fields:\n* invoice\n* collect\n\
          * runBilling\n* targetDate\n"
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTAccountType'
      responses:
        '200':
          examples:
            application/json:
              success: true
              accountId: 402892c74c9193cd014c96bbe7c101f9
              accountNumber: A00000004
              billToContactId: 2c92c8fb68a28d180168a7ccedba1c4c
              soldToContactId: 2c92c8fb68a28d180168a7ccedc61c4e
              paymentMethodId: 402892c74c9193cd014c96bbe7d901fd
          description: ''
          schema:
            $ref: '#/definitions/POSTAccountResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"additionalEmailAddresses\"\
          : [\n        \"contact1@example.com\", \n        \"contact2@example.com\"\
          \n    ], \n    \"autoPay\": false, \n    \"billCycleDay\": 0, \n    \"billToContact\"\
          : {\n        \"address1\": \"1051 E Hillsdale Blvd\", \n        \"city\"\
          : \"Foster City\", \n        \"country\": \"United States\", \n        \"\
          firstName\": \"John\", \n        \"lastName\": \"Smith\", \n        \"state\"\
          : \"CA\", \n        \"workEmail\": \"smith@example.com\", \n        \"zipCode\"\
          : \"94404\"\n    }, \n    \"currency\": \"USD\", \n    \"hpmCreditCardPaymentMethodId\"\
          : \"2c92c0f93cf64d94013cfe2d20db61a7\", \n    \"invoiceDeliveryPrefsEmail\"\
          : true, \n    \"invoiceDeliveryPrefsPrint\": false, \n    \"name\": \"Zuora\
          \ Test Account\", \n    \"notes\": \"This account is for demo purposes.\"\
          , \n    \"paymentTerm\": \"Due Upon Receipt\", \n    \"subscription\": {\n\
          \        \"autoRenew\": true, \n        \"contractEffectiveDate\": \"2016-01-01\"\
          , \n        \"initialTerm\": 12, \n        \"notes\": \"This is a trial\
          \ subscription for POST account demo.\", \n        \"renewalTerm\": 12,\
          \ \n        \"subscribeToRatePlans\": [\n            {\n               \
          \ \"chargeOverrides\": [\n                    {\n                      \
          \  \"price\": 1000, \n                        \"productRatePlanChargeId\"\
          : \"2c92c0f94ac8307f014ae5d4a5156b28\"\n                    }, \n      \
          \              {\n                        \"price\": 1000, \n          \
          \              \"productRatePlanChargeId\": \"2c92c0f94ac8307f014ae5dbe2947851\"\
          \n                    }\n                ], \n                \"productRatePlanId\"\
          : \"2c92c0f94ac8307f014ae5d3d1d469e2\"\n            }, \n            {\n\
          \                \"chargeOverrides\": [\n                    {\n       \
          \                 \"price\": 1000, \n                        \"productRatePlanChargeId\"\
          : \"2c92c0f83cf64298013d027725a67b7b\"\n                    }\n        \
          \        ], \n                \"productRatePlanId\": \"2c92c0f93cf64d94013d027681560341\"\
          \n            }\n        ], \n        \"termType\": \"TERMED\"\n    }\n\
          }' \"https://rest.zuora.com/v1/accounts\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/accounts');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"additionalEmailAddresses\": [\n     \
          \   \"contact1@example.com\", \n        \"contact2@example.com\"\n    ],\
          \ \n    \"autoPay\": false, \n    \"billCycleDay\": 0, \n    \"billToContact\"\
          : {\n        \"address1\": \"1051 E Hillsdale Blvd\", \n        \"city\"\
          : \"Foster City\", \n        \"country\": \"United States\", \n        \"\
          firstName\": \"John\", \n        \"lastName\": \"Smith\", \n        \"state\"\
          : \"CA\", \n        \"workEmail\": \"smith@example.com\", \n        \"zipCode\"\
          : \"94404\"\n    }, \n    \"currency\": \"USD\", \n    \"hpmCreditCardPaymentMethodId\"\
          : \"2c92c0f93cf64d94013cfe2d20db61a7\", \n    \"invoiceDeliveryPrefsEmail\"\
          : true, \n    \"invoiceDeliveryPrefsPrint\": false, \n    \"name\": \"Zuora\
          \ Test Account\", \n    \"notes\": \"This account is for demo purposes.\"\
          , \n    \"paymentTerm\": \"Due Upon Receipt\", \n    \"subscription\": {\n\
          \        \"autoRenew\": true, \n        \"contractEffectiveDate\": \"2016-01-01\"\
          , \n        \"initialTerm\": 12, \n        \"notes\": \"This is a trial\
          \ subscription for POST account demo.\", \n        \"renewalTerm\": 12,\
          \ \n        \"subscribeToRatePlans\": [\n            {\n               \
          \ \"chargeOverrides\": [\n                    {\n                      \
          \  \"price\": 1000, \n                        \"productRatePlanChargeId\"\
          : \"2c92c0f94ac8307f014ae5d4a5156b28\"\n                    }, \n      \
          \              {\n                        \"price\": 1000, \n          \
          \              \"productRatePlanChargeId\": \"2c92c0f94ac8307f014ae5dbe2947851\"\
          \n                    }\n                ], \n                \"productRatePlanId\"\
          : \"2c92c0f94ac8307f014ae5d3d1d469e2\"\n            }, \n            {\n\
          \                \"chargeOverrides\": [\n                    {\n       \
          \                 \"price\": 1000, \n                        \"productRatePlanChargeId\"\
          : \"2c92c0f83cf64298013d027725a67b7b\"\n                    }\n        \
          \        ], \n                \"productRatePlanId\": \"2c92c0f93cf64d94013d027681560341\"\
          \n            }\n        ], \n        \"termType\": \"TERMED\"\n    }\n\
          }');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"additionalEmailAddresses\": [\n        \"contact1@example.com\", \n        \"contact2@example.com\"\n    ], \n    \"autoPay\": false, \n    \"billCycleDay\": 0, \n    \"billToContact\": {\n        \"address1\": \"1051 E Hillsdale Blvd\", \n        \"city\": \"Foster City\", \n        \"country\": \"United States\", \n        \"firstName\": \"John\", \n        \"lastName\": \"Smith\", \n        \"state\": \"CA\", \n        \"workEmail\": \"smith@example.com\", \n        \"zipCode\": \"94404\"\n    }, \n    \"currency\": \"USD\", \n    \"hpmCreditCardPaymentMethodId\": \"2c92c0f93cf64d94013cfe2d20db61a7\", \n    \"invoiceDeliveryPrefsEmail\": true, \n    \"invoiceDeliveryPrefsPrint\": false, \n    \"name\": \"Zuora Test Account\", \n    \"notes\": \"This account is for demo purposes.\", \n    \"paymentTerm\": \"Due Upon Receipt\", \n    \"subscription\": {\n        \"autoRenew\": true, \n        \"contractEffectiveDate\": \"2016-01-01\", \n        \"initialTerm\": 12, \n        \"notes\": \"This is a trial subscription for POST account demo.\", \n        \"renewalTerm\": 12, \n        \"subscribeToRatePlans\": [\n            {\n                \"chargeOverrides\": [\n                    {\n                        \"price\": 1000, \n                        \"productRatePlanChargeId\": \"2c92c0f94ac8307f014ae5d4a5156b28\"\n                    }, \n                    {\n                        \"price\": 1000, \n                        \"productRatePlanChargeId\": \"2c92c0f94ac8307f014ae5dbe2947851\"\n                    }\n                ], \n                \"productRatePlanId\": \"2c92c0f94ac8307f014ae5d3d1d469e2\"\n            }, \n            {\n                \"chargeOverrides\": [\n                    {\n                        \"price\": 1000, \n                        \"productRatePlanChargeId\": \"2c92c0f83cf64298013d027725a67b7b\"\n                    }\n                ], \n                \"productRatePlanId\": \"2c92c0f93cf64d94013d027681560341\"\n            }\n        ], \n        \"termType\": \"TERMED\"\n    }\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/accounts")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"additionalEmailAddresses\": [\n        \"contact1@example.com\", \n        \"contact2@example.com\"\n    ], \n    \"autoPay\": false, \n    \"billCycleDay\": 0, \n    \"billToContact\": {\n        \"address1\": \"1051 E Hillsdale Blvd\", \n        \"city\": \"Foster City\", \n        \"country\": \"United States\", \n        \"firstName\": \"John\", \n        \"lastName\": \"Smith\", \n        \"state\": \"CA\", \n        \"workEmail\": \"smith@example.com\", \n        \"zipCode\": \"94404\"\n    }, \n    \"currency\": \"USD\", \n    \"hpmCreditCardPaymentMethodId\": \"2c92c0f93cf64d94013cfe2d20db61a7\", \n    \"invoiceDeliveryPrefsEmail\": true, \n    \"invoiceDeliveryPrefsPrint\": false, \n    \"name\": \"Zuora Test Account\", \n    \"notes\": \"This account is for demo purposes.\", \n    \"paymentTerm\": \"Due Upon Receipt\", \n    \"subscription\": {\n        \"autoRenew\": true, \n        \"contractEffectiveDate\": \"2016-01-01\", \n        \"initialTerm\": 12, \n        \"notes\": \"This is a trial subscription for POST account demo.\", \n        \"renewalTerm\": 12, \n        \"subscribeToRatePlans\": [\n            {\n                \"chargeOverrides\": [\n                    {\n                        \"price\": 1000, \n                        \"productRatePlanChargeId\": \"2c92c0f94ac8307f014ae5d4a5156b28\"\n                    }, \n                    {\n                        \"price\": 1000, \n                        \"productRatePlanChargeId\": \"2c92c0f94ac8307f014ae5dbe2947851\"\n                    }\n                ], \n                \"productRatePlanId\": \"2c92c0f94ac8307f014ae5d3d1d469e2\"\n            }, \n            {\n                \"chargeOverrides\": [\n                    {\n                        \"price\": 1000, \n                        \"productRatePlanChargeId\": \"2c92c0f83cf64298013d027725a67b7b\"\n                    }\n                ], \n                \"productRatePlanId\": \"2c92c0f93cf64d94013d027681560341\"\n            }\n        ], \n        \"termType\": \"TERMED\"\n    }\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/accounts", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/accounts")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"additionalEmailAddresses\": [\n        \"contact1@example.com\", \n        \"contact2@example.com\"\n    ], \n    \"autoPay\": false, \n    \"billCycleDay\": 0, \n    \"billToContact\": {\n        \"address1\": \"1051 E Hillsdale Blvd\", \n        \"city\": \"Foster City\", \n        \"country\": \"United States\", \n        \"firstName\": \"John\", \n        \"lastName\": \"Smith\", \n        \"state\": \"CA\", \n        \"workEmail\": \"smith@example.com\", \n        \"zipCode\": \"94404\"\n    }, \n    \"currency\": \"USD\", \n    \"hpmCreditCardPaymentMethodId\": \"2c92c0f93cf64d94013cfe2d20db61a7\", \n    \"invoiceDeliveryPrefsEmail\": true, \n    \"invoiceDeliveryPrefsPrint\": false, \n    \"name\": \"Zuora Test Account\", \n    \"notes\": \"This account is for demo purposes.\", \n    \"paymentTerm\": \"Due Upon Receipt\", \n    \"subscription\": {\n        \"autoRenew\": true, \n        \"contractEffectiveDate\": \"2016-01-01\", \n        \"initialTerm\": 12, \n        \"notes\": \"This is a trial subscription for POST account demo.\", \n        \"renewalTerm\": 12, \n        \"subscribeToRatePlans\": [\n            {\n                \"chargeOverrides\": [\n                    {\n                        \"price\": 1000, \n                        \"productRatePlanChargeId\": \"2c92c0f94ac8307f014ae5d4a5156b28\"\n                    }, \n                    {\n                        \"price\": 1000, \n                        \"productRatePlanChargeId\": \"2c92c0f94ac8307f014ae5dbe2947851\"\n                    }\n                ], \n                \"productRatePlanId\": \"2c92c0f94ac8307f014ae5d3d1d469e2\"\n            }, \n            {\n                \"chargeOverrides\": [\n                    {\n                        \"price\": 1000, \n                        \"productRatePlanChargeId\": \"2c92c0f83cf64298013d027725a67b7b\"\n                    }\n                ], \n                \"productRatePlanId\": \"2c92c0f93cf64d94013d027681560341\"\n            }\n        ], \n        \"termType\": \"TERMED\"\n    }\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/accounts");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"additionalEmailAddresses\": [\n        \"contact1@example.com\", \n        \"contact2@example.com\"\n    ], \n    \"autoPay\": false, \n    \"billCycleDay\": 0, \n    \"billToContact\": {\n        \"address1\": \"1051 E Hillsdale Blvd\", \n        \"city\": \"Foster City\", \n        \"country\": \"United States\", \n        \"firstName\": \"John\", \n        \"lastName\": \"Smith\", \n        \"state\": \"CA\", \n        \"workEmail\": \"smith@example.com\", \n        \"zipCode\": \"94404\"\n    }, \n    \"currency\": \"USD\", \n    \"hpmCreditCardPaymentMethodId\": \"2c92c0f93cf64d94013cfe2d20db61a7\", \n    \"invoiceDeliveryPrefsEmail\": true, \n    \"invoiceDeliveryPrefsPrint\": false, \n    \"name\": \"Zuora Test Account\", \n    \"notes\": \"This account is for demo purposes.\", \n    \"paymentTerm\": \"Due Upon Receipt\", \n    \"subscription\": {\n        \"autoRenew\": true, \n        \"contractEffectiveDate\": \"2016-01-01\", \n        \"initialTerm\": 12, \n        \"notes\": \"This is a trial subscription for POST account demo.\", \n        \"renewalTerm\": 12, \n        \"subscribeToRatePlans\": [\n            {\n                \"chargeOverrides\": [\n                    {\n                        \"price\": 1000, \n                        \"productRatePlanChargeId\": \"2c92c0f94ac8307f014ae5d4a5156b28\"\n                    }, \n                    {\n                        \"price\": 1000, \n                        \"productRatePlanChargeId\": \"2c92c0f94ac8307f014ae5dbe2947851\"\n                    }\n                ], \n                \"productRatePlanId\": \"2c92c0f94ac8307f014ae5d3d1d469e2\"\n            }, \n            {\n                \"chargeOverrides\": [\n                    {\n                        \"price\": 1000, \n                        \"productRatePlanChargeId\": \"2c92c0f83cf64298013d027725a67b7b\"\n                    }\n                ], \n                \"productRatePlanId\": \"2c92c0f93cf64d94013d027681560341\"\n            }\n        ], \n        \"termType\": \"TERMED\"\n    }\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/accounts/{account-key}:
    get:
      summary: Get account
      operationId: GET_Account
      description: |
        Retrieves basic information about a customer account.

        This operation is a quick retrieval that doesn't include the account's subscriptions, invoices, payments, or usage details. Use Get account summary to get more detailed information about an account.
      tags:
      - Accounts
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: account-key
        in: path
        description: Account number or account ID.
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              basicInfo:
                id: 402892c74c9193cd014c91d35b0a0132
                name: Test
                accountNumber: A00000001
                notes: ''
                status: Active
                crmId: ''
                batch: Batch1
                invoiceTemplateId: null
                communicationProfileId: 303d186840e611df817c002185d714e1
                salesRep: ''
                sequenceSetId: null
              billingAndPayment:
                billCycleDay: 1
                currency: USD
                paymentTerm: Net 30
                paymentGateway: TestGateway
                invoiceDeliveryPrefsPrint: false
                invoiceDeliveryPrefsEmail: true
                additionalEmailAddresses:
                - contact1@example.com
                - contact2@example.com
              metrics:
                balance: 0
                totalInvoiceBalance: 0
                creditBalance: 0
                contractedMrr: -900
              billToContact:
                address1: ''
                address2: ''
                city: ''
                country: null
                county: null
                fax: ''
                firstName: Test
                homePhone: ''
                lastName: Test
                mobilePhone: ''
                nickname: ''
                otherPhone: ''
                otherPhoneType: null
                personalEmail: ''
                state: ''
                taxRegion: null
                workEmail: contact@example.com
                workPhone: ''
                zipCode: ''
              soldToContact:
                address1: ''
                address2: ''
                city: ''
                country: null
                county: null
                fax: ''
                firstName: Test
                homePhone: ''
                lastName: Test
                mobilePhone: ''
                nickname: ''
                otherPhone: ''
                otherPhoneType: null
                personalEmail: ''
                state: ''
                taxRegion: null
                workEmail: contact@example.com
                workPhone: ''
                zipCode: ''
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETAccountType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/accounts/{account-key}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/accounts/{account-key}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/accounts/{account-key}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/accounts/{account-key}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/accounts/{account-key}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/accounts/{account-key}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: Update account
      operationId: PUT_Account
      description: |
        Updates a customer account by specifying the account-key.

        ## Notes
        1. Only the fields to be changed should be specified.  Any field that is not included in the request body will not be changed.
        2. If an empty field is submitted with this operation, the corresponding field in the account is emptied.
        3. Email addresses: If no email addresses are specified, no change is made to the email addresses on file or to the email delivery preference. If either the **personalEmail** or **workEmail** is specified (or both), the system updates the corresponding email address(es) on file and the email delivery preference is set to `true`. (In that case, emails go to the **workEmail** address, if it exists, or else the **personalEmail**.) On the other hand, if as a result of this call both of the email addresses for the account are empty, the email delivery preference is set to `false`.
        4. The bill-to and sold-to contacts are separate data entities; updating either one does not update the other.
      tags:
      - Accounts
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: account-key
        in: path
        required: true
        type: string
        description: Account number or account ID.
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUTAccountType'
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"additionalEmailAddresses\"\
          : [\n        \"contact3@example.com\", \n        \"contact4@example.com\"\
          \n    ], \n    \"paymentGateway\": \"TestGateway\"\n}' \"https://rest.zuora.com/v1/accounts/{account-key}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/accounts/{account-key}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"additionalEmailAddresses\": [\n     \
          \   \"contact3@example.com\", \n        \"contact4@example.com\"\n    ],\
          \ \n    \"paymentGateway\": \"TestGateway\"\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"additionalEmailAddresses\": [\n        \"contact3@example.com\", \n        \"contact4@example.com\"\n    ], \n    \"paymentGateway\": \"TestGateway\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/accounts/{account-key}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"additionalEmailAddresses\": [\n        \"contact3@example.com\", \n        \"contact4@example.com\"\n    ], \n    \"paymentGateway\": \"TestGateway\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/accounts/{account-key}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/accounts/{account-key}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"additionalEmailAddresses\": [\n        \"contact3@example.com\", \n        \"contact4@example.com\"\n    ], \n    \"paymentGateway\": \"TestGateway\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/accounts/{account-key}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"additionalEmailAddresses\": [\n        \"contact3@example.com\", \n        \"contact4@example.com\"\n    ], \n    \"paymentGateway\": \"TestGateway\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/accounts/{account-key}/summary:
    get:
      summary: Get account summary
      operationId: GET_AccountSummary
      description: "Retrieves detailed information about the specified customer account.\n\
        \nThe response includes the account information and a summary of the account\u2019\
        s subscriptions, invoices, payments, and usages for the last six recently\
        \ updated subscriptions.\n\n## Notes \nReturns only the six most recent subscriptions\
        \ based on the subscription updatedDate. Within those subscriptions, there\
        \ may be many rate plans and many rate plan charges. These items are subject\
        \ to the maximum limit on the array size. \n"
      tags:
      - Accounts
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: account-key
        in: path
        required: true
        type: string
        description: Account number or account ID.
      responses:
        '200':
          examples:
            application/json:
              payments:
              - paidInvoices:
                - invoiceNumber: INV00000159
                  appliedPaymentAmount: 5.0
                  invoiceId: 2c92a09539190dbe0139190f42780012
                - invoiceNumber: INV00000323
                  appliedPaymentAmount: 139722.1
                  invoiceId: 2c92a0953a3fa95d013a407c10a60100
                - invoiceNumber: INV00000160
                  appliedPaymentAmount: 10521.0
                  invoiceId: 2c92a09739190dc60139194bcf1b0098
                paymentNumber: P-00000075
                status: Processed
                effectiveDate: '2013-03-27'
                id: 2c92c8f83dabf9cf013daf3bfa0305a6
                paymentType: Electronic
              - paidInvoices:
                - invoiceNumber: INV00000159
                  appliedPaymentAmount: 5.0
                  invoiceId: 2c92a09539190dbe0139190f42780012
                paymentNumber: P-00000056
                status: Processed
                effectiveDate: '2012-08-11'
                id: 2c92a0f9391832b101391922ad5f049d
                paymentType: Electronic
              invoices:
              - amount: 139722.1
                status: Posted
                invoiceNumber: INV00000323
                invoiceDate: '2013-02-11'
                balance: 0.0
                id: 2c92a0953a3fa95d013a407c10a60100
                dueDate: '2013-02-11'
              - amount: 10521.0
                status: Posted
                invoiceNumber: INV00000160
                invoiceDate: '2012-08-11'
                balance: 0.0
                id: 2c92a09739190dc60139194bcf1b0098
                dueDate: '2012-08-11'
              - amount: 10.0
                status: Posted
                invoiceNumber: INV00000159
                invoiceDate: '2012-08-11'
                balance: 0.0
                id: 2c92a09539190dbe0139190f42780012
                dueDate: '2012-08-11'
              usage:
              - unitOfMeasure: UOM
                quantity: 10.0
                startDate: 2012-02
              - unitOfMeasure: UOM
                quantity: 10.0
                startDate: 2012-01
              basicInfo:
                defaultPaymentMethod:
                  creditCardNumber: '************1111'
                  paymentMethodType: CreditCard
                  creditCardExpirationMonth: 10
                  creditCardExpirationYear: 2020
                  creditCardType: Visa
                  id: 2c92c8f83dabf9cf013daef12dd303b0
                status: Active
                lastInvoiceDate: '2013-02-11'
                lastPaymentAmount: 150248.1
                billCycleDay: 1
                invoiceDeliveryPrefsPrint: false
                invoiceDeliveryPrefsEmail: true
                additionalEmailAddresses:
                - contact1@example.com
                - contact2@example.com
                name: subscribeCallYan_1
                balance: 0.0
                accountNumber: A00001115
                id: 2c92a0f9391832b10139183e277a0042
                currency: USD
                lastPaymentDate: '2013-03-27'
              soldToContact:
                fax: ''
                taxRegion: ''
                country: United States
                zipCode: '95135'
                county: ''
                lastName: Cho
                workEmail: contact@example.com
                state: California
                address2: ''
                address1: 278 Bridgeton Circle
                firstName: Bill
                id: 2c92a0f9391832b10139183e27940043
                workPhone: '5555551212'
                city: San Jose
              success: true
              subscriptions:
              - termEndDate: '2014-02-01'
                termStartDate: '2013-02-01'
                status: Active
                initialTerm: 12
                autoRenew: true
                subscriptionNumber: A-S00001081
                subscriptionStartDate: '2013-02-01'
                id: 2c92c8f83dc4f752013dc72c24ee016d
                ratePlans:
                - productName: Recurring Charge
                  ratePlanName: QSF_Tier
                termType: TERMED
                renewalTerm: 3
              - termEndDate: '2014-02-01'
                termStartDate: '2013-02-01'
                status: Active
                initialTerm: 12
                autoRenew: true
                subscriptionNumber: A-S00001080
                subscriptionStartDate: '2013-02-01'
                id: 2c92c8f83dc4f752013dc72bb85c0127
                ratePlans:
                - productName: Recurring Charge
                  ratePlanName: QSF_Tier
                termType: TERMED
                renewalTerm: 3
              - termEndDate: '2014-04-01'
                termStartDate: '2013-12-01'
                status: Cancelled
                initialTerm: 10
                autoRenew: false
                subscriptionNumber: A-S00001079
                subscriptionStartDate: '2013-02-01'
                id: 2c92c8f83dc4f752013dc723fdab00d4
                ratePlans:
                - productName: Recurring Charge
                  ratePlanName: QSF_Tier
                termType: TERMED
                renewalTerm: 4
              - termEndDate: '2012-02-11'
                termStartDate: '2011-02-11'
                status: Active
                initialTerm: 12
                autoRenew: false
                subscriptionNumber: A-S00001076
                subscriptionStartDate: '2011-02-11'
                id: 2c92c8f83db0b4b4013db4717ad000ec
                ratePlans:
                - productName: Recurring Charge
                  ratePlanName: Month_PerUnit
                - productName: Recurring Charge
                  ratePlanName: Month_PerUnit
                termType: TERMED
                renewalTerm: 3
              - termEndDate: '2012-02-11'
                termStartDate: '2011-02-11'
                status: Active
                initialTerm: 12
                autoRenew: false
                subscriptionNumber: A-S00001075
                subscriptionStartDate: '2011-02-11'
                id: 2c92c8f83db0b4b4013db3ab6a4d00bc
                ratePlans:
                - productName: Recurring Charge
                  ratePlanName: Month_PerUnit
                - productName: Recurring Charge
                  ratePlanName: Month_PerUnit
                termType: TERMED
                renewalTerm: 3
              - termEndDate: '2012-02-11'
                termStartDate: '2011-02-11'
                status: Active
                initialTerm: 12
                autoRenew: false
                subscriptionNumber: A-S00001074
                subscriptionStartDate: '2011-02-11'
                id: 2c92c8f83db0b4b4013db3aa9fbd0090
                ratePlans:
                - productName: Recurring Charge
                  ratePlanName: Month_PerUnit
                termType: TERMED
                renewalTerm: 3
              billToContact:
                fax: ''
                taxRegion: ''
                country: United States
                zipCode: '95135'
                county: ''
                lastName: Zou
                workEmail: contact@example.com
                state: California
                address2: ''
                address1: 1400 Bridge Pkwy
                firstName: Cheng
                id: 2c92a0f9391832b10139183e27940043
                workPhone: '5555551212'
                city: San Jose
          description: ''
          schema:
            $ref: '#/definitions/GETAccountSummaryType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/accounts/{account-key}/summary"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/accounts/{account-key}/summary');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/accounts/{account-key}/summary")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/accounts/{account-key}/summary", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/accounts/{account-key}/summary")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/accounts/{account-key}/summary");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/action/amend:
    post:
      summary: Amend
      operationId: Action_POSTamend
      description: "Modifies a subscription by creating Amendment objects. However,\
        \ to modify a subscription, Zuora recommends that you use [Update subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_Subscription)\
        \ instead of this action. \n\nThe Amend action cannot modify the custom fields\
        \ on the Subscription object. You must use [Update subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_Subscription)\
        \ or [Update subscription custom fields of a specified subscription version](https://www.zuora.com/developer/api-reference/#operation/PUT_UpdateSubscriptionCustomFieldsOfASpecifiedVersion)\
        \ to modify the custom fields on the Subscription object.\n\nYou can use this\
        \ action to create up to 10 Amendment objects. You must specify the following\
        \ fields for each Amendment object:\n\n* `ContractEffectiveDate`\n* `Name`\n\
        * `SubscriptionId`\n* `Type`\n\nAdditionally, the value of `SubscriptionId`\
        \ must be the same for each Amendment object. You cannot use this operation\
        \ to update multiple subscriptions.\n\n**Note:** When you call this operation,\
        \ Zuora modifies the subscription in the order that you specify Amendment\
        \ objects in the request body.\n\nIf Zuora is unable to create an Amendment\
        \ object when you call this operation, the entire call fails.\n"
      tags:
      - Actions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - $ref: '#/parameters/GLOBAL_HEADER_X_Zuora_WSDL_Version'
      - name: amendRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyActionamendRequest'
      responses:
        '200':
          examples:
            application/json:
              results:
              - SubscriptionId: 2c93808457d787030157e02e27e21eaa
                TotalDeltaTcv: 360
                AmendmentIds:
                - 2c93808457d787030157e02e27781ea0
                TotalDeltaMrr: 30
                Success: true
          description: ''
          headers:
            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/ProxyActionamendResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"requests\": [\n   \
          \     {\n            \"Amendments\": [\n                {\n            \
          \        \"ContractEffectiveDate\": \"2018-07-20\", \n                 \
          \   \"Description\": \"100 seats of product and flat fee for phone support\"\
          , \n                    \"Name\": \"Add premium product\", \n          \
          \          \"RatePlanData\": {\n                        \"RatePlan\": {\n\
          \                            \"ProductRatePlanId\": \"2c92c0f957034698015707751d7e20b9\"\
          \n                        }, \n                        \"RatePlanChargeData\"\
          : [\n                            {\n                                \"RatePlanCharge\"\
          : {\n                                    \"ProductRatePlanChargeId\": \"\
          2c92c0f957034698015707751dff20ce\", \n                                 \
          \   \"Quantity\": 100\n                                }\n             \
          \               }, \n                            {\n                   \
          \             \"RatePlanCharge\": {\n                                  \
          \  \"ProductRatePlanChargeId\": \"2c92c0f857033a46015707a16c9e0274\"\n \
          \                               }\n                            }\n     \
          \                   ]\n                    }, \n                    \"Status\"\
          : \"Completed\", \n                    \"SubscriptionId\": \"2c92c0f9647e2f5001647e51728d7995\"\
          , \n                    \"Type\": \"NewProduct\"\n                }\n  \
          \          ], \n            \"PreviewOptions\": {\n                \"EnablePreviewMode\"\
          : false\n            }\n        }\n    ]\n}' \"https://rest.zuora.com/v1/action/amend\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/action/amend');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"requests\": [\n        {\n          \
          \  \"Amendments\": [\n                {\n                    \"ContractEffectiveDate\"\
          : \"2018-07-20\", \n                    \"Description\": \"100 seats of\
          \ product and flat fee for phone support\", \n                    \"Name\"\
          : \"Add premium product\", \n                    \"RatePlanData\": {\n \
          \                       \"RatePlan\": {\n                            \"\
          ProductRatePlanId\": \"2c92c0f957034698015707751d7e20b9\"\n            \
          \            }, \n                        \"RatePlanChargeData\": [\n  \
          \                          {\n                                \"RatePlanCharge\"\
          : {\n                                    \"ProductRatePlanChargeId\": \"\
          2c92c0f957034698015707751dff20ce\", \n                                 \
          \   \"Quantity\": 100\n                                }\n             \
          \               }, \n                            {\n                   \
          \             \"RatePlanCharge\": {\n                                  \
          \  \"ProductRatePlanChargeId\": \"2c92c0f857033a46015707a16c9e0274\"\n \
          \                               }\n                            }\n     \
          \                   ]\n                    }, \n                    \"Status\"\
          : \"Completed\", \n                    \"SubscriptionId\": \"2c92c0f9647e2f5001647e51728d7995\"\
          , \n                    \"Type\": \"NewProduct\"\n                }\n  \
          \          ], \n            \"PreviewOptions\": {\n                \"EnablePreviewMode\"\
          : false\n            }\n        }\n    ]\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"requests\": [\n        {\n            \"Amendments\": [\n                {\n                    \"ContractEffectiveDate\": \"2018-07-20\", \n                    \"Description\": \"100 seats of product and flat fee for phone support\", \n                    \"Name\": \"Add premium product\", \n                    \"RatePlanData\": {\n                        \"RatePlan\": {\n                            \"ProductRatePlanId\": \"2c92c0f957034698015707751d7e20b9\"\n                        }, \n                        \"RatePlanChargeData\": [\n                            {\n                                \"RatePlanCharge\": {\n                                    \"ProductRatePlanChargeId\": \"2c92c0f957034698015707751dff20ce\", \n                                    \"Quantity\": 100\n                                }\n                            }, \n                            {\n                                \"RatePlanCharge\": {\n                                    \"ProductRatePlanChargeId\": \"2c92c0f857033a46015707a16c9e0274\"\n                                }\n                            }\n                        ]\n                    }, \n                    \"Status\": \"Completed\", \n                    \"SubscriptionId\": \"2c92c0f9647e2f5001647e51728d7995\", \n                    \"Type\": \"NewProduct\"\n                }\n            ], \n            \"PreviewOptions\": {\n                \"EnablePreviewMode\": false\n            }\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/action/amend")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"requests\": [\n        {\n            \"Amendments\": [\n                {\n                    \"ContractEffectiveDate\": \"2018-07-20\", \n                    \"Description\": \"100 seats of product and flat fee for phone support\", \n                    \"Name\": \"Add premium product\", \n                    \"RatePlanData\": {\n                        \"RatePlan\": {\n                            \"ProductRatePlanId\": \"2c92c0f957034698015707751d7e20b9\"\n                        }, \n                        \"RatePlanChargeData\": [\n                            {\n                                \"RatePlanCharge\": {\n                                    \"ProductRatePlanChargeId\": \"2c92c0f957034698015707751dff20ce\", \n                                    \"Quantity\": 100\n                                }\n                            }, \n                            {\n                                \"RatePlanCharge\": {\n                                    \"ProductRatePlanChargeId\": \"2c92c0f857033a46015707a16c9e0274\"\n                                }\n                            }\n                        ]\n                    }, \n                    \"Status\": \"Completed\", \n                    \"SubscriptionId\": \"2c92c0f9647e2f5001647e51728d7995\", \n                    \"Type\": \"NewProduct\"\n                }\n            ], \n            \"PreviewOptions\": {\n                \"EnablePreviewMode\": false\n            }\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/action/amend", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/action/amend")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"requests\": [\n        {\n            \"Amendments\": [\n                {\n                    \"ContractEffectiveDate\": \"2018-07-20\", \n                    \"Description\": \"100 seats of product and flat fee for phone support\", \n                    \"Name\": \"Add premium product\", \n                    \"RatePlanData\": {\n                        \"RatePlan\": {\n                            \"ProductRatePlanId\": \"2c92c0f957034698015707751d7e20b9\"\n                        }, \n                        \"RatePlanChargeData\": [\n                            {\n                                \"RatePlanCharge\": {\n                                    \"ProductRatePlanChargeId\": \"2c92c0f957034698015707751dff20ce\", \n                                    \"Quantity\": 100\n                                }\n                            }, \n                            {\n                                \"RatePlanCharge\": {\n                                    \"ProductRatePlanChargeId\": \"2c92c0f857033a46015707a16c9e0274\"\n                                }\n                            }\n                        ]\n                    }, \n                    \"Status\": \"Completed\", \n                    \"SubscriptionId\": \"2c92c0f9647e2f5001647e51728d7995\", \n                    \"Type\": \"NewProduct\"\n                }\n            ], \n            \"PreviewOptions\": {\n                \"EnablePreviewMode\": false\n            }\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/action/amend");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"requests\": [\n        {\n            \"Amendments\": [\n                {\n                    \"ContractEffectiveDate\": \"2018-07-20\", \n                    \"Description\": \"100 seats of product and flat fee for phone support\", \n                    \"Name\": \"Add premium product\", \n                    \"RatePlanData\": {\n                        \"RatePlan\": {\n                            \"ProductRatePlanId\": \"2c92c0f957034698015707751d7e20b9\"\n                        }, \n                        \"RatePlanChargeData\": [\n                            {\n                                \"RatePlanCharge\": {\n                                    \"ProductRatePlanChargeId\": \"2c92c0f957034698015707751dff20ce\", \n                                    \"Quantity\": 100\n                                }\n                            }, \n                            {\n                                \"RatePlanCharge\": {\n                                    \"ProductRatePlanChargeId\": \"2c92c0f857033a46015707a16c9e0274\"\n                                }\n                            }\n                        ]\n                    }, \n                    \"Status\": \"Completed\", \n                    \"SubscriptionId\": \"2c92c0f9647e2f5001647e51728d7995\", \n                    \"Type\": \"NewProduct\"\n                }\n            ], \n            \"PreviewOptions\": {\n                \"EnablePreviewMode\": false\n            }\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/action/create:
    post:
      summary: Create
      operationId: Action_POSTcreate
      description: "Use the create call to create one or more objects of a specific\
        \ type. You can specify different types in different create calls, but each\
        \ create call must apply to only one type of object.\n\n## Limitations \n\n\
        This call has the following limitations:\n\n* A maximum of 50 objects are\
        \ supported in a single call.\n* The Invoice Settlement feature is not supported.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement.\n* The default WSDL version for Actions is 79. To create\
        \ objects according to a different WSDL version, set the `X-Zuora-WSDL-Version`\
        \ header. To find out in which WSDL version a particular object or field was\
        \ introduced, see [Zuora SOAP API Version History](https://knowledgecenter.zuora.com/DC_Developers/G_SOAP_API/Zuora_SOAP_API_Version_History).\n\
        \n\n## How to Use this Call\n\nYou can call create on an array of one or more\
        \ zObjects. It returns an array of SaveResults, indicating the success or\
        \ failure of creating each object. The following information applies to this\
        \ call:\n\n* You cannot pass in null zObjects.\n* You can pass in a maximum\
        \ of 50 zObjects at a time.\n* All objects must be of the same type.\n\n###\
        \ Using Create and Subscribe Calls \nBoth the create and subscribe calls will\
        \ create a new account. However, there are differences between the calls.\n\
        \nUse the create call to create an account independent of a subscription.\n\
        \nUse the subscribe call to create the account with the subscription and the\
        \ initial payment information.\n"
      tags:
      - Actions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - $ref: '#/parameters/GLOBAL_HEADER_X_Zuora_WSDL_Version'
      - name: createRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyActioncreateRequest'
      responses:
        '200':
          examples:
            application/json:
            - Success: true
              Id: 2c93808457d787030157e0324aea5158
          description: ''
          headers:
            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:
            description: ''
            type: array
            items:
              $ref: '#/definitions/SaveResult'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"objects\": [\n    \
          \    {\n            \"AccountingCode\": \"Accounts Receivable\", \n    \
          \        \"AdjustmentDate\": \"2016-10-20\", \n            \"Amount\": 1.2,\
          \ \n            \"Comment\": \"this is comments\", \n            \"InvoiceId\"\
          : \"2c93808457d787030157e03248c75142\", \n            \"InvoiceNumber\"\
          : \"INV00000001\", \n            \"ReferenceId\": \"refid-1476935174845\"\
          , \n            \"SourceId\": \"2c93808457d787030157e03248c95144\", \n \
          \           \"SourceType\": \"InvoiceDetail\", \n            \"Type\": \"\
          Credit\"\n        }\n    ], \n    \"type\": \"InvoiceItemAdjustment\"\n\
          }' \"https://rest.zuora.com/v1/action/create\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/action/create');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"objects\": [\n        {\n           \
          \ \"AccountingCode\": \"Accounts Receivable\", \n            \"AdjustmentDate\"\
          : \"2016-10-20\", \n            \"Amount\": 1.2, \n            \"Comment\"\
          : \"this is comments\", \n            \"InvoiceId\": \"2c93808457d787030157e03248c75142\"\
          , \n            \"InvoiceNumber\": \"INV00000001\", \n            \"ReferenceId\"\
          : \"refid-1476935174845\", \n            \"SourceId\": \"2c93808457d787030157e03248c95144\"\
          , \n            \"SourceType\": \"InvoiceDetail\", \n            \"Type\"\
          : \"Credit\"\n        }\n    ], \n    \"type\": \"InvoiceItemAdjustment\"\
          \n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"objects\": [\n        {\n            \"AccountingCode\": \"Accounts Receivable\", \n            \"AdjustmentDate\": \"2016-10-20\", \n            \"Amount\": 1.2, \n            \"Comment\": \"this is comments\", \n            \"InvoiceId\": \"2c93808457d787030157e03248c75142\", \n            \"InvoiceNumber\": \"INV00000001\", \n            \"ReferenceId\": \"refid-1476935174845\", \n            \"SourceId\": \"2c93808457d787030157e03248c95144\", \n            \"SourceType\": \"InvoiceDetail\", \n            \"Type\": \"Credit\"\n        }\n    ], \n    \"type\": \"InvoiceItemAdjustment\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/action/create")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"objects\": [\n        {\n            \"AccountingCode\": \"Accounts Receivable\", \n            \"AdjustmentDate\": \"2016-10-20\", \n            \"Amount\": 1.2, \n            \"Comment\": \"this is comments\", \n            \"InvoiceId\": \"2c93808457d787030157e03248c75142\", \n            \"InvoiceNumber\": \"INV00000001\", \n            \"ReferenceId\": \"refid-1476935174845\", \n            \"SourceId\": \"2c93808457d787030157e03248c95144\", \n            \"SourceType\": \"InvoiceDetail\", \n            \"Type\": \"Credit\"\n        }\n    ], \n    \"type\": \"InvoiceItemAdjustment\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/action/create", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/action/create")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"objects\": [\n        {\n            \"AccountingCode\": \"Accounts Receivable\", \n            \"AdjustmentDate\": \"2016-10-20\", \n            \"Amount\": 1.2, \n            \"Comment\": \"this is comments\", \n            \"InvoiceId\": \"2c93808457d787030157e03248c75142\", \n            \"InvoiceNumber\": \"INV00000001\", \n            \"ReferenceId\": \"refid-1476935174845\", \n            \"SourceId\": \"2c93808457d787030157e03248c95144\", \n            \"SourceType\": \"InvoiceDetail\", \n            \"Type\": \"Credit\"\n        }\n    ], \n    \"type\": \"InvoiceItemAdjustment\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/action/create");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"objects\": [\n        {\n            \"AccountingCode\": \"Accounts Receivable\", \n            \"AdjustmentDate\": \"2016-10-20\", \n            \"Amount\": 1.2, \n            \"Comment\": \"this is comments\", \n            \"InvoiceId\": \"2c93808457d787030157e03248c75142\", \n            \"InvoiceNumber\": \"INV00000001\", \n            \"ReferenceId\": \"refid-1476935174845\", \n            \"SourceId\": \"2c93808457d787030157e03248c95144\", \n            \"SourceType\": \"InvoiceDetail\", \n            \"Type\": \"Credit\"\n        }\n    ], \n    \"type\": \"InvoiceItemAdjustment\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/action/delete:
    post:
      summary: Delete
      operationId: Action_POSTdelete
      description: |
        Deletes one or more objects of the same type. You can specify different types in different delete calls, but each delete call must apply only to one type of object.

        The following information applies to this call:

        * You will need to first determine the IDs for the objects you wish to delete.
        * You cannot pass in any null IDs.
        * All objects in a specific delete call must be of the same type.


        ### Objects per Call
        50 objects are supported in a single call.
      tags:
      - Actions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - $ref: '#/parameters/GLOBAL_HEADER_X_Zuora_WSDL_Version'
      - name: deleteRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyActiondeleteRequest'
      responses:
        '200':
          examples:
            application/json:
            - id: 2c93808457d787030157e031fcd34e19
              success: true
          description: ''
          headers:
            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: array
            description: ''
            items:
              $ref: '#/definitions/DeleteResult'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"ids\": [\n        \"\
          2c93808457d787030157e031fcd34e19\"\n    ], \n    \"type\": \"ProductRatePlanCharge\"\
          \n}' \"https://rest.zuora.com/v1/action/delete\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/action/delete');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"ids\": [\n        \"2c93808457d787030157e031fcd34e19\"\
          \n    ], \n    \"type\": \"ProductRatePlanCharge\"\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"ids\": [\n        \"2c93808457d787030157e031fcd34e19\"\n    ], \n    \"type\": \"ProductRatePlanCharge\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/action/delete")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"ids\": [\n        \"2c93808457d787030157e031fcd34e19\"\n    ], \n    \"type\": \"ProductRatePlanCharge\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/action/delete", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/action/delete")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"ids\": [\n        \"2c93808457d787030157e031fcd34e19\"\n    ], \n    \"type\": \"ProductRatePlanCharge\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/action/delete");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"ids\": [\n        \"2c93808457d787030157e031fcd34e19\"\n    ], \n    \"type\": \"ProductRatePlanCharge\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/action/execute:
    post:
      summary: Execute
      operationId: Action_POSTexecute
      description: "Use the execute call to execute a process to split an invoice\
        \ into multiple invoices. The original invoice must be in draft status. The\
        \ resulting invoices are called split invoices.\n\n**Note:** This feature\
        \ is in **Limited Availability**. If you wish to have access to the feature,\
        \ submit a request at [Zuora Global Support](http://support.zuora.com). \n\
        \nTo split a draft invoice into multiple split invoices:\n\n1. Use the create\
        \ call to create a separate InvoiceSplitItem object for each split invoice\
        \ that you want to create from the original draft invoice.\n2. Use the create\
        \ call to create a single InvoiceSplit object to collect all of the InvoiceSplitItem\
        \ objects.\n3. Use the execute call to split the draft invoice into multiple\
        \ split invoices.\n\nYou need to create InvoiceSplitItem objects and an InvoiceSplit\
        \ object before you can use the execute call. \n\n* Supported objects: InvoiceSplit\n\
        * Asynchronous process: yes\n"
      tags:
      - Actions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - $ref: '#/parameters/GLOBAL_HEADER_X_Zuora_WSDL_Version'
      - name: executeRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyActionexecuteRequest'
      responses:
        '200':
          examples:
            application/json:
            - Success: true
              Id: 2c93808457d787030157e031d5844c53
          description: ''
          headers:
            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:
            description: ''
            type: array
            items:
              $ref: '#/definitions/ExecuteResult'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"ids\": [\n        \"\
          2c93808457d787030157e031d5844c53\"\n    ], \n    \"synchronous\": false,\
          \ \n    \"type\": \"InvoiceSplit\"\n}' \"https://rest.zuora.com/v1/action/execute\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/action/execute');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"ids\": [\n        \"2c93808457d787030157e031d5844c53\"\
          \n    ], \n    \"synchronous\": false, \n    \"type\": \"InvoiceSplit\"\n\
          }');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"ids\": [\n        \"2c93808457d787030157e031d5844c53\"\n    ], \n    \"synchronous\": false, \n    \"type\": \"InvoiceSplit\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/action/execute")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"ids\": [\n        \"2c93808457d787030157e031d5844c53\"\n    ], \n    \"synchronous\": false, \n    \"type\": \"InvoiceSplit\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/action/execute", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/action/execute")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"ids\": [\n        \"2c93808457d787030157e031d5844c53\"\n    ], \n    \"synchronous\": false, \n    \"type\": \"InvoiceSplit\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/action/execute");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"ids\": [\n        \"2c93808457d787030157e031d5844c53\"\n    ], \n    \"synchronous\": false, \n    \"type\": \"InvoiceSplit\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/action/generate:
    post:
      summary: Generate
      operationId: Action_POSTgenerate
      description: |
        Generates an on-demand invoice for a specific customer. This is similar to creating an ad-hoc bill run for a specific customer account in the Zuora UI.

        * Supported objects: Invoice
        * Asynchronous process: yes

        The ID of the generated invoice is returned in the response. If multiple invoices are generated, only the id of the first invoice generated is returned. This occurs when an account has multiple subscriptions with the [invoice subscription separately](https://knowledgecenter.zuora.com/BC_Subscription_Management/Subscriptions/B_Creating_Subscriptions/Invoicing_Subscriptions_Separately) option enabled.
      tags:
      - Actions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - $ref: '#/parameters/GLOBAL_HEADER_X_Zuora_WSDL_Version'
      - name: generateRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyActiongenerateRequest'
      responses:
        '200':
          examples:
            application/json:
            - Success: true
              Id: 2c93808457d787030157e0306cd13a86
          description: ''
          headers:
            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:
            description: ''
            type: array
            items:
              $ref: '#/definitions/SaveResult'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"objects\": [\n    \
          \    {\n            \"AccountId\": \"2c93808457d787030157e0306be53a75\"\
          , \n            \"InvoiceDate\": \"2016-10-20\", \n            \"TargetDate\"\
          : \"2016-10-20\"\n        }\n    ], \n    \"type\": \"Invoice\"\n}' \"https://rest.zuora.com/v1/action/generate\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/action/generate');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"objects\": [\n        {\n           \
          \ \"AccountId\": \"2c93808457d787030157e0306be53a75\", \n            \"\
          InvoiceDate\": \"2016-10-20\", \n            \"TargetDate\": \"2016-10-20\"\
          \n        }\n    ], \n    \"type\": \"Invoice\"\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"objects\": [\n        {\n            \"AccountId\": \"2c93808457d787030157e0306be53a75\", \n            \"InvoiceDate\": \"2016-10-20\", \n            \"TargetDate\": \"2016-10-20\"\n        }\n    ], \n    \"type\": \"Invoice\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/action/generate")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"objects\": [\n        {\n            \"AccountId\": \"2c93808457d787030157e0306be53a75\", \n            \"InvoiceDate\": \"2016-10-20\", \n            \"TargetDate\": \"2016-10-20\"\n        }\n    ], \n    \"type\": \"Invoice\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/action/generate", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/action/generate")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"objects\": [\n        {\n            \"AccountId\": \"2c93808457d787030157e0306be53a75\", \n            \"InvoiceDate\": \"2016-10-20\", \n            \"TargetDate\": \"2016-10-20\"\n        }\n    ], \n    \"type\": \"Invoice\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/action/generate");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"objects\": [\n        {\n            \"AccountId\": \"2c93808457d787030157e0306be53a75\", \n            \"InvoiceDate\": \"2016-10-20\", \n            \"TargetDate\": \"2016-10-20\"\n        }\n    ], \n    \"type\": \"Invoice\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/action/query:
    post:
      summary: Query
      operationId: Action_POSTquery
      description: "The query call sends a query expression by specifying the object\
        \ to query, the fields to retrieve from that object, and any filters to determine\
        \ whether a given object should be queried.\n\n\nYou can use [Zuora Object\
        \ Query Language](https://knowledgecenter.zuora.com/DC_Developers/K_Zuora_Object_Query_Language)\
        \ (ZOQL) to construct those queries, passing them through the `queryString`.\n\
        \n\nOnce the call is made, the API executes the query against the specified\
        \ object and returns a query response object to your application. Your application\
        \ can then iterate through rows in the query response to retrieve information.\n\
        \n## Limitations \n\nThis call has the following limitations:\n\n* All ZOQL\
        \ keywords must be in lower case.\n* The number of records returned is limited\
        \ to 2000 records\n* The Invoice Settlement feature is not supported. This\
        \ feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement.\n* The default WSDL version for Actions is 79. To query\
        \ objects or fields according to a different WSDL version, set the `X-Zuora-WSDL-Version`\
        \ header. To find out in which WSDL version a particular object or field was\
        \ introduced, see [Zuora SOAP API Version History](https://knowledgecenter.zuora.com/DC_Developers/G_SOAP_API/Zuora_SOAP_API_Version_History).\n"
      tags:
      - Actions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - $ref: '#/parameters/GLOBAL_HEADER_X_Zuora_WSDL_Version'
      - name: queryRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyActionqueryRequest'
      responses:
        '200':
          examples:
            application/json:
              records:
              - AdjustmentNumber: IIA-00000001
                ServiceEndDate: '2016-10-20'
                Id: 2c93808457d787030157e0324aea5158
                AccountingCode: Accounts Receivable
                UpdatedDate: '2016-10-20T05:46:14.000+02:00'
                AccountId: 2c93808457d787030157e032485b5131
                Comment: this is comments
                InvoiceNumber: INV00000001
                InvoiceId: 2c93808457d787030157e03248c75142
                ServiceStartDate: '2016-10-20'
                CreatedById: 2c93808457d787030157e032283c4fb2
                CreatedDate: '2016-10-20T05:46:14.000+02:00'
                InvoiceItemName: OneTime_Flat Fee Pricing1476935174089
                UpdatedById: 2c93808457d787030157e032283c4fb2
                Amount: 1.2
                AdjustmentDate: '2016-10-20'
                SourceId: 2c93808457d787030157e03248c95144
                SourceType: InvoiceDetail
                Status: Processed
                Type: Credit
                ReferenceId: refid-1476935174845
                ReasonCode: Standard Adjustment
              size: 1
              done: true
          description: ''
          headers:
            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/ProxyActionqueryResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: |-
          curl -X POST -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3" -H "Content-Type: application/json" -d '{
              "queryString": "select AccountId, AccountingCode, AdjustmentDate, AdjustmentNumber, Amount, CancelledById, CancelledDate, Comment, CreatedById, CreatedDate, InvoiceId, InvoiceItemName, InvoiceNumber, ReferenceId, ServiceEndDate, ServiceStartDate, SourceId, SourceType, Status, TransferredToAccounting, Type, UpdatedById, UpdatedDate, ReasonCode from InvoiceItemAdjustment where Id = '\''2c93808457d787030157e0324aea5158'\''"
          }' "https://rest.zuora.com/v1/action/query"
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/action/query');
          $request->setMethod(HTTP_METH_POST);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{
              "queryString": "select AccountId, AccountingCode, AdjustmentDate, AdjustmentNumber, Amount, CancelledById, CancelledDate, Comment, CreatedById, CreatedDate, InvoiceId, InvoiceItemName, InvoiceNumber, ReferenceId, ServiceEndDate, ServiceStartDate, SourceId, SourceType, Status, TransferredToAccounting, Type, UpdatedById, UpdatedDate, ReasonCode from InvoiceItemAdjustment where Id = \'2c93808457d787030157e0324aea5158\'"
          }');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"queryString\": \"select AccountId, AccountingCode, AdjustmentDate, AdjustmentNumber, Amount, CancelledById, CancelledDate, Comment, CreatedById, CreatedDate, InvoiceId, InvoiceItemName, InvoiceNumber, ReferenceId, ServiceEndDate, ServiceStartDate, SourceId, SourceType, Status, TransferredToAccounting, Type, UpdatedById, UpdatedDate, ReasonCode from InvoiceItemAdjustment where Id = '2c93808457d787030157e0324aea5158'\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/action/query")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"queryString\": \"select AccountId, AccountingCode, AdjustmentDate, AdjustmentNumber, Amount, CancelledById, CancelledDate, Comment, CreatedById, CreatedDate, InvoiceId, InvoiceItemName, InvoiceNumber, ReferenceId, ServiceEndDate, ServiceStartDate, SourceId, SourceType, Status, TransferredToAccounting, Type, UpdatedById, UpdatedDate, ReasonCode from InvoiceItemAdjustment where Id = '2c93808457d787030157e0324aea5158'\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/action/query", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/action/query")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"queryString\": \"select AccountId, AccountingCode, AdjustmentDate, AdjustmentNumber, Amount, CancelledById, CancelledDate, Comment, CreatedById, CreatedDate, InvoiceId, InvoiceItemName, InvoiceNumber, ReferenceId, ServiceEndDate, ServiceStartDate, SourceId, SourceType, Status, TransferredToAccounting, Type, UpdatedById, UpdatedDate, ReasonCode from InvoiceItemAdjustment where Id = '2c93808457d787030157e0324aea5158'\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/action/query");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"queryString\": \"select AccountId, AccountingCode, AdjustmentDate, AdjustmentNumber, Amount, CancelledById, CancelledDate, Comment, CreatedById, CreatedDate, InvoiceId, InvoiceItemName, InvoiceNumber, ReferenceId, ServiceEndDate, ServiceStartDate, SourceId, SourceType, Status, TransferredToAccounting, Type, UpdatedById, UpdatedDate, ReasonCode from InvoiceItemAdjustment where Id = '2c93808457d787030157e0324aea5158'\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/action/queryMore:
    post:
      summary: QueryMore
      operationId: Action_POSTqueryMore
      description: |
        Use queryMore to request additional results from a previous query call. If your initial query call returns more than 2000 results, you can use queryMore to query for the additional results.


        Any `queryLocator` results greater than 2,000, will only be stored by Zuora for 5 days before it is deleted.


         This call sends a request for additional results from an initial query call. If the initial query call returns more than 2000 results, you can use the `queryLocator` returned from query to request the next set of results.


        **Note:** Zuora expires queryMore cursors after 15 minutes of activity.


        To use queryMore, you first construct a query call. By default, the query call will return up to 2000 results. If there are more than 2000 results, query will return a boolean `done`, which will be marked as `false`, and a `queryLocator`, which is a marker you will pass to queryMore to get the next set of results.
      tags:
      - Actions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - $ref: '#/parameters/GLOBAL_HEADER_X_Zuora_WSDL_Version'
      - name: queryMoreRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyActionqueryMoreRequest'
      responses:
        '200':
          description: ''
          headers:
            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/ProxyActionqueryMoreResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: |-
          curl -X POST -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3" -H "Content-Type: application/json" -d '{
              "queryLocator": "2c92c0f9602fb240016049ac7e0b47e7-2000"
          }' "https://rest.zuora.com/v1/action/queryMore"
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/action/queryMore');
          $request->setMethod(HTTP_METH_POST);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{
              "queryLocator": "2c92c0f9602fb240016049ac7e0b47e7-2000"
          }');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"queryLocator\": \"2c92c0f9602fb240016049ac7e0b47e7-2000\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/action/queryMore")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"queryLocator\": \"2c92c0f9602fb240016049ac7e0b47e7-2000\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/action/queryMore", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/action/queryMore")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"queryLocator\": \"2c92c0f9602fb240016049ac7e0b47e7-2000\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/action/queryMore");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"queryLocator\": \"2c92c0f9602fb240016049ac7e0b47e7-2000\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/action/subscribe:
    post:
      summary: Subscribe
      operationId: Action_POSTsubscribe
      description: "\nThis call performs many actions.  Use the subscribe call to\
        \ bundle information required to create at least one new subscription.\n\n\
        The call takes in an array of SubscribeRequests. Because it takes an array,\
        \ you can submit a batch of subscription requests at once. You can create\
        \ up to 50 different subscriptions in a single subscribe call.\n\nThis is\
        \ a combined call that you can use to perform all of the following tasks in\
        \ a single call:\n\n* Create accounts\n* Create contacts\n* Create payment\
        \ methods, including external payment options\n* Create an invoice for the\
        \ subscription\n* Apply the first payment to a subscription\n\n## Object Limits\
        \ \n50 objects are supported in a single call.\n\n\n\n## Effective Date\n\
        If the effective date is in the future, the invoices will not be generated,\
        \ and there will be no invoice number.\n\n## Subscription Name, Number, and\
        \ ID \n### Subscription Name and Number \nThe subscription name is a unique\
        \ identifier for the subscription. If you do not specify a value for the name,\
        \ Zuora will create one automatically. The automatically generated value is\
        \ known as the subscription number, such as `A-S00000080`. You cannot change\
        \ the subscription name or number after creating the subscription. \n\n* **Subscription\
        \ name**: The name that you set for the subscription.\n* **Subscription number**:\
        \ The value generated by Zuora automatically if you do not specify a subscription\
        \ name. \n\nBoth the subscription name and number must be unique. If they\
        \ are not, an error will occur.\n\n### Subscription ID \nThe subscription\
        \ ID is a 32-digit ID in the format 4028xxxx. This is also the unique identifier\
        \ for a subscription. This value is automatically generated by the system\
        \ and cannot be edited or updated, but it can be queried. One subscription\
        \ can have only one subscription name or number, but it can have multiple\
        \ IDs: Each version of a subscription has a different ID.\n\nThe Subscription\
        \ object contains the fields `OriginalId` and `PreviousSubscriptionId`. `OriginalId`\
        \ is the ID for the first version of a subscription. `PreviousSubscriptionId`\
        \ is the ID of the version created immediately prior to the current version.\n\
        \n## Subscription Preview \nYou can preview invoices that would be generated\
        \ by the subscribe call. \n\n## Invoice Subscriptions Separately\nIf you have\
        \ enabled the invoice subscriptions separately feature, a subscribe call will\
        \ generate an invoice for each subscription for every subscription where the\
        \ field `IsInvoiceSeparate` is set to `true`.\n\nIf the invoice subscriptions\
        \ separately feature is disabled, a subscribe call will generate a single\
        \ invoice for all subscriptions.\n\nSee [Invoicing Subscriptions Separately](https://knowledgecenter.zuora.com/BC_Subscription_Management/Subscriptions/B_Creating_Subscriptions/Invoicing_Subscriptions_Separately)\
        \ for more information.\n\n## Subscriptions and Draft Invoices \nIf a draft\
        \ invoice that includes charges exists in a customer account, using the subscribe\
        \ call to create a new subscription and generate an invoice will cause the\
        \ new subscription to be added to the existing draft invoice. Zuora will then\
        \ post the invoice. \n\n## When to Use Subscribe and Create Calls \nYou can\
        \ use either the subscribe call or the create call to create the objects associated\
        \ with a subscription (accounts, contacts, and so on). There are differences\
        \ between these calls, however, and some situations are better for one or\
        \ the other.\n\n### Use the Subscribe Call \nThe subscribe call bundles up\
        \ all the information you need for a subscription. Use the subscribe call\
        \ to create new subscriptions when you have all the information you need.\n\
        \nSubscribe calls cannot update BillTo, SoldTo, and Account objects. Payment\
        \ information objects cannot be updated if there is an existing account ID\
        \ in the call. These objects are not supported in a subscribe call.\n\n###\
        \ Use the Create Call \nThe create call is more useful when you want to develop\
        \ in stages. For example, if you want to first create an account, then a contact,\
        \ and so on. If you do not have all information available, use the create\
        \ call. To create a subscription, you must activate the account from Draft\
        \ status to Active by calling the subscribe call.\n"
      tags:
      - Actions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - $ref: '#/parameters/GLOBAL_HEADER_X_Zuora_WSDL_Version'
      - name: subscribeRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyActionsubscribeRequest'
      responses:
        '200':
          examples:
            application/json:
            - AccountNumber: A00000085
              SubscriptionNumber: A-S00000213
              InvoiceResult:
                Invoice:
                - InvoiceNumber: INV00000536
                  Id: 2c92c0f968e566ad0168ef36f33a0591
              TotalTcv: 100
              Success: true
              TotalMrr: 0
              AccountId: 2c92c0f968e566ad0168ef36f27d057c
              SubscriptionId: 2c92c0f968e566ad0168ef36f29a057f
              InvoiceNumber: INV00000536
              InvoiceId: 2c92c0f968e566ad0168ef36f33a0591
          description: ''
          headers:
            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:
            description: ''
            type: array
            items:
              $ref: '#/definitions/SubscribeResult'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"subscribes\": [\n \
          \       {\n            \"Account\": {\n                \"AccountNumber\"\
          : \"A00000085\", \n                \"AutoPay\": false, \n              \
          \  \"Batch\": \"Batch1\", \n                \"BillCycleDay\": 1, \n    \
          \            \"Currency\": \"USD\", \n                \"Name\": \"West Corporation\"\
          , \n                \"PaymentTerm\": \"Due Upon Receipt\"\n            },\
          \ \n            \"BillToContact\": {\n                \"Address1\": \"312\
          \ 2nd Ave W\", \n                \"City\": \"Seattle\", \n             \
          \   \"Country\": \"United States\", \n                \"FirstName\": \"\
          Sarah\", \n                \"LastName\": \"Smith\", \n                \"\
          PostalCode\": \"98119\", \n                \"State\": \"Washington\", \n\
          \                \"WorkEmail\": \"sarah@example.com\"\n            }, \n\
          \            \"PaymentMethod\": {\n                \"CreditCardAddress1\"\
          : \"312 2nd Ave W\", \n                \"CreditCardCity\": \"Seattle\",\
          \ \n                \"CreditCardCountry\": \"United States\", \n       \
          \         \"CreditCardExpirationMonth\": 12, \n                \"CreditCardExpirationYear\"\
          : 2020, \n                \"CreditCardHolderName\": \"Ms Sarah Smith\",\
          \ \n                \"CreditCardNumber\": \"4111111111111111\", \n     \
          \           \"CreditCardPostalCode\": \"98119\", \n                \"CreditCardState\"\
          : \"Washington\", \n                \"CreditCardType\": \"Visa\", \n   \
          \             \"Type\": \"CreditCard\"\n            }, \n            \"\
          SubscribeOptions\": {\n                \"GenerateInvoice\": true, \n   \
          \             \"ProcessPayments\": false\n            }, \n            \"\
          SubscriptionData\": {\n                \"RatePlanData\": [\n           \
          \         {\n                        \"RatePlan\": {\n                 \
          \           \"ProductRatePlanId\": \"2c92c0f966537bf001666218919620cc\"\n\
          \                        }, \n                        \"RatePlanChargeData\"\
          : [\n                            {\n                                \"RatePlanCharge\"\
          : {\n                                    \"ChargeModel\": \"Discount-Percentage\"\
          , \n                                    \"DiscountPercentage\": \"6.75\"\
          , \n                                    \"ProductRatePlanChargeId\": \"\
          2c92c0f866536da301666222643809b4\", \n                                 \
          \   \"Quantity\": 200\n                                }\n             \
          \               }\n                        ]\n                    }\n  \
          \              ], \n                \"Subscription\": {\n              \
          \      \"AutoRenew\": true, \n                    \"ContractAcceptanceDate\"\
          : \"2019-02-15\", \n                    \"ContractEffectiveDate\": \"2019-02-15\"\
          , \n                    \"InitialTerm\": 12, \n                    \"RenewalTerm\"\
          : 6, \n                    \"ServiceActivationDate\": \"2019-02-15\", \n\
          \                    \"TermType\": \"TERMED\"\n                }\n     \
          \       }\n        }\n    ]\n}' \"https://rest.zuora.com/v1/action/subscribe\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/action/subscribe');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"subscribes\": [\n        {\n        \
          \    \"Account\": {\n                \"AccountNumber\": \"A00000085\", \n\
          \                \"AutoPay\": false, \n                \"Batch\": \"Batch1\"\
          , \n                \"BillCycleDay\": 1, \n                \"Currency\"\
          : \"USD\", \n                \"Name\": \"West Corporation\", \n        \
          \        \"PaymentTerm\": \"Due Upon Receipt\"\n            }, \n      \
          \      \"BillToContact\": {\n                \"Address1\": \"312 2nd Ave\
          \ W\", \n                \"City\": \"Seattle\", \n                \"Country\"\
          : \"United States\", \n                \"FirstName\": \"Sarah\", \n    \
          \            \"LastName\": \"Smith\", \n                \"PostalCode\":\
          \ \"98119\", \n                \"State\": \"Washington\", \n           \
          \     \"WorkEmail\": \"sarah@example.com\"\n            }, \n          \
          \  \"PaymentMethod\": {\n                \"CreditCardAddress1\": \"312 2nd\
          \ Ave W\", \n                \"CreditCardCity\": \"Seattle\", \n       \
          \         \"CreditCardCountry\": \"United States\", \n                \"\
          CreditCardExpirationMonth\": 12, \n                \"CreditCardExpirationYear\"\
          : 2020, \n                \"CreditCardHolderName\": \"Ms Sarah Smith\",\
          \ \n                \"CreditCardNumber\": \"4111111111111111\", \n     \
          \           \"CreditCardPostalCode\": \"98119\", \n                \"CreditCardState\"\
          : \"Washington\", \n                \"CreditCardType\": \"Visa\", \n   \
          \             \"Type\": \"CreditCard\"\n            }, \n            \"\
          SubscribeOptions\": {\n                \"GenerateInvoice\": true, \n   \
          \             \"ProcessPayments\": false\n            }, \n            \"\
          SubscriptionData\": {\n                \"RatePlanData\": [\n           \
          \         {\n                        \"RatePlan\": {\n                 \
          \           \"ProductRatePlanId\": \"2c92c0f966537bf001666218919620cc\"\n\
          \                        }, \n                        \"RatePlanChargeData\"\
          : [\n                            {\n                                \"RatePlanCharge\"\
          : {\n                                    \"ChargeModel\": \"Discount-Percentage\"\
          , \n                                    \"DiscountPercentage\": \"6.75\"\
          , \n                                    \"ProductRatePlanChargeId\": \"\
          2c92c0f866536da301666222643809b4\", \n                                 \
          \   \"Quantity\": 200\n                                }\n             \
          \               }\n                        ]\n                    }\n  \
          \              ], \n                \"Subscription\": {\n              \
          \      \"AutoRenew\": true, \n                    \"ContractAcceptanceDate\"\
          : \"2019-02-15\", \n                    \"ContractEffectiveDate\": \"2019-02-15\"\
          , \n                    \"InitialTerm\": 12, \n                    \"RenewalTerm\"\
          : 6, \n                    \"ServiceActivationDate\": \"2019-02-15\", \n\
          \                    \"TermType\": \"TERMED\"\n                }\n     \
          \       }\n        }\n    ]\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"subscribes\": [\n        {\n            \"Account\": {\n                \"AccountNumber\": \"A00000085\", \n                \"AutoPay\": false, \n                \"Batch\": \"Batch1\", \n                \"BillCycleDay\": 1, \n                \"Currency\": \"USD\", \n                \"Name\": \"West Corporation\", \n                \"PaymentTerm\": \"Due Upon Receipt\"\n            }, \n            \"BillToContact\": {\n                \"Address1\": \"312 2nd Ave W\", \n                \"City\": \"Seattle\", \n                \"Country\": \"United States\", \n                \"FirstName\": \"Sarah\", \n                \"LastName\": \"Smith\", \n                \"PostalCode\": \"98119\", \n                \"State\": \"Washington\", \n                \"WorkEmail\": \"sarah@example.com\"\n            }, \n            \"PaymentMethod\": {\n                \"CreditCardAddress1\": \"312 2nd Ave W\", \n                \"CreditCardCity\": \"Seattle\", \n                \"CreditCardCountry\": \"United States\", \n                \"CreditCardExpirationMonth\": 12, \n                \"CreditCardExpirationYear\": 2020, \n                \"CreditCardHolderName\": \"Ms Sarah Smith\", \n                \"CreditCardNumber\": \"4111111111111111\", \n                \"CreditCardPostalCode\": \"98119\", \n                \"CreditCardState\": \"Washington\", \n                \"CreditCardType\": \"Visa\", \n                \"Type\": \"CreditCard\"\n            }, \n            \"SubscribeOptions\": {\n                \"GenerateInvoice\": true, \n                \"ProcessPayments\": false\n            }, \n            \"SubscriptionData\": {\n                \"RatePlanData\": [\n                    {\n                        \"RatePlan\": {\n                            \"ProductRatePlanId\": \"2c92c0f966537bf001666218919620cc\"\n                        }, \n                        \"RatePlanChargeData\": [\n                            {\n                                \"RatePlanCharge\": {\n                                    \"ChargeModel\": \"Discount-Percentage\", \n                                    \"DiscountPercentage\": \"6.75\", \n                                    \"ProductRatePlanChargeId\": \"2c92c0f866536da301666222643809b4\", \n                                    \"Quantity\": 200\n                                }\n                            }\n                        ]\n                    }\n                ], \n                \"Subscription\": {\n                    \"AutoRenew\": true, \n                    \"ContractAcceptanceDate\": \"2019-02-15\", \n                    \"ContractEffectiveDate\": \"2019-02-15\", \n                    \"InitialTerm\": 12, \n                    \"RenewalTerm\": 6, \n                    \"ServiceActivationDate\": \"2019-02-15\", \n                    \"TermType\": \"TERMED\"\n                }\n            }\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/action/subscribe")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"subscribes\": [\n        {\n            \"Account\": {\n                \"AccountNumber\": \"A00000085\", \n                \"AutoPay\": false, \n                \"Batch\": \"Batch1\", \n                \"BillCycleDay\": 1, \n                \"Currency\": \"USD\", \n                \"Name\": \"West Corporation\", \n                \"PaymentTerm\": \"Due Upon Receipt\"\n            }, \n            \"BillToContact\": {\n                \"Address1\": \"312 2nd Ave W\", \n                \"City\": \"Seattle\", \n                \"Country\": \"United States\", \n                \"FirstName\": \"Sarah\", \n                \"LastName\": \"Smith\", \n                \"PostalCode\": \"98119\", \n                \"State\": \"Washington\", \n                \"WorkEmail\": \"sarah@example.com\"\n            }, \n            \"PaymentMethod\": {\n                \"CreditCardAddress1\": \"312 2nd Ave W\", \n                \"CreditCardCity\": \"Seattle\", \n                \"CreditCardCountry\": \"United States\", \n                \"CreditCardExpirationMonth\": 12, \n                \"CreditCardExpirationYear\": 2020, \n                \"CreditCardHolderName\": \"Ms Sarah Smith\", \n                \"CreditCardNumber\": \"4111111111111111\", \n                \"CreditCardPostalCode\": \"98119\", \n                \"CreditCardState\": \"Washington\", \n                \"CreditCardType\": \"Visa\", \n                \"Type\": \"CreditCard\"\n            }, \n            \"SubscribeOptions\": {\n                \"GenerateInvoice\": true, \n                \"ProcessPayments\": false\n            }, \n            \"SubscriptionData\": {\n                \"RatePlanData\": [\n                    {\n                        \"RatePlan\": {\n                            \"ProductRatePlanId\": \"2c92c0f966537bf001666218919620cc\"\n                        }, \n                        \"RatePlanChargeData\": [\n                            {\n                                \"RatePlanCharge\": {\n                                    \"ChargeModel\": \"Discount-Percentage\", \n                                    \"DiscountPercentage\": \"6.75\", \n                                    \"ProductRatePlanChargeId\": \"2c92c0f866536da301666222643809b4\", \n                                    \"Quantity\": 200\n                                }\n                            }\n                        ]\n                    }\n                ], \n                \"Subscription\": {\n                    \"AutoRenew\": true, \n                    \"ContractAcceptanceDate\": \"2019-02-15\", \n                    \"ContractEffectiveDate\": \"2019-02-15\", \n                    \"InitialTerm\": 12, \n                    \"RenewalTerm\": 6, \n                    \"ServiceActivationDate\": \"2019-02-15\", \n                    \"TermType\": \"TERMED\"\n                }\n            }\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/action/subscribe", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/action/subscribe")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"subscribes\": [\n        {\n            \"Account\": {\n                \"AccountNumber\": \"A00000085\", \n                \"AutoPay\": false, \n                \"Batch\": \"Batch1\", \n                \"BillCycleDay\": 1, \n                \"Currency\": \"USD\", \n                \"Name\": \"West Corporation\", \n                \"PaymentTerm\": \"Due Upon Receipt\"\n            }, \n            \"BillToContact\": {\n                \"Address1\": \"312 2nd Ave W\", \n                \"City\": \"Seattle\", \n                \"Country\": \"United States\", \n                \"FirstName\": \"Sarah\", \n                \"LastName\": \"Smith\", \n                \"PostalCode\": \"98119\", \n                \"State\": \"Washington\", \n                \"WorkEmail\": \"sarah@example.com\"\n            }, \n            \"PaymentMethod\": {\n                \"CreditCardAddress1\": \"312 2nd Ave W\", \n                \"CreditCardCity\": \"Seattle\", \n                \"CreditCardCountry\": \"United States\", \n                \"CreditCardExpirationMonth\": 12, \n                \"CreditCardExpirationYear\": 2020, \n                \"CreditCardHolderName\": \"Ms Sarah Smith\", \n                \"CreditCardNumber\": \"4111111111111111\", \n                \"CreditCardPostalCode\": \"98119\", \n                \"CreditCardState\": \"Washington\", \n                \"CreditCardType\": \"Visa\", \n                \"Type\": \"CreditCard\"\n            }, \n            \"SubscribeOptions\": {\n                \"GenerateInvoice\": true, \n                \"ProcessPayments\": false\n            }, \n            \"SubscriptionData\": {\n                \"RatePlanData\": [\n                    {\n                        \"RatePlan\": {\n                            \"ProductRatePlanId\": \"2c92c0f966537bf001666218919620cc\"\n                        }, \n                        \"RatePlanChargeData\": [\n                            {\n                                \"RatePlanCharge\": {\n                                    \"ChargeModel\": \"Discount-Percentage\", \n                                    \"DiscountPercentage\": \"6.75\", \n                                    \"ProductRatePlanChargeId\": \"2c92c0f866536da301666222643809b4\", \n                                    \"Quantity\": 200\n                                }\n                            }\n                        ]\n                    }\n                ], \n                \"Subscription\": {\n                    \"AutoRenew\": true, \n                    \"ContractAcceptanceDate\": \"2019-02-15\", \n                    \"ContractEffectiveDate\": \"2019-02-15\", \n                    \"InitialTerm\": 12, \n                    \"RenewalTerm\": 6, \n                    \"ServiceActivationDate\": \"2019-02-15\", \n                    \"TermType\": \"TERMED\"\n                }\n            }\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/action/subscribe");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"subscribes\": [\n        {\n            \"Account\": {\n                \"AccountNumber\": \"A00000085\", \n                \"AutoPay\": false, \n                \"Batch\": \"Batch1\", \n                \"BillCycleDay\": 1, \n                \"Currency\": \"USD\", \n                \"Name\": \"West Corporation\", \n                \"PaymentTerm\": \"Due Upon Receipt\"\n            }, \n            \"BillToContact\": {\n                \"Address1\": \"312 2nd Ave W\", \n                \"City\": \"Seattle\", \n                \"Country\": \"United States\", \n                \"FirstName\": \"Sarah\", \n                \"LastName\": \"Smith\", \n                \"PostalCode\": \"98119\", \n                \"State\": \"Washington\", \n                \"WorkEmail\": \"sarah@example.com\"\n            }, \n            \"PaymentMethod\": {\n                \"CreditCardAddress1\": \"312 2nd Ave W\", \n                \"CreditCardCity\": \"Seattle\", \n                \"CreditCardCountry\": \"United States\", \n                \"CreditCardExpirationMonth\": 12, \n                \"CreditCardExpirationYear\": 2020, \n                \"CreditCardHolderName\": \"Ms Sarah Smith\", \n                \"CreditCardNumber\": \"4111111111111111\", \n                \"CreditCardPostalCode\": \"98119\", \n                \"CreditCardState\": \"Washington\", \n                \"CreditCardType\": \"Visa\", \n                \"Type\": \"CreditCard\"\n            }, \n            \"SubscribeOptions\": {\n                \"GenerateInvoice\": true, \n                \"ProcessPayments\": false\n            }, \n            \"SubscriptionData\": {\n                \"RatePlanData\": [\n                    {\n                        \"RatePlan\": {\n                            \"ProductRatePlanId\": \"2c92c0f966537bf001666218919620cc\"\n                        }, \n                        \"RatePlanChargeData\": [\n                            {\n                                \"RatePlanCharge\": {\n                                    \"ChargeModel\": \"Discount-Percentage\", \n                                    \"DiscountPercentage\": \"6.75\", \n                                    \"ProductRatePlanChargeId\": \"2c92c0f866536da301666222643809b4\", \n                                    \"Quantity\": 200\n                                }\n                            }\n                        ]\n                    }\n                ], \n                \"Subscription\": {\n                    \"AutoRenew\": true, \n                    \"ContractAcceptanceDate\": \"2019-02-15\", \n                    \"ContractEffectiveDate\": \"2019-02-15\", \n                    \"InitialTerm\": 12, \n                    \"RenewalTerm\": 6, \n                    \"ServiceActivationDate\": \"2019-02-15\", \n                    \"TermType\": \"TERMED\"\n                }\n            }\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/action/update:
    post:
      summary: Update
      operationId: Action_POSTupdate
      description: "\nUpdates the information in one or more objects of the same type.\
        \ You can specify different types of objects in different update calls, but\
        \ each specific update call must apply to only one type of object.\n\nYou\
        \ can update an array of one or more zObjects. It returns an array of SaveResults,\
        \ indicating the success or failure of updating each object. The following\
        \ information applies to this call:\n\n* You cannot pass in null zObjects.\n\
        * You can pass in a maximum of 50 zObjects at a time.\n* All objects must\
        \ be of the same type.\n* For each field in each object, you must determine\
        \ that object's ID. Then populate the fields that you want update with the\
        \ new information.\n* Zuora ignores unrecognized fields in update calls. For\
        \ example, if an optional field is spelled incorrectly or a field that does\
        \ not exist is specified, Zuora ignores the field and continues to process\
        \ the call. No error message is returned for unrecognized fields.\n\n## Limitations\
        \ \n\nThis call has the following limitations:\n\n* A maximum of 50 objects\
        \ are supported in a single call.\n* The Invoice Settlement feature is not\
        \ supported. This feature includes Unapplied Payments, Credit and Debit Memo,\
        \ and Invoice Item Settlement.\n* The default WSDL version for Actions is\
        \ 79. To update objects or fields according to a different WSDL version, set\
        \ the `X-Zuora-WSDL-Version` header. To find out in which WSDL version a particular\
        \ object or field was introduced, see [Zuora SOAP API Version History](https://knowledgecenter.zuora.com/DC_Developers/G_SOAP_API/Zuora_SOAP_API_Version_History).\n"
      tags:
      - Actions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - $ref: '#/parameters/GLOBAL_HEADER_X_Zuora_WSDL_Version'
      - name: updateRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyActionupdateRequest'
      responses:
        '200':
          examples:
            application/json:
            - Success: true
              Id: 2c93808457d787030157e0321fdf4fab
          description: ''
          headers:
            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:
            description: ''
            type: array
            items:
              $ref: '#/definitions/SaveResult'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"objects\": [\n    \
          \    {\n            \"AccountNumber\": \"AN_1476935163869\", \n        \
          \    \"AutoPay\": true, \n            \"Batch\": \"Batch1\", \n        \
          \    \"BillCycleDay\": 1, \n            \"BillToId\": \"2c93808457d787030157e03220684fac\"\
          , \n            \"CrmId\": \"crmid\", \n            \"Currency\": \"USD\"\
          , \n            \"DefaultPaymentMethodId\": \"2c93808457d787030157e03220ec4fad\"\
          , \n            \"Id\": \"2c93808457d787030157e0321fdf4fab\", \n       \
          \     \"InvoiceTemplateId\": \"2c93808457d787030157e03208864f97\", \n  \
          \          \"Name\": \"AC_1476935163869\", \n            \"Notes\": \"this\
          \ is notes\", \n            \"PaymentTerm\": \"Due Upon Receipt\", \n  \
          \          \"SoldToId\": \"2c93808457d787030157e03220684fac\", \n      \
          \      \"Status\": \"Active\"\n        }\n    ], \n    \"type\": \"Account\"\
          \n}' \"https://rest.zuora.com/v1/action/update\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/action/update');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"objects\": [\n        {\n           \
          \ \"AccountNumber\": \"AN_1476935163869\", \n            \"AutoPay\": true,\
          \ \n            \"Batch\": \"Batch1\", \n            \"BillCycleDay\": 1,\
          \ \n            \"BillToId\": \"2c93808457d787030157e03220684fac\", \n \
          \           \"CrmId\": \"crmid\", \n            \"Currency\": \"USD\", \n\
          \            \"DefaultPaymentMethodId\": \"2c93808457d787030157e03220ec4fad\"\
          , \n            \"Id\": \"2c93808457d787030157e0321fdf4fab\", \n       \
          \     \"InvoiceTemplateId\": \"2c93808457d787030157e03208864f97\", \n  \
          \          \"Name\": \"AC_1476935163869\", \n            \"Notes\": \"this\
          \ is notes\", \n            \"PaymentTerm\": \"Due Upon Receipt\", \n  \
          \          \"SoldToId\": \"2c93808457d787030157e03220684fac\", \n      \
          \      \"Status\": \"Active\"\n        }\n    ], \n    \"type\": \"Account\"\
          \n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"objects\": [\n        {\n            \"AccountNumber\": \"AN_1476935163869\", \n            \"AutoPay\": true, \n            \"Batch\": \"Batch1\", \n            \"BillCycleDay\": 1, \n            \"BillToId\": \"2c93808457d787030157e03220684fac\", \n            \"CrmId\": \"crmid\", \n            \"Currency\": \"USD\", \n            \"DefaultPaymentMethodId\": \"2c93808457d787030157e03220ec4fad\", \n            \"Id\": \"2c93808457d787030157e0321fdf4fab\", \n            \"InvoiceTemplateId\": \"2c93808457d787030157e03208864f97\", \n            \"Name\": \"AC_1476935163869\", \n            \"Notes\": \"this is notes\", \n            \"PaymentTerm\": \"Due Upon Receipt\", \n            \"SoldToId\": \"2c93808457d787030157e03220684fac\", \n            \"Status\": \"Active\"\n        }\n    ], \n    \"type\": \"Account\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/action/update")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"objects\": [\n        {\n            \"AccountNumber\": \"AN_1476935163869\", \n            \"AutoPay\": true, \n            \"Batch\": \"Batch1\", \n            \"BillCycleDay\": 1, \n            \"BillToId\": \"2c93808457d787030157e03220684fac\", \n            \"CrmId\": \"crmid\", \n            \"Currency\": \"USD\", \n            \"DefaultPaymentMethodId\": \"2c93808457d787030157e03220ec4fad\", \n            \"Id\": \"2c93808457d787030157e0321fdf4fab\", \n            \"InvoiceTemplateId\": \"2c93808457d787030157e03208864f97\", \n            \"Name\": \"AC_1476935163869\", \n            \"Notes\": \"this is notes\", \n            \"PaymentTerm\": \"Due Upon Receipt\", \n            \"SoldToId\": \"2c93808457d787030157e03220684fac\", \n            \"Status\": \"Active\"\n        }\n    ], \n    \"type\": \"Account\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/action/update", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/action/update")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"objects\": [\n        {\n            \"AccountNumber\": \"AN_1476935163869\", \n            \"AutoPay\": true, \n            \"Batch\": \"Batch1\", \n            \"BillCycleDay\": 1, \n            \"BillToId\": \"2c93808457d787030157e03220684fac\", \n            \"CrmId\": \"crmid\", \n            \"Currency\": \"USD\", \n            \"DefaultPaymentMethodId\": \"2c93808457d787030157e03220ec4fad\", \n            \"Id\": \"2c93808457d787030157e0321fdf4fab\", \n            \"InvoiceTemplateId\": \"2c93808457d787030157e03208864f97\", \n            \"Name\": \"AC_1476935163869\", \n            \"Notes\": \"this is notes\", \n            \"PaymentTerm\": \"Due Upon Receipt\", \n            \"SoldToId\": \"2c93808457d787030157e03220684fac\", \n            \"Status\": \"Active\"\n        }\n    ], \n    \"type\": \"Account\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/action/update");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"objects\": [\n        {\n            \"AccountNumber\": \"AN_1476935163869\", \n            \"AutoPay\": true, \n            \"Batch\": \"Batch1\", \n            \"BillCycleDay\": 1, \n            \"BillToId\": \"2c93808457d787030157e03220684fac\", \n            \"CrmId\": \"crmid\", \n            \"Currency\": \"USD\", \n            \"DefaultPaymentMethodId\": \"2c93808457d787030157e03220ec4fad\", \n            \"Id\": \"2c93808457d787030157e0321fdf4fab\", \n            \"InvoiceTemplateId\": \"2c93808457d787030157e03208864f97\", \n            \"Name\": \"AC_1476935163869\", \n            \"Notes\": \"this is notes\", \n            \"PaymentTerm\": \"Due Upon Receipt\", \n            \"SoldToId\": \"2c93808457d787030157e03220684fac\", \n            \"Status\": \"Active\"\n        }\n    ], \n    \"type\": \"Account\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/amendments/{amendment-key}:
    get:
      summary: Get amendments by key
      operationId: GET_AmendmentsByKey
      description: Retrieves detailed information about the specified subscription
        amendment.
      tags:
      - Amendments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: amendment-key
        in: path
        description: Can be the amendment ID or the amendment code.
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
              id: 402896a9529c100a01529c30e26a0018
              code: A-AM00000002
              name: testAmendment
              type: TermsAndConditions
              description: just for test
              status: Completed
              contractEffectiveDate: '2016-02-01'
              serviceActivationDate: '2016-02-01'
              customerAcceptanceDate: '2016-02-01'
              effectiveDate: '2016-02-01'
              newSubscriptionId: 402896a9529c100a01529c311930001d
              baseSubscriptionId: 402896a9529c100a01529c2f2cc30010
              termType: TERMED
              currentTerm: 2
              currentTermPeriodType: Month
              termStartDate: '2015-12-31'
              renewalSetting: RENEW_WITH_SPECIFIC_TERM
              renewalTerm: 1
              renewalTermPeriodType: Month
              autoRenew: false
              specificUpdateDate: null
              newRatePlanId: null
              baseRatePlanId: null
              destinationAccountId: 402896a9529bc3dc01529bcba7120023
              destinationInvoiceOwnerId: 402896a9529bc3dc01529bcba7120023
          description: ''
          schema:
            $ref: '#/definitions/GETAmendmentType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/amendments/{amendment-key}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/amendments/{amendment-key}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/amendments/{amendment-key}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/amendments/{amendment-key}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/amendments/{amendment-key}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/amendments/{amendment-key}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/amendments/subscriptions/{subscription-id}:
    get:
      summary: Get amendments by subscription ID
      operationId: GET_AmendmentsBySubscriptionID
      description: Retrieves detailed information about the amendment with the specified
        subscription.
      tags:
      - Amendments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: subscription-id
        in: path
        description: The ID of the subscription whose amendment changes you want to
          retrieve.
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
              id: 402896a9529c100a01529c30e26a0018
              code: A-AM00000002
              name: testAmendment
              type: TermsAndConditions
              description: just for test
              status: Completed
              contractEffectiveDate: '2016-02-01'
              serviceActivationDate: '2016-02-01'
              customerAcceptanceDate: '2016-02-01'
              effectiveDate: '2016-02-01'
              newSubscriptionId: 402896a9529c100a01529c311930001d
              baseSubscriptionId: 402896a9529c100a01529c2f2cc30010
              termType: TERMED
              currentTerm: 2
              currentTermPeriodType: Month
              termStartDate: '2015-12-31'
              renewalSetting: RENEW_WITH_SPECIFIC_TERM
              renewalTerm: 1
              renewalTermPeriodType: Month
              autoRenew: false
              specificUpdateDate: null
              newRatePlanId: null
              baseRatePlanId: null
              destinationAccountId: 402896a9529bc3dc01529bcba7120023
              destinationInvoiceOwnerId: 402896a9529bc3dc01529bcba7120023
          description: ''
          schema:
            $ref: '#/definitions/GETAmendmentType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/amendments/subscriptions/{subscription-id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/amendments/subscriptions/{subscription-id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/amendments/subscriptions/{subscription-id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/amendments/subscriptions/{subscription-id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/amendments/subscriptions/{subscription-id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/amendments/subscriptions/{subscription-id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/attachments:
    post:
      summary: Add attachments
      operationId: POST_Attachments
      description: Use the Add Attachment REST request with a multipart/form-data
        to attach a document file to an Account, a Subscription, or an Invoice.
      consumes:
      - multipart/form-data
      tags:
      - Attachments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: description
        in: query
        description: 'Description of the attachment document.

          '
        required: false
        type: string
      - name: associatedObjectType
        in: query
        description: 'Specify one of the following values: Account, Subscription,
          or Invoice.

          '
        required: true
        type: string
      - name: associatedObjectKey
        in: query
        description: |
          For the Subscription type, specify the Subscription Number. An attachment is tied to the Subscription Number and thus viewable with every subscription version.

          For Account and Invoice, specify the id.
        required: true
        type: string
      - name: file
        in: formData
        required: true
        type: file
        description: |
          The file to be attached. Files with the following extensions are supported: .pdf, .csv, .png, .xlsx, .xls, .doc, .docx, .msg, .jpg, .txt, .htm, .html, .eml, .pptx, .gif, .rtf, .xml, .jpeg, .log, .cls

          The maximum file size is 4 MB.
      responses:
        '200':
          examples:
            application/json:
              success: true
              id: 402880ea536ff494015372a7ea17001f
              fileId: 402880ea536ff494015372a7ea12001e
          description: ''
          schema:
            $ref: '#/definitions/POSTAttachmentResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X POST -H "Authorization: Bearer f21f017e4724445d8647b1f0de7ed6f1"
          -F "file=@PODocument.pdf" "https://rest.zuora.com/v1/attachments/?description=Postal%20order&associatedObjectType=Subscription&associatedObjectKey=A-S00005714"

          '
  /v1/attachments/{object-type}/{object-key}:
    get:
      summary: View attachments list
      operationId: GET_AttachmentsList
      description: Use the View Attachment REST request to get a list of attachments
        on an account, an invoice, or a subscription.
      tags:
      - Attachments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - name: object-type
        in: path
        description: 'The type of object to list attachements for.

          '
        required: true
        type: string
        enum:
        - account
        - invoice
        - subscription
      - name: object-key
        in: path
        description: |
          ID of the object to list attachements for.
           - If `object-type` is `account`, specify an account ID.
           - If `object-type` is `invoice`, specify an invoice ID.
           - If `object-type` is `subscription`, specify a subscription number.
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              attachments:
              - id: 402896b95397c169015397c2ebca0003
                fileName: Search _ Splunk.pdf
                description: null
                fileId: 402896b95397c169015397c2ebc50002
                fileContentType: application/pdf
                createdOn: '2016-03-21 14:00:47'
                createdBy: 402881e522cf4f9b0122cf5d82860002
                updatedOn: '2016-03-21 14:00:47'
                updatedBy: 402881e522cf4f9b0122cf5d82860002
                success: true
              - id: 8a8083e1545b706a01547316d93f4401
                fileName: AttachTest.txt
                description: ''
                fileId: 8a8083e1545b706a01547316d9094400
                fileContentType: text/plain
                createdOn: '2016-05-02 13:09:17'
                createdBy: 4028e487327fd45a0132829ebb673ff9
                updatedOn: '2016-05-02 13:09:17'
                updatedBy: 4028e487327fd45a0132829ebb673ff9
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETAttachmentsResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/attachments/{object-type}/{object-key}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/attachments/{object-type}/{object-key}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/attachments/{object-type}/{object-key}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/attachments/{object-type}/{object-key}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/attachments/{object-type}/{object-key}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/attachments/{object-type}/{object-key}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/attachments/{attachment-id}:
    get:
      summary: View attachments
      operationId: GET_Attachments
      description: Use the View Attachment REST request to retrieve information about
        an attachment document.
      tags:
      - Attachments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: attachment-id
        in: path
        description: Id of the attachment you want to view.
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              id: 8a8083e1545b706a01547316d93f4401
              fileName: AttachTest.txt
              description: ''
              fileId: 8a8083e1545b706a01547316d9094400
              fileContentType: text/plain
              createdOn: '2016-05-02 13:09:17'
              createdBy: 4028e487327fd45a0132829ebb673ff9
              updatedOn: '2016-05-02 13:09:17'
              updatedBy: 4028e487327fd45a0132829ebb673ff9
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETAttachmentResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/attachments/{attachment-id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/attachments/{attachment-id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/attachments/{attachment-id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/attachments/{attachment-id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/attachments/{attachment-id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/attachments/{attachment-id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: Edit attachments
      operationId: PUT_Attachments
      description: Use the Edit Attachment REST request to make changes to the descriptive
        fields of an attachment, such as the description and the file name. You cannot
        change the actual content of the attached file in Zuora. If you need to change
        the actual content, you need to delete the attachment and add the updated
        file as a new attachment.
      tags:
      - Attachments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: attachment-id
        in: path
        required: true
        type: string
        description: Id of the attachment to be updated.
      - name: Request
        in: body
        description: ''
        required: false
        schema:
          $ref: '#/definitions/PUTAttachmentType'
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"description\": \"Updated\
          \ image\", \n    \"fileName\": \"Image123.png\"\n}' \"https://rest.zuora.com/v1/attachments/{attachment-id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/attachments/{attachment-id}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"description\": \"Updated image\", \n\
          \    \"fileName\": \"Image123.png\"\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"description\": \"Updated image\", \n    \"fileName\": \"Image123.png\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/attachments/{attachment-id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"description\": \"Updated image\", \n    \"fileName\": \"Image123.png\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/attachments/{attachment-id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/attachments/{attachment-id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"description\": \"Updated image\", \n    \"fileName\": \"Image123.png\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/attachments/{attachment-id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"description\": \"Updated image\", \n    \"fileName\": \"Image123.png\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    delete:
      summary: Delete attachments
      operationId: DELETE_Attachments
      description: Use the Delete Attachment REST request to delete an attachment
        from a Zuora object.
      tags:
      - Attachments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: attachment-id
        in: path
        required: true
        type: string
        description: Id of the attachment to be deleted.
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/attachments/{attachment-id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/attachments/{attachment-id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/attachments/{attachment-id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/attachments/{attachment-id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/attachments/{attachment-id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/attachments/{attachment-id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/bill-runs/{billRunId}/emails:
    post:
      summary: Email billing documents generated from bill run
      operationId: POST_EmailBillingDocumentsfromBillRun
      description: "Manually emails all the billing documents that are generated from\
        \ a specified bill run to your customers. \n\n\nBill runs can generate invoices\
        \ and credit memos based on your [invoice and credit memo generation rule](https://knowledgecenter.zuora.com/CB_Billing/Invoice_Settlement/Credit_and_Debit_Memos/Rules_for_Generating_Invoices_and_Credit_Memos).\
        \ Credit memos are only available if you have the Invoice Settlement feature\
        \ enabled.\n\n\nUsing this API operation, the billing documents are sent to\
        \ the email addresses specified in the **To Email** field of the email templates.\
        \ The email template used for each billing document is set in the **Delivery\
        \ Options** panel of the **Edit notification** dialog from the Zuora UI. See\
        \ [Edit Email Templates](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/Notifications/Create_Email_Templates)\
        \ for more information about how to edit the **To Email** field in the email\
        \ template.\n\n\n\n\n\n## Notes\n  - Even though no field is required in the\
        \ Request body, you still need to specify `{}` in the request. Otherwise,\
        \ an error will be returned.\n\n\n  - You can only email posted billing documents.\n\
        \  \n  \n  - You must activate the following notifications before emailing\
        \ invoices and credit memos:\n    - **Manual Email For Invoice | Manual Email\
        \ For Invoice** \n    - **Email Credit Memo | Manually email Credit Memo**\n\
        \ \n  \n  - To include the invoice PDF in the email, select the **Include\
        \ Invoice PDF** check box in the **Edit notification** dialog from the Zuora\
        \ UI. To include the credit memo PDF in the email, select the **Include Credit\
        \ Memo PDF** check box in the **Edit notification** dialog from the Zuora\
        \ UI. See [Create and Edit Notifications](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/Notifications/C_Create_Notifications#section_2)\
        \ for more information.\n\n\n\n  - Zuora sends the email messages based on\
        \ the email template you set. You can set the email template to use in the\
        \ **Delivery Options** panel of the **Edit notification** dialog from the\
        \ Zuora UI. By default, the following templates are used for billing documents:\n\
        \    - Invoices: **Invoice Posted Default Email Template**\n    - Credit memos:\
        \ **Manual Email for Credit Memo Default Template**  \n\n    See [Create and\
        \ Edit Email Templates](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/Notifications/Create_Email_Templates)\
        \ for more information.\n  \n  \n"
      tags:
      - Bill Run
      responses:
        '200':
          description: ''
          examples:
            application/json:
              success: true
          schema:
            $ref: '#/definitions/CommonResponseType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: billRunId
        in: path
        type: string
        required: true
        description: 'The ID of the bill run. For example, 2c92c8f95d0c886e015d11287a8f0f8b.

          '
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTEmailBillingDocfromBillRunType'
      x-code-samples:
      - lang: Curl
        source: |-
          curl -X POST -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3" -H "Content-Type: application/json" -d '{
              "resend": "true"
          }' "https://rest.zuora.com/v1/bill-runs/{billRunId}/emails"
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/bill-runs/{billRunId}/emails');
          $request->setMethod(HTTP_METH_POST);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{
              "resend": "true"
          }');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"resend\": \"true\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/bill-runs/{billRunId}/emails")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"resend\": \"true\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/bill-runs/{billRunId}/emails", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/bill-runs/{billRunId}/emails")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"resend\": \"true\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/bill-runs/{billRunId}/emails");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"resend\": \"true\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/accounts/{id}/billing-documents/generate:
    post:
      description: |
        Generates draft or posted billing documents for a specified account. You can also generate billing documents for specified subscriptions of a specified account. The billing documents contain invoices and credit memos. To generate credit memos, you must have the Invoice Settlement feature enabled.

        **Note**: You cannot generate billing documents for cancelled or suspended subscriptions.
      summary: Generate billing documents by account
      operationId: POST_GenerateBillingDocuments
      tags:
      - Billing Documents
      responses:
        '200':
          description: ''
          examples:
            application/json:
              invoices:
              - id: 402890555c33b44b015c33bfe9c70044
              - id: 402890555c33b44b015c33bfe9d70046
              creditMemos:
              - id: 402890555c33b44b015c33bfe947003c
              - id: 402890555c33b44b015c33bfe93c003a
              success: true
          schema:
            $ref: '#/definitions/GenerateBillingDocumentResponseType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: body
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PostGenerateBillingDocumentType'
      - type: string
        in: path
        name: id
        description: 'The ID of the customer account that billing documents are generated
          for. For example, 8a8082e65b27f6c3015ba3e326b26419.

          '
        required: true
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"autoPost\": false,\
          \ \n    \"effectiveDate\": \"2017-05-23\", \n    \"subscriptionIds\": [\n\
          \        \"4028905558b483220158b48983dd0015\", \n        \"6028905558b483220158b68983dd0016\"\
          \n    ], \n    \"targetDate\": \"2017-08-23\"\n}' \"https://rest.zuora.com/v1/accounts/{id}/billing-documents/generate\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/accounts/{id}/billing-documents/generate');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"autoPost\": false, \n    \"effectiveDate\"\
          : \"2017-05-23\", \n    \"subscriptionIds\": [\n        \"4028905558b483220158b48983dd0015\"\
          , \n        \"6028905558b483220158b68983dd0016\"\n    ], \n    \"targetDate\"\
          : \"2017-08-23\"\n}');\n\ntry {\n  $response = $request->send();\n\n  echo\
          \ $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"autoPost\": false, \n    \"effectiveDate\": \"2017-05-23\", \n    \"subscriptionIds\": [\n        \"4028905558b483220158b48983dd0015\", \n        \"6028905558b483220158b68983dd0016\"\n    ], \n    \"targetDate\": \"2017-08-23\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/accounts/{id}/billing-documents/generate")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"autoPost\": false, \n    \"effectiveDate\": \"2017-05-23\", \n    \"subscriptionIds\": [\n        \"4028905558b483220158b48983dd0015\", \n        \"6028905558b483220158b68983dd0016\"\n    ], \n    \"targetDate\": \"2017-08-23\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/accounts/{id}/billing-documents/generate", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/accounts/{id}/billing-documents/generate")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"autoPost\": false, \n    \"effectiveDate\": \"2017-05-23\", \n    \"subscriptionIds\": [\n        \"4028905558b483220158b48983dd0015\", \n        \"6028905558b483220158b68983dd0016\"\n    ], \n    \"targetDate\": \"2017-08-23\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/accounts/{id}/billing-documents/generate");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"autoPost\": false, \n    \"effectiveDate\": \"2017-05-23\", \n    \"subscriptionIds\": [\n        \"4028905558b483220158b48983dd0015\", \n        \"6028905558b483220158b68983dd0016\"\n    ], \n    \"targetDate\": \"2017-08-23\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/billing-documents:
    get:
      description: "Retrieves the information about all billing documents associated\
        \ with a specified account. The billing documents contain invoices, credit\
        \ memos, and debit memos. \n\nTo retrieve information about credit memos and\
        \ debit memos, you must have the Invoice Settlement feature enabled. \n\n\
        You can use query parameters to restrict the data returned in the response.\n\
        \nExamples:\n- /billing-documents?accountId=4028905f5e4feb38015e50af9aa002d1&sort=+documentDate\n\
        - /billing-documents?accountId=4028905f5e4feb38015e50af9aa002d1&status=Posted\n"
      summary: Get billing documents
      operationId: GET_BillingDocuments
      tags:
      - Billing Documents
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - name: accountId
        in: query
        required: true
        type: string
        format: uuid
        description: "The ID of the customer account that the billing documents are\
          \ associated with. \n"
      - name: documentDate
        in: query
        required: false
        type: string
        format: date
        description: 'The date of the billing document. It represents the invoice
          date for invoices, credit memo date for credit memos, and debit memo date
          for debit memos.

          '
      - name: status
        in: query
        required: false
        type: string
        enum:
        - Draft
        - Posted
        - Canceled
        - Error
        description: 'The status of the billing document.

          '
      - name: sort
        in: query
        type: string
        required: false
        description: "This parameter restricts the order of the data returned in the\
          \ response. You can use this parameter to supply a dimension you want to\
          \ sort on.\n\nIf you do not specify any sortable field, the response data\
          \ is sorted by the `documentDate` field in descending order.\n\nA sortable\
          \ field uses the following form: \n\n*operator* *field_name*\n\nYou can\
          \ use at most two sortable fields in one URL path. Use a comma to separate\
          \ sortable fields. For example:  *operator* *field_name*, *operator* *field_name*\
          \  \n\n*operator* is used to mark the order of sequencing. The operator\
          \ is optional. If you only specify the sortable field without any operator,\
          \ the response data is sorted in descending order by this field.  \n\n \
          \ - The `-` operator indicates an ascending order.\n  - The `+` operator\
          \ indicates a descending order.\n\n*field_name* indicates the name of a\
          \ sortable field. The supported sortable fields of this operation are as\
          \ below:\n\n  - documentDate\n  - documentType\n  \nExamples:\n- /billing-documents?accountId=4028905f5e4feb38015e50af9aa002d1\n\
          \  &sort=+documentDate,-documentType\n- /billing-documents?accountId=4028905f5e4feb38015e50af9aa002d1\n\
          \  &status=Posted&sort=+documentDate&page=2&pageSize=15\n"
      responses:
        '200':
          description: ''
          examples:
            application/json:
              documents:
              - id: 4028905f5e4jjj015e50af9aa002d1
                documentType: Invoice
                documentNumber: INV-0000001
                documentDate: '2017-10-01'
                amount: 100
                balance: 90
                accountId: 4028905f5e4feb38bbb50af9aa002d1
                status: Posted
              - id: 4028905f5e4jbbb015e50af9aa002d1
                documentType: CreditMemo
                documentNumber: CM-0000001
                documentDate: '2017-09-01'
                amount: 100
                balance: 90
                accountId: 4028905f5e4feb38b111b50af9aa002d1
                status: Posted
              - id: 4028905f5e4jccc015e50af9aa002d1
                documentType: DebitMemo
                documentNumber: DM-0000001
                documentDate: '2017-07-01'
                amount: 100
                balance: 90
                accountId: 4028905f5e4feb3833b50af9aa002d1
                status: Posted
              success: true
          schema:
            $ref: '#/definitions/BillingDocumentQueryResponseElementType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.sandbox.eu.zuora.com/v1/billing-documents?accountId=402892c74c9193cd014c91d35b0a0132"

          '
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/billing-documents');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/billing-documents")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/billing-documents", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/billing-documents")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/billing-documents");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/accounts/billing-documents/files/deletion-jobs:
    post:
      description: "Creates an asynchronous job to permanently delete all billing\
        \ document PDF files for specific accounts. \n\nAfter the deletion job is\
        \ completed, all billing document PDF files are permanently deleted. To retrieve\
        \ the status of a deletion job, call [Get job of hard deleting billing document\
        \ files](https://www.zuora.com/developer/api-reference/#operation/GET_BillingDocumentFilesDeletionJob).\n\
        \n**Note**: This operation can be used only if you have the Billing user permission\
        \ \"Hard Delete Billing Document Files\" enabled. \n"
      summary: Create job to hard delete billing document files
      operationId: POST_BillingDocumentFilesDeletionJob
      tags:
      - Billing Documents
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 2c92c8f83dc4f752013dc72c24ee016c
              status: Pending
              success: true
          schema:
            $ref: '#/definitions/POSTBillingDocumentFilesDeletionJobResponse'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: body
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTBillingDocumentFilesDeletionJobRequest'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"accountIds\": [\n \
          \       \"4028905558b483220158b48983dd0015\", \n        \"6028905558b483220158b68983dd0016\"\
          \n    ]\n}' \"https://rest.zuora.com/v1/accounts/billing-documents/files/deletion-jobs\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/accounts/billing-documents/files/deletion-jobs');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"accountIds\": [\n        \"4028905558b483220158b48983dd0015\"\
          , \n        \"6028905558b483220158b68983dd0016\"\n    ]\n}');\n\ntry {\n\
          \  $response = $request->send();\n\n  echo $response->getBody();\n} catch\
          \ (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"accountIds\": [\n        \"4028905558b483220158b48983dd0015\", \n        \"6028905558b483220158b68983dd0016\"\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/accounts/billing-documents/files/deletion-jobs")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"accountIds\": [\n        \"4028905558b483220158b48983dd0015\", \n        \"6028905558b483220158b68983dd0016\"\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/accounts/billing-documents/files/deletion-jobs", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/accounts/billing-documents/files/deletion-jobs")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"accountIds\": [\n        \"4028905558b483220158b48983dd0015\", \n        \"6028905558b483220158b68983dd0016\"\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/accounts/billing-documents/files/deletion-jobs");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"accountIds\": [\n        \"4028905558b483220158b48983dd0015\", \n        \"6028905558b483220158b68983dd0016\"\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/accounts/billing-documents/files/deletion-jobs/{jobId}:
    get:
      summary: Get job of hard deleting billing document files
      operationId: GET_BillingDocumentFilesDeletionJob
      description: "Retrieves information about an asynchronous job of permanently\
        \ deleting all billing document PDF files for specific accounts.\n\n**Note**:\
        \ This operation can be used only if you have the Billing user permission\
        \ \"Hard Delete Billing Document Files\" enabled. \n"
      tags:
      - Billing Documents
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: jobId
        in: path
        description: The unique ID of a billing document file deletion job. For example,
          2c92c8f83dc4f752013dc72c24ee016c.
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              id: 2c92c8f83dc4f752013dc72c24ee016c
              status: Pending
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETBillingDocumentFilesDeletionJobResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/accounts/billing-documents/files/deletion-jobs/{jobId}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/accounts/billing-documents/files/deletion-jobs/{jobId}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/accounts/billing-documents/files/deletion-jobs/{jobId}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/accounts/billing-documents/files/deletion-jobs/{jobId}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/accounts/billing-documents/files/deletion-jobs/{jobId}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/accounts/billing-documents/files/deletion-jobs/{jobId}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/billing-preview-runs:
    post:
      summary: Create Billing Preview Run
      operationId: POST_BillingPreviewRun
      description: |
        **Note:** This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).


        Creates billing preview runs for multiple customer accounts.

        You can run up to 10 billing previews in batches concurrently. A single batch of customer accounts can only have one billing preview run at a time. So you can have up to 10 batches running at the same time. If you create a billing preview run for all customer batches, you cannot create another billing preview run until this preview run is completed.
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PostBillingPreviewRunParam'
      tags:
      - Billing Preview Run
      responses:
        200:
          examples:
            application/json:
              success: true
              billingPreviewRunId: 402890b757d1ec1b0157d5aa3d6802aa
          description: ''
          schema:
            type: object
            properties:
              success:
                type: boolean
                description: 'Returns `true` if the request was processed successfully.

                  '
              billingPreviewRunId:
                type: string
                description: 'Id of the billing preview run.

                  '
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"assumeRenewal\": \"\
          None\", \n    \"batch\": \"\", \n    \"chargeTypeToExclude\": \"\", \n \
          \   \"includingEvergreenSubscription\": \"true\", \n    \"targetDate\":\
          \ \"2017-01-10\"\n}' \"https://rest.zuora.com/v1/billing-preview-runs\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/billing-preview-runs');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"assumeRenewal\": \"None\", \n    \"batch\"\
          : \"\", \n    \"chargeTypeToExclude\": \"\", \n    \"includingEvergreenSubscription\"\
          : \"true\", \n    \"targetDate\": \"2017-01-10\"\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"assumeRenewal\": \"None\", \n    \"batch\": \"\", \n    \"chargeTypeToExclude\": \"\", \n    \"includingEvergreenSubscription\": \"true\", \n    \"targetDate\": \"2017-01-10\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/billing-preview-runs")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"assumeRenewal\": \"None\", \n    \"batch\": \"\", \n    \"chargeTypeToExclude\": \"\", \n    \"includingEvergreenSubscription\": \"true\", \n    \"targetDate\": \"2017-01-10\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/billing-preview-runs", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/billing-preview-runs")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"assumeRenewal\": \"None\", \n    \"batch\": \"\", \n    \"chargeTypeToExclude\": \"\", \n    \"includingEvergreenSubscription\": \"true\", \n    \"targetDate\": \"2017-01-10\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/billing-preview-runs");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"assumeRenewal\": \"None\", \n    \"batch\": \"\", \n    \"chargeTypeToExclude\": \"\", \n    \"includingEvergreenSubscription\": \"true\", \n    \"targetDate\": \"2017-01-10\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/billing-preview-runs/{billingPreviewRunId}:
    get:
      summary: Get Billing Preview Run
      operationId: GET_BillingPreviewRun
      description: "**Note:** This feature is in **Limited Availability**. If you\
        \ wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).\
        \ \n\n\nRetrieves a preview of future invoice items for multiple customer\
        \ accounts through a billing preview run. If you have the Invoice Settlement\
        \ feature enabled,  you can also retrieve a preview of future credit memo\
        \ items. The Invoice Settlement feature is in **Limited Availability**. If\
        \ you wish to have access to the feature, submit a request at [Zuora Global\
        \ Support](http://support.zuora.com/). \n\nA billing preview run asynchronously\
        \ generates a downloadable CSV file containing a preview of invoice item data\
        \ and credit memo item data for a batch of customer accounts.\n"
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: billingPreviewRunId
        in: path
        description: 'Id of the billing preview run.

          '
        required: true
        type: string
      tags:
      - Billing Preview Run
      responses:
        200:
          examples:
            application/json:
              assumeRenewal: Autorenew
              batch: AllBatches
              chargeTypeToExclude: OneTime
              createdById: 4028906d58240f960158241132be0003
              createdDate: '2016-11-04 16:18:56'
              endDate: '2016-11-04 16:19:00'
              errorMessage: null
              includingEvergreenSubscription: true
              resultFileUrl: http://localhost:8080/apps/api/file/4028906d582d21a101582e6b663c0a65
              runNumber: BPR-00000010
              startDate: '2016-11-04 16:19:00'
              status: Completed
              succeededAccounts: 7
              targetDate: '2016-12-01'
              totalAccounts: 7
              updatedById: 4028906d58240f960158241132be0003
              updatedDate: '2016-11-04 16:19:00'
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GetBillingPreviewRunResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/billing-preview-runs/{billingPreviewRunId}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/billing-preview-runs/{billingPreviewRunId}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/billing-preview-runs/{billingPreviewRunId}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/billing-preview-runs/{billingPreviewRunId}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/billing-preview-runs/{billingPreviewRunId}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/billing-preview-runs/{billingPreviewRunId}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/catalog/products:
    get:
      summary: Get product catalog
      operationId: GET_Catalog
      description: "Retrieves the entire product catalog, including all products,\
        \ features, and their corresponding product rate plans, charges. Products\
        \ are returned in reverse chronological order on the `UpdatedDate` field.\
        \ \n\nWith product rate plans and rate plan charges, the REST API has a maximum\
        \ array size. \n"
      tags:
      - Catalog
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_page'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize_catalog'
      - name: zuora-version
        in: header
        required: false
        type: string
        description: "The minor version of the Zuora REST API. \n\nYou only need to\
          \ set this parameter if you use the `productRatePlans` field.\n"
      responses:
        '200':
          examples:
            application/json:
              products:
              - id: 8a8082c45aa81b51015ad5a2d07d0e89
                sku: SKU-00000987
                name: ABC
                description: ''
                category: Base Products
                effectiveStartDate: '2017-01-01'
                effectiveEndDate: '2020-01-01'
                productRatePlans: https://rest.zuora.com/v1/rateplan/40289f466463d683016463ef8b7301a0/productRatePlan
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETCatalogType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/catalog/products"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/catalog/products');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/catalog/products")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/catalog/products", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/catalog/products")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/catalog/products");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/catalog/product/{product-id}:
    get:
      summary: Get product
      operationId: GET_Product
      description: "Retrieves detailed information about a specific product, including\
        \ information about its product rate plans and charges. \n"
      tags:
      - Catalog
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: zuora-version
        in: header
        required: false
        type: string
        description: "The minor version of the Zuora REST API. \n\nYou only need to\
          \ set this parameter if you use the `productRatePlans` field.\n"
      - name: product-id
        in: path
        description: The unique ID of the product you want to retrieve. For example,
          8a808255575bdae4015774e9602e16fe.
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              id: 8a8082c45aa81b51015ad5a2d07d0e89
              sku: SKU-00000987
              name: ABC
              description: ''
              category: Base Products
              effectiveStartDate: '2017-01-01'
              effectiveEndDate: '2020-01-01'
              productRatePlans: https://rest.zuora.com/v1/rateplan/40289f466463d683016463ef8b7301a0/productRatePlan
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETProductType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/catalog/product/{product-id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/catalog/product/{product-id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/catalog/product/{product-id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/catalog/product/{product-id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/catalog/product/{product-id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/catalog/product/{product-id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/catalog/products/{product-id}/share:
    post:
      summary: 'Multi-entity: Share a product with an Entity'
      operationId: POST_Catalog
      description: "**Note:** The Multi-entity feature is in **Limited Availability**.\
        \ If you wish to have access to the feature, submit a request at [Zuora Global\
        \ Support](http://support.zuora.com/).\n\nShares a product with a target entity.\
        \ Zuora synchronizes the shared products to the target entity after sharing.\
        \ For more information about product sharing, see [Products Sharing Across\
        \ Entities](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Multi-entity/C_Business_Objects_Sharing_Across_Entities/B_Products_Sharing_Across_Entities).\n\
        \nNote that:\n\n- You must finish all the [prerequisites](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Multi-entity/C_Business_Objects_Sharing_Across_Entities/B_Products_Sharing_Across_Entities/Share_Products)\
        \ before sharing products with other entities. \n\n- Only source entity administrators\
        \ have permission to share products with other entities. You must make the\
        \ call as a source entity administrator.\n\n- Currently, you can only share\
        \ a product with one entity at a time. An error occurs if you try to share\
        \ a product to more than one entity.\n"
      tags:
      - Catalog
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: product-id
        in: path
        description: The unique ID of the product you want to share. For example,
          8a808255575bdae4015774e9602e16fe.
        required: true
        type: string
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTCatalogType'
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: |-
          curl -X POST -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3" -H "Content-Type: application/json" -d '{
              "targetEntityIds": [
                  "8a80825555a3c7a10155b460f53858e6"
              ]
          }' "https://rest.zuora.com/v1/catalog/products/{product-id}/share"
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/catalog/products/{product-id}/share');
          $request->setMethod(HTTP_METH_POST);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{
              "targetEntityIds": [
                  "8a80825555a3c7a10155b460f53858e6"
              ]
          }');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"targetEntityIds\": [\n        \"8a80825555a3c7a10155b460f53858e6\"\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/catalog/products/{product-id}/share")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"targetEntityIds\": [\n        \"8a80825555a3c7a10155b460f53858e6\"\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/catalog/products/{product-id}/share", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/catalog/products/{product-id}/share")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"targetEntityIds\": [\n        \"8a80825555a3c7a10155b460f53858e6\"\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/catalog/products/{product-id}/share");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"targetEntityIds\": [\n        \"8a80825555a3c7a10155b460f53858e6\"\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/charge-revenue-summaries/{crs-number}:
    get:
      summary: Get charge summary details by CRS number
      operationId: GET_CRSByCRSNumber
      description: 'This REST API reference describes how to retrieve the details
        of a charge revenue summary by specifying the charge revenue summary number.
        The response includes all revenue items associated with the charge revenue
        summary.

        '
      tags:
      - Charge Revenue Summaries
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: crs-number
        in: path
        description: 'The charge revenue summary number.

          '
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              number: CRS-00000001
              recognitionRuleName: Recognize upon invoicing
              amount: 660
              undistributedUnrecognizedRevenue: 565
              recognizedRevenue: 0
              unrecognizedRevenue: 660
              currency: USD
              notes: null
              accountId: 2c92c0f8439770960143b2141f5a555e
              subscriptionId: 2c92c0f943977b4f0143b23487999327
              subscriptionChargeId: 2c92c0f943977b4f0143b11187ed432e
              revenueItems:
              - accountingPeriodName: Sep'2013
                isAccountingPeriodClosed: false
                amount: 35
                currency: USD
                accountingPeriodStartDate: '2013-09-01'
                accountingPeriodEndDate: '2013-09-30'
              - accountingPeriodName: Oct'2013
                isAccountingPeriodClosed: false
                amount: 50
                currency: USD
                accountingPeriodStartDate: '2013-10-01'
                accountingPeriodEndDate: '2013-10-31'
              - accountingPeriodName: Open-Ended
                isAccountingPeriodClosed: false
                amount: 150
                currency: USD
                accountingPeriodStartDate: '2013-12-11'
                accountingPeriodEndDate: null
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETChargeRSDetailType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/charge-revenue-summaries/{crs-number}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/charge-revenue-summaries/{crs-number}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/charge-revenue-summaries/{crs-number}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/charge-revenue-summaries/{crs-number}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/charge-revenue-summaries/{crs-number}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/charge-revenue-summaries/{crs-number}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/charge-revenue-summaries/subscription-charges/{charge-key}:
    get:
      summary: Get charge summary details by charge ID
      operationId: GET_CRSByChargeID
      description: 'This REST API reference describes how to retrieve the details
        of a charge revenue summary by specifying the subscription charge ID. This
        response retrieves all revenue items associated with a charge revenue summary.

        '
      tags:
      - Charge Revenue Summaries
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: charge-key
        in: path
        description: 'ID of the subscription rate plan charge; for example, 402892793e173340013e173b81000012.

          '
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              number: CRS-00000001
              recognitionRuleName: Recognize daily over time
              amount: 428
              undistributedUnrecognizedRevenue: 0
              recognizedRevenue: 0
              unrecognizedRevenue: 428
              currency: USD
              notes: null
              accountId: 2c92c0f9410f55ee014110a008f6791f
              subscriptionId: 2c92c0f9410f55dd014110a14aa47f09
              subscriptionChargeId: 2c92c0f9410f55dd014110b22cbc023f
              revenueItems:
              - accountingPeriodName: May 2012
                isAccountingPeriodClosed: false
                amount: 100
                currency: USD
                accountingPeriodStartDate: '2012-05-01'
                accountingPeriodEndDate: '2012-05-31'
              - accountingPeriodName: Jun 2012
                isAccountingPeriodClosed: false
                amount: 92
                currency: USD
                accountingPeriodStartDate: '2012-06-01'
                accountingPeriodEndDate: '2012-06-30'
              - accountingPeriodName: Jul 2012
                isAccountingPeriodClosed: false
                amount: 0
                currency: USD
                accountingPeriodStartDate: '2012-07-01'
                accountingPeriodEndDate: '2012-07-31'
              - accountingPeriodName: Aug 2012
                isAccountingPeriodClosed: false
                amount: 85
                currency: USD
                accountingPeriodStartDate: '2012-08-01'
                accountingPeriodEndDate: '2012-08-31'
              - accountingPeriodName: Sep 2012
                isAccountingPeriodClosed: false
                amount: 85
                currency: USD
                accountingPeriodStartDate: '2012-09-01'
                accountingPeriodEndDate: '2012-09-30'
              - accountingPeriodName: Jan'2013
                isAccountingPeriodClosed: false
                amount: 80
                currency: USD
                accountingPeriodStartDate: '2013-01-01'
                accountingPeriodEndDate: '2013-01-31'
              - accountingPeriodName: Feb'2013
                isAccountingPeriodClosed: false
                amount: 5
                currency: USD
                accountingPeriodStartDate: '2013-02-01'
                accountingPeriodEndDate: '2013-02-28'
              - accountingPeriodName: Sep'2013
                isAccountingPeriodClosed: false
                amount: -7
                currency: USD
                accountingPeriodStartDate: '2013-09-01'
                accountingPeriodEndDate: '2013-09-30'
              - accountingPeriodName: Nov'2013
                isAccountingPeriodClosed: false
                amount: -12
                currency: USD
                accountingPeriodStartDate: '2013-11-01'
                accountingPeriodEndDate: '2013-11-30'
              - accountingPeriodName: Dec 2013
                isAccountingPeriodClosed: false
                amount: 0
                currency: USD
                accountingPeriodStartDate: '2013-12-11'
                accountingPeriodEndDate: '2014-01-10'
              - accountingPeriodName: Open-Ended
                isAccountingPeriodClosed: false
                amount: 0
                currency: USD
                accountingPeriodStartDate: '2014-03-12'
                accountingPeriodEndDate: null
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETChargeRSDetailType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/charge-revenue-summaries/subscription-charges/{charge-key}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/charge-revenue-summaries/subscription-charges/{charge-key}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/charge-revenue-summaries/subscription-charges/{charge-key}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/charge-revenue-summaries/subscription-charges/{charge-key}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/charge-revenue-summaries/subscription-charges/{charge-key}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/charge-revenue-summaries/subscription-charges/{charge-key}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/connections:
    post:
      summary: Establish connection to Zuora REST API service
      operationId: POST_Connections
      description: "Establishes a connection to the Zuora REST API service based on\
        \ a valid user credentials. \n\n**Note:**This is a legacy REST API. Zuora\
        \ recommends you to use [OAuth](https://www.zuora.com/developer/api-reference/#section/Authentication/OAuth-v2.0)\
        \ for authentication instead. \n\nThis call authenticates the user and returns\
        \ an API session cookie that's used to authorize subsequent calls to the REST\
        \ API. The credentials must belong to a user account that has permission to\
        \ access the API service.\n\nAs noted elsewhere, it's strongly recommended\
        \ that an account used for Zuora API activity is never used to log into the\
        \ Zuora UI.  Once an account is used to log into the UI, it may be subject\
        \ to periodic forced password changes, which may eventually lead to authentication\
        \ failures when using the API.\n"
      tags:
      - Connections
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: apiAccessKeyId
        in: header
        description: 'Account username

          '
        required: true
        type: string
      - name: apiSecretAccessKey
        in: header
        description: 'Account password

          '
        required: true
        type: string
      - name: Content-Type
        in: header
        description: 'Must be set to "application/json"

          '
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X POST -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/connections"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/connections');
          $request->setMethod(HTTP_METH_POST);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/connections")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/connections", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/connections")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/connections");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/contacts/{contactId}/scrub:
    put:
      summary: Scrub contact
      operationId: PUT_ScrubContact
      description: "\nScrubs the sensitive data of a specific contact. \n\nYou can\
        \ use this operation to replace all sensitive data in a contact and its related\
        \ contact snapshot with dummy values that will be stored in Zuora databases.\
        \ \n\nAfter scrubbing a contact, it is good practice to delete it. Otherwise,\
        \ it might cause errors in subsequent operations.\n\n**Note**: To use this\
        \ operation, you must ensure that the \"Scrub Sensitive Data of Contact\"\
        \ billing permission is enabled in your user role. Contact your tenant administrator\
        \ if you want to enable this permission. See [Scrub Contacts](https://knowledgecenter.zuora.com/BC_Subscription_Management/Customer_Accounts/A_How_to_Manage_Customer_Accounts/B_Key_Contacts/Scrub_Contacts)\
        \ for more information.\n"
      tags:
      - Contacts
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: contactId
        in: path
        description: 'The ID of the contact that you want to scrub sensitive data
          from.

          '
        required: true
        type: string
      responses:
        '200':
          headers:
            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.

                '
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/contacts/{contactId}/scrub"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/contacts/{contactId}/scrub');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/contacts/{contactId}/scrub")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/contacts/{contactId}/scrub", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/contacts/{contactId}/scrub")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/contacts/{contactId}/scrub");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/creditmemos:
    post:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nCreates an ad-hoc\
        \ credit memo from a product rate plan charge. Zuora supports the creation\
        \ of credit memos from any type of product rate plan charge. The charges can\
        \ also have any amount and any charge model, except for discout charge models.\
        \ \n\nWhen credit memos are created from product rate plan charges, the specified\
        \ amount with decimal places is now validated based on the decimal places\
        \ supported by each currency.\n\nYou can create a credit memo only if you\
        \ have the user permission. See [Billing Roles](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/d_Billing_Roles)\
        \ for more information.\n"
      summary: Create credit memo from charge
      operationId: POST_CreditMemoFromPrpc
      tags:
      - Credit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 402890555a87d7f5015a88c7a6830022
              number: CM00000015
              accountId: 402890555a7e9791015a7f15fe44001c
              currency: USD
              creditMemoDate: '2017-10-17'
              targetDate: null
              postedById: null
              postedOn: null
              status: Draft
              amount: 2020
              taxAmount: 0
              totalTaxExemptAmount: 0
              unappliedAmount: 2020
              refundAmount: 0
              appliedAmount: 0
              comment: the comment
              source: AdhocFromPrpc
              sourceId: null
              referredInvoiceId: null
              reasonCode: Correcting invoice error
              createdDate: '2017-03-01 15:31:10'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 15:31:10'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              cancelledOn: null
              cancelledById: null
              latestPDFFileId: null
              transferredToAccounting: 'No'
              excludeFromAutoApplyRules: false
              autoApplyUponPosting: false
              taxStatus: null
              taxMessage: null
              success: true
          schema:
            $ref: '#/definitions/GETCreditMemoType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: zuora-version
        in: header
        required: false
        type: string
        description: "\nThe minor version of the Zuora REST API. See [Minor Version](https://www.zuora.com/developer/api-reference/#section/API-Versions/Minor-Version)\
          \ for information about REST API version control. \n\nThis header affects\
          \ the availability of the following request fields:\n* `charges` > `amount`\n\
          * `charges` > `memoItemAmount`\n* `charges` > `chargeId`\n* `charges` >\
          \ `productRatePlanChargeId`            \n* `charges` > `comment`\n* `charges`\
          \ > `description`\n"
      - name: body
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/CreditMemoFromChargeType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"accountId\": \"402890555a7e9791015a7f15fe44001c\"\
          , \n    \"charges\": [\n        {\n            \"amount\": null, \n    \
          \        \"chargeId\": \"402890555a87d7f5015a88c613c5001e\", \n        \
          \    \"comment\": \"this is comment1\", \n            \"quantity\": 1, \n\
          \            \"serviceEndDate\": \"2018-10-17\", \n            \"serviceStartDate\"\
          : \"2017-10-17\"\n        }, \n        {\n            \"amount\": 20, \n\
          \            \"chargeId\": \"402890555a7d4022015a7d90906b0067\", \n    \
          \        \"comment\": \"this is comment2\", \n            \"serviceEndDate\"\
          : \"2018-10-17\", \n            \"serviceStartDate\": \"2017-10-17\"\n \
          \       }\n    ], \n    \"comment\": \"the comment\", \n    \"effectiveDate\"\
          : \"2017-10-17\", \n    \"reasonCode\": \"Correcting invoice error\"\n}'\
          \ \"https://rest.zuora.com/v1/creditmemos\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/creditmemos');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"accountId\": \"402890555a7e9791015a7f15fe44001c\"\
          , \n    \"charges\": [\n        {\n            \"amount\": null, \n    \
          \        \"chargeId\": \"402890555a87d7f5015a88c613c5001e\", \n        \
          \    \"comment\": \"this is comment1\", \n            \"quantity\": 1, \n\
          \            \"serviceEndDate\": \"2018-10-17\", \n            \"serviceStartDate\"\
          : \"2017-10-17\"\n        }, \n        {\n            \"amount\": 20, \n\
          \            \"chargeId\": \"402890555a7d4022015a7d90906b0067\", \n    \
          \        \"comment\": \"this is comment2\", \n            \"serviceEndDate\"\
          : \"2018-10-17\", \n            \"serviceStartDate\": \"2017-10-17\"\n \
          \       }\n    ], \n    \"comment\": \"the comment\", \n    \"effectiveDate\"\
          : \"2017-10-17\", \n    \"reasonCode\": \"Correcting invoice error\"\n}');\n\
          \ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"accountId\": \"402890555a7e9791015a7f15fe44001c\", \n    \"charges\": [\n        {\n            \"amount\": null, \n            \"chargeId\": \"402890555a87d7f5015a88c613c5001e\", \n            \"comment\": \"this is comment1\", \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2018-10-17\", \n            \"serviceStartDate\": \"2017-10-17\"\n        }, \n        {\n            \"amount\": 20, \n            \"chargeId\": \"402890555a7d4022015a7d90906b0067\", \n            \"comment\": \"this is comment2\", \n            \"serviceEndDate\": \"2018-10-17\", \n            \"serviceStartDate\": \"2017-10-17\"\n        }\n    ], \n    \"comment\": \"the comment\", \n    \"effectiveDate\": \"2017-10-17\", \n    \"reasonCode\": \"Correcting invoice error\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/creditmemos")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"accountId\": \"402890555a7e9791015a7f15fe44001c\", \n    \"charges\": [\n        {\n            \"amount\": null, \n            \"chargeId\": \"402890555a87d7f5015a88c613c5001e\", \n            \"comment\": \"this is comment1\", \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2018-10-17\", \n            \"serviceStartDate\": \"2017-10-17\"\n        }, \n        {\n            \"amount\": 20, \n            \"chargeId\": \"402890555a7d4022015a7d90906b0067\", \n            \"comment\": \"this is comment2\", \n            \"serviceEndDate\": \"2018-10-17\", \n            \"serviceStartDate\": \"2017-10-17\"\n        }\n    ], \n    \"comment\": \"the comment\", \n    \"effectiveDate\": \"2017-10-17\", \n    \"reasonCode\": \"Correcting invoice error\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/creditmemos", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/creditmemos")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"accountId\": \"402890555a7e9791015a7f15fe44001c\", \n    \"charges\": [\n        {\n            \"amount\": null, \n            \"chargeId\": \"402890555a87d7f5015a88c613c5001e\", \n            \"comment\": \"this is comment1\", \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2018-10-17\", \n            \"serviceStartDate\": \"2017-10-17\"\n        }, \n        {\n            \"amount\": 20, \n            \"chargeId\": \"402890555a7d4022015a7d90906b0067\", \n            \"comment\": \"this is comment2\", \n            \"serviceEndDate\": \"2018-10-17\", \n            \"serviceStartDate\": \"2017-10-17\"\n        }\n    ], \n    \"comment\": \"the comment\", \n    \"effectiveDate\": \"2017-10-17\", \n    \"reasonCode\": \"Correcting invoice error\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/creditmemos");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"accountId\": \"402890555a7e9791015a7f15fe44001c\", \n    \"charges\": [\n        {\n            \"amount\": null, \n            \"chargeId\": \"402890555a87d7f5015a88c613c5001e\", \n            \"comment\": \"this is comment1\", \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2018-10-17\", \n            \"serviceStartDate\": \"2017-10-17\"\n        }, \n        {\n            \"amount\": 20, \n            \"chargeId\": \"402890555a7d4022015a7d90906b0067\", \n            \"comment\": \"this is comment2\", \n            \"serviceEndDate\": \"2018-10-17\", \n            \"serviceStartDate\": \"2017-10-17\"\n        }\n    ], \n    \"comment\": \"the comment\", \n    \"effectiveDate\": \"2017-10-17\", \n    \"reasonCode\": \"Correcting invoice error\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nRetrieves the\
        \ information about all credit memos.\n\n### Filtering\n\nYou can use query\
        \ parameters to restrict the data returned in the response. Each query parameter\
        \ corresponds to one field in the response body.\n\nIf the value of a filterable\
        \ field is string, you can set the corresponding query parameter to `null`\
        \ when filtering. Then, you can get the response data with this field value\
        \ being `null`. \n  \nExamples:\n\n- /v1/creditmemos?status=Processed\n\n\
        - /v1/creditmemos?referredInvoiceId=null&status=Draft\n\n- /v1/creditmemos?status=Processed&type=External&sort=+number\n"
      summary: Get credit memos
      operationId: GET_CreditMemos
      tags:
      - Credit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              creditmemos:
              - id: 2c92c8f95bd63b94015bd7c39289112e
                number: CM00000002
                accountId: 2c92c8f95bd63b98015bd7ab09ef0926
                currency: USD
                creditMemoDate: '2017-05-05'
                targetDate: null
                postedById: null
                postedOn: null
                status: Draft
                amount: 23
                taxAmount: 0
                totalTaxExemptAmount: 0
                unappliedAmount: 23
                refundAmount: 0
                appliedAmount: 0
                comment: ''
                source: BillRun
                sourceId: BR-00000024
                referredInvoiceId: null
                reasonCode: Correcting invoice error
                createdDate: '2017-05-05 01:39:30'
                createdById: 2c92c8f95b79c9ad015b80614273052c
                updatedDate: '2017-05-05 01:39:30'
                updatedById: 2c92c8f95b79c9ad015b80614273052c
                cancelledOn: null
                cancelledById: null
                latestPDFFileId: 2c92c8955bd63b6c015bd7c395e90023
                transferredToAccounting: 'No'
                excludeFromAutoApplyRules: false
                autoApplyUponPosting: false
                taxStatus: null
                taxMessage: null
              - id: 2c92c8f95bd63b9d015bd7ad7fe206f9
                number: CM00000001
                accountId: 2c92c8f95bd63b98015bd7ab09ef0926
                currency: USD
                creditMemoDate: '2017-05-01'
                targetDate: null
                postedById: null
                postedOn: null
                status: Draft
                amount: 10
                taxAmount: 0
                totalTaxExemptAmount: 0
                unappliedAmount: 10
                refundAmount: 0
                appliedAmount: 0
                comment: ''
                source: AdhocFromInvoice
                sourceId: null
                referredInvoiceId: 2c92c8955bd63cc1015bd7c151af02ab
                reasonCode: Correcting invoice error
                createdDate: '2017-05-05 01:15:23'
                createdById: 2c92c8f95b79c9ad015b80614273052c
                updatedDate: '2017-05-05 01:15:24'
                updatedById: 2c92c8f95b79c9ad015b80614273052c
                cancelledOn: null
                cancelledById: null
                latestPDFFileId: 2c92c8955bd63b6c015bd7ad8921001d
                transferredToAccounting: 'No'
                excludeFromAutoApplyRules: false
                autoApplyUponPosting: false
                taxStatus: null
                taxMessage: null
              success: true
          schema:
            $ref: '#/definitions/GETCreditMemoCollectionType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - name: accountId
        in: query
        type: string
        required: false
        description: "This parameter filters the response based on the `accountId`\
          \ field. \n"
      - name: amount
        in: query
        type: number
        format: double
        required: false
        description: "This parameter filters the response based on the `amount` field.\
          \ \n"
      - name: appliedAmount
        in: query
        type: number
        format: double
        required: false
        description: "This parameter filters the response based on the `appliedAmount`\
          \ field. \n"
      - name: autoApplyUponPosting
        in: query
        type: boolean
        required: false
        description: "This parameter filters the response based on the `autoApplyUponPosting`\
          \ field. \n"
      - name: createdById
        in: query
        type: string
        required: false
        description: "This parameter filters the response based on the `createdById`\
          \ field. \n"
      - name: createdDate
        in: query
        type: string
        format: date-time
        required: false
        description: "This parameter filters the response based on the `createdDate`\
          \ field. \n"
      - name: creditMemoDate
        in: query
        type: string
        format: date
        required: false
        description: "This parameter filters the response based on the `creditMemoDate`\
          \ field. \n"
      - name: currency
        in: query
        type: string
        required: false
        description: "This parameter filters the response based on the `currency`\
          \ field. \n"
      - name: excludeFromAutoApplyRules
        in: query
        type: boolean
        required: false
        description: "This parameter filters the response based on the `excludeFromAutoApplyRules`\
          \ field. \n"
      - name: number
        in: query
        type: string
        required: false
        description: "This parameter filters the response based on the `number` field.\
          \ \n"
      - name: referredInvoiceId
        in: query
        type: string
        required: false
        description: "This parameter filters the response based on the `referredInvoiceId`\
          \ field. \n"
      - name: refundAmount
        in: query
        type: number
        format: double
        required: false
        description: "This parameter filters the response based on the `refundAmount`\
          \ field. \n"
      - name: status
        in: query
        type: string
        required: false
        description: "This parameter filters the response based on the `status` field.\
          \ \n"
        enum:
        - Draft
        - Posted
        - Canceled
        - Error
        - PendingForTax
        - Generating
        - CancelInProgress
      - name: targetDate
        in: query
        type: string
        format: date
        required: false
        description: "This parameter filters the response based on the `targetDate`\
          \ field. \n"
      - name: taxAmount
        in: query
        type: number
        format: double
        required: false
        description: "This parameter filters the response based on the `taxAmount`\
          \ field. \n"
      - name: totalTaxExemptAmount
        in: query
        type: number
        format: double
        required: false
        description: 'This parameter filters the response based on the `totalTaxExemptAmount`
          field.

          '
      - name: transferredToAccounting
        in: query
        type: string
        required: false
        description: "This parameter filters the response based on the `transferredToAccounting`\
          \ field. \n"
        enum:
        - Processing
        - 'Yes'
        - 'No'
        - Error
        - Ignore
      - name: unappliedAmount
        in: query
        type: number
        format: double
        required: false
        description: "This parameter filters the response based on the `unappliedAmount`\
          \ field. \n"
      - name: updatedById
        in: query
        type: string
        required: false
        description: "This parameter filters the response based on the `updatedById`\
          \ field. \n"
      - name: updatedDate
        in: query
        type: string
        format: date-time
        required: false
        description: 'This parameter filters the response based on the `updatedDate`
          field.

          '
      - name: sort
        in: query
        type: string
        required: false
        description: "This parameter restricts the order of the data returned in the\
          \ response. You can use this parameter to supply a dimension you want to\
          \ sort on.\n\nA sortable field uses the following form: \n\n*operator* *field_name*\n\
          \nYou can use at most two sortable fields in one URL path. Use a comma to\
          \ separate sortable fields. For example:  *operator* *field_name*, *operator*\
          \ *field_name*  \n\n*operator* is used to mark the order of sequencing.\
          \ The operator is optional. If you only specify the sortable field without\
          \ any operator, the response data is sorted in descending order by this\
          \ field.\n\n  - The `-` operator indicates an ascending order.\n  - The\
          \ `+` operator indicates a descending order.\n\nBy default, the response\
          \ data is displayed in descending order by credit memo number.\n\n*field_name*\
          \ indicates the name of a sortable field. The supported sortable fields\
          \ of this operation are as below:\n\n  - accountId\n  - amount\n  - appliedAmount\n\
          \  - createdById\n  - createdDate\n  - creditMemoDate\n  - number\n  - referredInvoiceId\n\
          \  - refundAmount\n  - status\n  - targetDate\n  - taxAmount\n  - totalTaxExemptAmount\n\
          \  - transferredToAccounting\n  - unappliedAmount\n  - updatedDate\n\n \
          \ \nExamples:\n\n- /v1/creditmemos?sort=+number\n\n- /v1/creditmemos?status=Processed&sort=-number,+amount\n"
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/creditmemos"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/creditmemos');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/creditmemos")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/creditmemos", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/creditmemos")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/creditmemos");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/creditmemos/{creditMemoId}:
    put:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nUpdates the basic\
        \ and finance information about a credit memo. Currently, Zuora supports updating\
        \ tax-exclusive memo items, but does not support updating tax-inclusive memo\
        \ items. \n\nIf the amount of a memo item is updated, the tax will be recalculated\
        \ in the following conditions:\n  - The memo is created from a product rate\
        \ plan charge and you use Avalara to calculate the tax.\n  - The memo is created\
        \ from an invoice and you use Avalara or Zuora Tax to calculate the tax.\n\
        \nYou can update a credit memo only if you have the user permission. See [Billing\
        \ Roles](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/d_Billing_Roles)\
        \ for more information.\n"
      summary: Update credit memo
      operationId: PUT_UpdateCreditMemo
      tags:
      - Credit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 4028905f5a890526015a8d73f73d0015
              number: CM00000001
              accountId: 4028905f5a87c0ff015a87d25ae90025
              currency: USD
              creditMemoDate: '2017-03-02'
              targetDate: null
              postedById: null
              postedOn: null
              status: Draft
              amount: 10.76
              taxAmount: 0.76
              totalTaxExemptAmount: 0
              unappliedAmount: 10.76
              refundAmount: 0
              appliedAmount: 0
              comment: ''
              source: AdhocFromPrpc
              sourceId: null
              referredInvoiceId: 4028905f5a87c0ff015a87d3f8f10043
              reasonCode: Correcting invoice error
              createdDate: '2017-03-02 13:17:51'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-02 13:19:00'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              cancelledOn: null
              cancelledById: null
              latestPDFFileId: 4028905f5a890526015a8d7408730024
              transferredToAccounting: 'No'
              excludeFromAutoApplyRules: true
              autoApplyUponPosting: false
              taxStatus: null
              taxMessage: null
              success: true
          schema:
            $ref: '#/definitions/GETCreditMemoType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: body
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUTCreditMemoType'
      - type: string
        in: path
        description: "The unique ID of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.\
          \ \n"
        name: creditMemoId
        required: true
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"autoApplyUponPosting\"\
          : false, \n    \"comment\": \"new comment\", \n    \"effectiveDate\": \"\
          2017-04-17\", \n    \"excludeFromAutoApplyRules\": false, \n    \"items\"\
          : [\n        {\n            \"amount\": 1, \n            \"comment\": \"\
          This is comment!\", \n            \"id\": \"402890555b797b57015b7986fc1a001c\"\
          , \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2016-11-30\"\
          , \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\"\
          : \"SKU-1\", \n            \"taxItems\": [\n                {\n        \
          \            \"amount\": 0.03, \n                    \"id\": \"402890555b797b57015b7986fc3c001d\"\
          , \n                    \"jurisdiction\": \"CALIFORNIA\", \n           \
          \         \"locationCode\": \"06\", \n                    \"taxCode\": null,\
          \ \n                    \"taxCodeDescription\": \"This is tax code description!\"\
          , \n                    \"taxDate\": \"2016-11-30\", \n                \
          \    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE\
          \ TAX1\", \n                    \"taxRate\": 0.0625, \n                \
          \    \"taxRateDescription\": \"This is tax rate description!\", \n     \
          \               \"taxRateType\": \"Percentage\"\n                }\n   \
          \         ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }, \n\
          \        {\n            \"amount\": 2, \n            \"comment\": \"This\
          \ is comment!\", \n            \"id\": \"402890555b797b57015b7986fc41001e\"\
          , \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\"\
          : \"2016-11-01\", \n            \"skuName\": \"SKU-2\", \n            \"\
          taxItems\": [\n                {\n                    \"amount\": 0.06,\
          \ \n                    \"id\": \"402890555b797b57015b7986fc4c001f\", \n\
          \                    \"jurisdiction\": \"CALIFORNIA\", \n              \
          \      \"locationCode\": \"06\", \n                    \"taxCode\": null,\
          \ \n                    \"taxCodeDescription\": \"This is tax code description!\"\
          , \n                    \"taxDate\": \"2016-11-30\", \n                \
          \    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE\
          \ TAX2\", \n                    \"taxRate\": 0.0625, \n                \
          \    \"taxRateDescription\": \"This is tax rate description!\", \n     \
          \               \"taxRateType\": \"Percentage\"\n                }\n   \
          \         ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }\n\
          \    ], \n    \"reasonCode\": \"Correcting invoice error\"\n}' \"https://rest.zuora.com/v1/creditmemos/{creditMemoId}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/creditmemos/{creditMemoId}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"autoApplyUponPosting\": false, \n   \
          \ \"comment\": \"new comment\", \n    \"effectiveDate\": \"2017-04-17\"\
          , \n    \"excludeFromAutoApplyRules\": false, \n    \"items\": [\n     \
          \   {\n            \"amount\": 1, \n            \"comment\": \"This is comment!\"\
          , \n            \"id\": \"402890555b797b57015b7986fc1a001c\", \n       \
          \     \"quantity\": 1, \n            \"serviceEndDate\": \"2016-11-30\"\
          , \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\"\
          : \"SKU-1\", \n            \"taxItems\": [\n                {\n        \
          \            \"amount\": 0.03, \n                    \"id\": \"402890555b797b57015b7986fc3c001d\"\
          , \n                    \"jurisdiction\": \"CALIFORNIA\", \n           \
          \         \"locationCode\": \"06\", \n                    \"taxCode\": null,\
          \ \n                    \"taxCodeDescription\": \"This is tax code description!\"\
          , \n                    \"taxDate\": \"2016-11-30\", \n                \
          \    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE\
          \ TAX1\", \n                    \"taxRate\": 0.0625, \n                \
          \    \"taxRateDescription\": \"This is tax rate description!\", \n     \
          \               \"taxRateType\": \"Percentage\"\n                }\n   \
          \         ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }, \n\
          \        {\n            \"amount\": 2, \n            \"comment\": \"This\
          \ is comment!\", \n            \"id\": \"402890555b797b57015b7986fc41001e\"\
          , \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\"\
          : \"2016-11-01\", \n            \"skuName\": \"SKU-2\", \n            \"\
          taxItems\": [\n                {\n                    \"amount\": 0.06,\
          \ \n                    \"id\": \"402890555b797b57015b7986fc4c001f\", \n\
          \                    \"jurisdiction\": \"CALIFORNIA\", \n              \
          \      \"locationCode\": \"06\", \n                    \"taxCode\": null,\
          \ \n                    \"taxCodeDescription\": \"This is tax code description!\"\
          , \n                    \"taxDate\": \"2016-11-30\", \n                \
          \    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE\
          \ TAX2\", \n                    \"taxRate\": 0.0625, \n                \
          \    \"taxRateDescription\": \"This is tax rate description!\", \n     \
          \               \"taxRateType\": \"Percentage\"\n                }\n   \
          \         ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }\n\
          \    ], \n    \"reasonCode\": \"Correcting invoice error\"\n}');\n\ntry\
          \ {\n  $response = $request->send();\n\n  echo $response->getBody();\n}\
          \ catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"autoApplyUponPosting\": false, \n    \"comment\": \"new comment\", \n    \"effectiveDate\": \"2017-04-17\", \n    \"excludeFromAutoApplyRules\": false, \n    \"items\": [\n        {\n            \"amount\": 1, \n            \"comment\": \"This is comment!\", \n            \"id\": \"402890555b797b57015b7986fc1a001c\", \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\": \"SKU-1\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.03, \n                    \"id\": \"402890555b797b57015b7986fc3c001d\", \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": \"This is tax code description!\", \n                    \"taxDate\": \"2016-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX1\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }, \n        {\n            \"amount\": 2, \n            \"comment\": \"This is comment!\", \n            \"id\": \"402890555b797b57015b7986fc41001e\", \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\": \"SKU-2\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.06, \n                    \"id\": \"402890555b797b57015b7986fc4c001f\", \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": \"This is tax code description!\", \n                    \"taxDate\": \"2016-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX2\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }\n    ], \n    \"reasonCode\": \"Correcting invoice error\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/creditmemos/{creditMemoId}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"autoApplyUponPosting\": false, \n    \"comment\": \"new comment\", \n    \"effectiveDate\": \"2017-04-17\", \n    \"excludeFromAutoApplyRules\": false, \n    \"items\": [\n        {\n            \"amount\": 1, \n            \"comment\": \"This is comment!\", \n            \"id\": \"402890555b797b57015b7986fc1a001c\", \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\": \"SKU-1\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.03, \n                    \"id\": \"402890555b797b57015b7986fc3c001d\", \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": \"This is tax code description!\", \n                    \"taxDate\": \"2016-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX1\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }, \n        {\n            \"amount\": 2, \n            \"comment\": \"This is comment!\", \n            \"id\": \"402890555b797b57015b7986fc41001e\", \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\": \"SKU-2\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.06, \n                    \"id\": \"402890555b797b57015b7986fc4c001f\", \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": \"This is tax code description!\", \n                    \"taxDate\": \"2016-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX2\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }\n    ], \n    \"reasonCode\": \"Correcting invoice error\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/creditmemos/{creditMemoId}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/creditmemos/{creditMemoId}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"autoApplyUponPosting\": false, \n    \"comment\": \"new comment\", \n    \"effectiveDate\": \"2017-04-17\", \n    \"excludeFromAutoApplyRules\": false, \n    \"items\": [\n        {\n            \"amount\": 1, \n            \"comment\": \"This is comment!\", \n            \"id\": \"402890555b797b57015b7986fc1a001c\", \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\": \"SKU-1\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.03, \n                    \"id\": \"402890555b797b57015b7986fc3c001d\", \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": \"This is tax code description!\", \n                    \"taxDate\": \"2016-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX1\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }, \n        {\n            \"amount\": 2, \n            \"comment\": \"This is comment!\", \n            \"id\": \"402890555b797b57015b7986fc41001e\", \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\": \"SKU-2\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.06, \n                    \"id\": \"402890555b797b57015b7986fc4c001f\", \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": \"This is tax code description!\", \n                    \"taxDate\": \"2016-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX2\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }\n    ], \n    \"reasonCode\": \"Correcting invoice error\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/creditmemos/{creditMemoId}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"autoApplyUponPosting\": false, \n    \"comment\": \"new comment\", \n    \"effectiveDate\": \"2017-04-17\", \n    \"excludeFromAutoApplyRules\": false, \n    \"items\": [\n        {\n            \"amount\": 1, \n            \"comment\": \"This is comment!\", \n            \"id\": \"402890555b797b57015b7986fc1a001c\", \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\": \"SKU-1\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.03, \n                    \"id\": \"402890555b797b57015b7986fc3c001d\", \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": \"This is tax code description!\", \n                    \"taxDate\": \"2016-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX1\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }, \n        {\n            \"amount\": 2, \n            \"comment\": \"This is comment!\", \n            \"id\": \"402890555b797b57015b7986fc41001e\", \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\": \"SKU-2\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.06, \n                    \"id\": \"402890555b797b57015b7986fc4c001f\", \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": \"This is tax code description!\", \n                    \"taxDate\": \"2016-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX2\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }\n    ], \n    \"reasonCode\": \"Correcting invoice error\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nRetrieves the\
        \ information about a specific credit memo.\n"
      summary: Get credit memo
      operationId: GET_CreditMemo
      tags:
      - Credit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 402890555a7e9791015a879f064a0054
              number: CM00000012
              accountId: 402890555a7e9791015a7f15fe44001c
              currency: USD
              creditMemoDate: '2017-03-01'
              targetDate: null
              postedById: null
              postedOn: null
              status: Draft
              amount: 3.1
              taxAmount: 0.1
              totalTaxExemptAmount: 0
              unappliedAmount: 3.1
              refundAmount: 0
              appliedAmount: 0
              comment: ''
              source: API
              sourceId: null
              referredInvoiceId: 402890555a7e9791015a7f1756aa0035
              reasonCode: Correcting invoice error
              createdDate: '2017-03-01 10:07:10'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 10:08:43'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              cancelledOn: null
              cancelledById: null
              latestPDFFileId: 402890555a7e9791015a879f07fb005e
              transferredToAccounting: 'No'
              excludeFromAutoApplyRules: false
              autoApplyUponPosting: false
              taxStatus: null
              taxMessage: null
              success: true
          schema:
            $ref: '#/definitions/GETCreditMemoType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        description: 'The unique ID of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.

          '
        name: creditMemoId
        required: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/creditmemos/{creditMemoId}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/creditmemos/{creditMemoId}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/creditmemos/{creditMemoId}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/creditmemos/{creditMemoId}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/creditmemos/{creditMemoId}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/creditmemos/{creditMemoId}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    delete:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nDeletes a credit\
        \ memo. Only credit memos with the Cancelled status can be deleted. \n\nYou\
        \ can delete a credit memo only if you have the user permission. See [Billing\
        \ Roles](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/d_Billing_Roles)\
        \ for more information.\n"
      summary: Delete credit memo
      operationId: DELETE_CreditMemo
      tags:
      - Credit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              success: true
          schema:
            $ref: '#/definitions/CommonResponseType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: creditMemoId
        description: 'The unique ID of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.

          '
        required: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/creditmemos/{creditMemoId}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/creditmemos/{creditMemoId}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/creditmemos/{creditMemoId}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/creditmemos/{creditMemoId}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/creditmemos/{creditMemoId}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/creditmemos/{creditMemoId}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/creditmemos/{creditMemoId}/apply:
    put:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/).\n\nApplies a posted\
        \ credit memo to one or more invoices and debit memos. \n\nYou can apply a\
        \ credit memo to an invoice or a debit memo only if you have the user permission.\
        \ See [Billing Roles](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/d_Billing_Roles)\
        \ for more information.\n\nWhen applying a credit memo, the total number of\
        \ invoices and debit memos that the credit memo will apply to must be less\
        \ than or equal to 1,000.\n\nIf the Proration application rule is used, when\
        \ applying credit memos, the following quantity must be less than or equal\
        \ to 10,000: \n\n(number of invoice items + number of debit memo items) *\
        \ number of credit memo items\n\nOtherwise, the First In First Out rule will\
        \ be used instead of the Proration rule.\n"
      summary: Apply credit memo
      operationId: PUT_ApplyCreditMemo
      tags:
      - Credit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 4028905f5a890526015a8d73f73d0015
              number: CM00000001
              accountId: 4028905f5a87c0ff015a87d25ae90025
              currency: USD
              creditMemoDate: '2017-03-02'
              targetDate: null
              postedById: 402881e522cf4f9b0122cf5d82860002
              postedOn: '2017-03-02 13:21:55'
              status: Posted
              amount: 10.76
              taxAmount: 0.76
              totalTaxExemptAmount: 0
              unappliedAmount: 2.66
              refundAmount: 7.1
              appliedAmount: 1
              comment: ''
              source: AdhocFromPrpc
              sourceId: null
              referredInvoiceId: 4028905f5a87c0ff015a87d3f8f10043
              reasonCode: Correcting invoice error
              createdDate: '2017-03-02 13:17:51'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-02 13:25:29'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              cancelledOn: null
              cancelledById: null
              latestPDFFileId: 4028905f5a890526015a8d77af600036
              transferredToAccounting: 'No'
              excludeFromAutoApplyRules: true
              autoApplyUponPosting: false
              taxStatus: null
              taxMessage: null
              success: true
          schema:
            $ref: '#/definitions/GETCreditMemoType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/ApplyCreditMemoType'
      - type: string
        in: path
        name: creditMemoId
        description: 'The unique ID of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.

          '
        required: true
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"effectiveDate\": \"\
          2017-03-02\", \n    \"invoices\": [\n        {\n            \"amount\":\
          \ 1, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\",\
          \ \n            \"items\": [\n                {\n                    \"\
          amount\": 0.9, \n                    \"creditMemoItemId\": \"4028905f5a890526015a8d73f74b0016\"\
          , \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\
          \n                }, \n                {\n                    \"amount\"\
          : 0.1, \n                    \"creditTaxItemId\": \"4028905f5a890526015a8d73f90c0018\"\
          , \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\
          \n                }\n            ]\n        }\n    ]\n}' \"https://rest.zuora.com/v1/creditmemos/{creditMemoId}/apply\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/creditmemos/{creditMemoId}/apply');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"effectiveDate\": \"2017-03-02\", \n \
          \   \"invoices\": [\n        {\n            \"amount\": 1, \n          \
          \  \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\", \n            \"\
          items\": [\n                {\n                    \"amount\": 0.9, \n \
          \                   \"creditMemoItemId\": \"4028905f5a890526015a8d73f74b0016\"\
          , \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\
          \n                }, \n                {\n                    \"amount\"\
          : 0.1, \n                    \"creditTaxItemId\": \"4028905f5a890526015a8d73f90c0018\"\
          , \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\
          \n                }\n            ]\n        }\n    ]\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"effectiveDate\": \"2017-03-02\", \n    \"invoices\": [\n        {\n            \"amount\": 1, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\", \n            \"items\": [\n                {\n                    \"amount\": 0.9, \n                    \"creditMemoItemId\": \"4028905f5a890526015a8d73f74b0016\", \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\n                }, \n                {\n                    \"amount\": 0.1, \n                    \"creditTaxItemId\": \"4028905f5a890526015a8d73f90c0018\", \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\n                }\n            ]\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/apply")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"effectiveDate\": \"2017-03-02\", \n    \"invoices\": [\n        {\n            \"amount\": 1, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\", \n            \"items\": [\n                {\n                    \"amount\": 0.9, \n                    \"creditMemoItemId\": \"4028905f5a890526015a8d73f74b0016\", \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\n                }, \n                {\n                    \"amount\": 0.1, \n                    \"creditTaxItemId\": \"4028905f5a890526015a8d73f90c0018\", \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\n                }\n            ]\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/creditmemos/{creditMemoId}/apply", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/apply")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"effectiveDate\": \"2017-03-02\", \n    \"invoices\": [\n        {\n            \"amount\": 1, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\", \n            \"items\": [\n                {\n                    \"amount\": 0.9, \n                    \"creditMemoItemId\": \"4028905f5a890526015a8d73f74b0016\", \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\n                }, \n                {\n                    \"amount\": 0.1, \n                    \"creditTaxItemId\": \"4028905f5a890526015a8d73f90c0018\", \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\n                }\n            ]\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/apply");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"effectiveDate\": \"2017-03-02\", \n    \"invoices\": [\n        {\n            \"amount\": 1, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\", \n            \"items\": [\n                {\n                    \"amount\": 0.9, \n                    \"creditMemoItemId\": \"4028905f5a890526015a8d73f74b0016\", \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\n                }, \n                {\n                    \"amount\": 0.1, \n                    \"creditTaxItemId\": \"4028905f5a890526015a8d73f90c0018\", \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\n                }\n            ]\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/creditmemos/{creditMemoId}/cancel:
    put:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nCancels a credit\
        \ memo. Only credit memos with the Draft status can be cancelled. \n\nYou\
        \ can cancel a credit memo only if you have the user permission. See [Billing\
        \ Roles](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/d_Billing_Roles)\
        \ for more information.\n"
      summary: Cancel credit memo
      operationId: PUT_CancelCreditMemo
      tags:
      - Credit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 402890555a87d7f5015a88c7a6830022
              number: CM00000015
              accountId: 402890555a7e9791015a7f15fe44001c
              currency: USD
              creditMemoDate: '2017-10-17'
              targetDate: null
              postedById: null
              postedOn: null
              status: Canceled
              amount: 2020
              taxAmount: 0
              totalTaxExemptAmount: 0
              unappliedAmount: 2020
              refundAmount: 0
              appliedAmount: 0
              comment: the comment
              source: AdhocFromPrpc
              sourceId: null
              referredInvoiceId: null
              reasonCode: Correcting invoice error
              createdDate: '2017-03-01 15:31:10'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 15:36:57'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              cancelledOn: '2017-09-03 19:59:07'
              cancelledById: 402881e522cf4f9b0122cf5d82860002
              latestPDFFileId: 402890555a87d7f5015a88c7a7a2002a
              transferredToAccounting: 'No'
              excludeFromAutoApplyRules: false
              autoApplyUponPosting: false
              taxStatus: null
              taxMessage: null
              success: true
          schema:
            $ref: '#/definitions/GETCreditMemoType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        description: 'The unique ID of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.

          '
        name: creditMemoId
        required: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/creditmemos/{creditMemoId}/cancel"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/creditmemos/{creditMemoId}/cancel');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/cancel")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/creditmemos/{creditMemoId}/cancel", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/cancel")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/cancel");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/creditmemos/{creditMemoId}/emails:
    post:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nSends a posted\
        \ credit memo to the specified email addresses manually.\n\n\n\n## Notes\n\
        \  - You must activate the **Email Credit Memo | Manually email Credit Memo**\
        \ notification before emailing credit memos. To include the credit memo PDF\
        \ in the email, select the **Include Credit Memo PDF** check box in the **Edit\
        \ notification** dialog from the Zuora UI. See [Create and Edit Notifications](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/Notifications/C_Create_Notifications#section_2)\
        \ for more information.\n\n\n  - Zuora sends the email messages based on the\
        \ email template you set. You can set the email template to use in the **Delivery\
        \ Options** panel of the **Edit notification** dialog from the Zuora UI. By\
        \ default, the **Manual Email for Credit Memo Default Template** template\
        \ is used. See [Create and Edit Email Templates](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/Notifications/Create_Email_Templates)\
        \ for more information.\n\n\n  - The credit memos are sent only to the work\
        \ email addresses or personal email addresses of the Bill To contact if the\
        \ following conditions are all met:\n\n    * The `useEmailTemplateSetting`\
        \ field is set to `false`.\n    * The email addresses are not specified in\
        \ the `emailAddresses` field.\n"
      summary: Email credit memo
      operationId: POST_EmailCreditMemo
      tags:
      - Credit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              success: true
          schema:
            $ref: '#/definitions/CommonResponseType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: Request
        in: body
        required: true
        description: ''
        schema:
          $ref: '#/definitions/PostCreditMemoEmailRequestType'
      - name: creditMemoId
        type: string
        in: path
        required: true
        description: 'The ID of a posted credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.

          '
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"emailAddresses\": \"\
          contact1@example.com,contact2@example.com\", \n    \"includeAdditionalEmailAddresses\"\
          : false, \n    \"useEmailTemplateSetting\": false\n}' \"https://rest.zuora.com/v1/creditmemos/{creditMemoId}/emails\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/creditmemos/{creditMemoId}/emails');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"emailAddresses\": \"contact1@example.com,contact2@example.com\"\
          , \n    \"includeAdditionalEmailAddresses\": false, \n    \"useEmailTemplateSetting\"\
          : false\n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"emailAddresses\": \"contact1@example.com,contact2@example.com\", \n    \"includeAdditionalEmailAddresses\": false, \n    \"useEmailTemplateSetting\": false\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/emails")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"emailAddresses\": \"contact1@example.com,contact2@example.com\", \n    \"includeAdditionalEmailAddresses\": false, \n    \"useEmailTemplateSetting\": false\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/creditmemos/{creditMemoId}/emails", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/emails")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"emailAddresses\": \"contact1@example.com,contact2@example.com\", \n    \"includeAdditionalEmailAddresses\": false, \n    \"useEmailTemplateSetting\": false\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/emails");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"emailAddresses\": \"contact1@example.com,contact2@example.com\", \n    \"includeAdditionalEmailAddresses\": false, \n    \"useEmailTemplateSetting\": false\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/creditmemos/{creditMemoId}/files:
    post:
      summary: Upload file for credit memo
      operationId: POST_UploadFileForCreditMemo
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nUploads an externally\
        \ generated PDF file for a credit memo that is in Draft or Posted status.\n\
        \nThis operation has the following restrictions:\n- Only the PDF file format\
        \ is supported.\n- The maximum size of the PDF file to upload is 4 MB.\n-\
        \ A maximum of 50 PDF files can be uploaded for one credit memo.\n"
      consumes:
      - multipart/form-data
      tags:
      - Credit Memos
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: creditMemoId
        in: path
        description: 'The ID of the credit memo that you want to upload a PDF file
          for. For example, 402890555a7e9791015a879f064a0054.

          '
        required: true
        type: string
      - name: file
        in: formData
        description: 'The PDF file to upload for the credit memo.

          '
        type: file
      responses:
        '200':
          headers:
            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.

                '
          examples:
            application/json:
              success: true
              fileId: 40289f466463d683016463ef8b7301a4
          description: ''
          schema:
            $ref: '#/definitions/POSTUploadFileResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X POST -H "Authorization: Bearer f21f017e4724445d8647b1f0de7ed6f1"
          -F "file=@CreditMemoFile.pdf" "https://rest.zuora.com/v1/creditmemos/402890555a7e9791015a879f064a0054/files"

          '
  /v1/creditmemos/{creditMemoId}/items:
    get:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nRetrieves the\
        \ information about all items of a credit memo. A credit memo item is a single\
        \ line item in a credit memo. \n\n### Filtering\n\nYou can use query parameters\
        \ to restrict the data returned in the response. Each query parameter corresponds\
        \ to one field in the response body.\n\nIf the value of a filterable field\
        \ is string, you can set the corresponding query parameter to `null` when\
        \ filtering. Then, you can get the response data with this field value being\
        \ `null`. \n\nExamples:\n    \n  - /v1/creditmemos/402890245c7ca371015c7cb40ac30015/items?amount=100\n\
        \  \n  - /v1/creditmemos/402890245c7ca371015c7cb40ac30015/items?amount=100&sort=createdDate\n\
        \    \n"
      summary: Get credit memo items
      operationId: GET_CreditMemoItems
      tags:
      - Credit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              items:
              - id: 402890555a7e9791015a879f064d0055
                amount: 1
                amountWithoutTax: 0
                appliedAmount: 0
                appliedToItemId: null
                refundAmount: 0
                unappliedAmount: 1
                comment: ''
                processingType: Charge
                quantity: 1
                sku: SKU-00000001
                skuName: New Component
                serviceStartDate: '2017-02-27'
                serviceEndDate: '2017-03-26'
                sourceItemType: InvoiceDetail
                sourceItemId: 402890555a7e9791015a7f1756bc0037
                createdDate: '2017-03-01 10:07:10'
                createdById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2017-03-01 10:08:43'
                updatedById: 402881e522cf4f9b0122cf5d82860002
                subscriptionId: 402890d25bec1155015bec35cc7c0bc7
                unitOfMeasure: Each
                unitPrice: 1
                financeInformation:
                  onAccountAccountingCode: null
                  onAccountAccountingCodeType: null
                  deferredRevenueAccountingCode: null
                  deferredRevenueAccountingCodeType: null
                  recognizedRevenueAccountingCode: null
                  recognizedRevenueAccountingCodeType: null
                taxationItems:
                  data:
                  - id: 402890555a7e9791015a87a072880062
                    sourceTaxItemId: null
                    taxAmount: 0.1
                    appliedAmount: 0
                    unappliedAmount: 0.1
                    refundAmount: 0
                    name: STATE TAX
                    exemptAmount: 0
                    jurisdiction: CALIFORNIA
                    locationCode: '06'
                    taxCode: ServiceTaxCode
                    taxCodeDescription: This is tax code description!
                    taxDate: '2016-09-30'
                    taxRate: 0.0625
                    taxRateDescription: This is tax rate description!
                    taxRateType: Percentage
                    financeInformation:
                      onAccountAccountingCode: Check
                      onAccountAccountingCodeType: Cash
                      salesTaxPayableAccountingCode: Check
                      salesTaxPayableAccountingCodeType: Cash
              - id: 402890555a7e9791015a879f06610056
                amount: 2
                amountWithoutTax: 2
                appliedAmount: 0
                appliedToItemId: null
                refundAmount: 0
                unappliedAmount: 2
                comment: ''
                processingType: Charge
                quantity: 1
                sku: SKU-00000001
                skuName: New Component
                serviceStartDate: '2017-02-27'
                serviceEndDate: '2017-03-26'
                sourceItemType: InvoiceDetail
                sourceItemId: 402890555a7e9791015a7f1756bd0038
                createdDate: '2017-03-01 10:07:10'
                createdById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2017-03-01 10:07:10'
                updatedById: 402881e522cf4f9b0122cf5d82860002
                subscriptionId: 402890d25bec1155015bec35cc7c0bc7
                unitOfMeasure: Each
                unitPrice: 2
                financeInformation:
                  onAccountAccountingCode: null
                  onAccountAccountingCodeType: null
                  deferredRevenueAccountingCode: null
                  deferredRevenueAccountingCodeType: null
                  recognizedRevenueAccountingCode: null
                  recognizedRevenueAccountingCodeType: null
                taxationItems:
                  data: []
              success: true
          schema:
            $ref: '#/definitions/GETCreditMemoItemsListType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - type: string
        in: path
        name: creditMemoId
        description: 'The unique ID of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.

          '
        required: true
      - name: zuora-version
        in: header
        required: false
        type: string
        description: "\nThe minor version of the Zuora REST API. See [Minor Version](https://www.zuora.com/developer/api-reference/#section/API-Versions/Minor-Version)\
          \ for information about REST API version control. \n\nThis header affects\
          \ the availability of the following response fields:\n* `items` > `creditTaxItems`\n\
          * `items` > `taxationItems`\n* `items` > `comment`\n* `items` > `description`\n"
      - name: amount
        in: query
        type: number
        format: double
        required: false
        description: "This parameter filters the response based on the `amount` field.\
          \ \n"
      - name: appliedAmount
        in: query
        type: number
        format: double
        required: false
        description: 'This parameter filters the response based on the `appliedAmount`
          field.

          '
      - name: createdById
        in: query
        type: string
        required: false
        description: "This parameter filters the response based on the `createdById`\
          \ field. \n"
      - name: createdDate
        in: query
        type: string
        format: date-time
        required: false
        description: "This parameter filters the response based on the `createdDate`\
          \ field. \n"
      - name: id
        in: query
        type: string
        required: false
        description: "This parameter filters the response based on the `id` field.\
          \ \n"
      - name: refundAmount
        in: query
        type: number
        format: double
        required: false
        description: "This parameter filters the response based on the `refundAmount`\
          \ field. \n"
      - name: serviceEndDate
        in: query
        type: string
        format: date
        required: false
        description: "This parameter filters the response based on the `serviceEndDate`\
          \ field. \n"
      - name: serviceStartDate
        in: query
        type: string
        format: date
        required: false
        description: "This parameter filters the response based on the `serviceStartDate`\
          \ field. \n"
      - name: sku
        in: query
        type: string
        required: false
        description: "This parameter filters the response based on the `sku` field.\
          \ \n"
      - name: skuName
        in: query
        type: string
        required: false
        description: "This parameter filters the response based on the `skuName` field.\
          \ \n"
      - name: sourceItemId
        in: query
        type: string
        required: false
        description: "This parameter filters the response based on the `sourceItemId`\
          \ field. \n"
      - name: subscriptionId
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `subscriptionId`
          field.

          '
      - name: updatedById
        in: query
        type: string
        required: false
        description: "This parameter filters the response based on the `updatedById`\
          \ field. \n"
      - name: updatedDate
        in: query
        type: string
        format: date-time
        required: false
        description: 'This parameter filters the response based on the `updatedDate`
          field.

          '
      - name: sort
        in: query
        type: string
        required: false
        description: "This parameter restricts the order of the data returned in the\
          \ response. You can use this parameter to supply a dimension you want to\
          \ sort on.\n\nA sortable field uses the following form: \n\n*operator* *field_name*\n\
          \nYou can use at most two sortable fields in one URL path. Use a comma to\
          \ separate sortable fields. For example:  *operator* *field_name*, *operator*\
          \ *field_name*  \n\n*operator* is used to mark the order of sequencing.\
          \ The operator is optional. If you only specify the sortable field without\
          \ any operator, the response data is sorted in descending order by this\
          \ field.\n\n  - The `-` operator indicates an ascending order.\n  - The\
          \ `+` operator indicates a descending order.\n\nBy default, the response\
          \ data is displayed in descending order by updated date.\n\n*field_name*\
          \ indicates the name of a sortable field. The supported sortable fields\
          \ of this operation are as below:\n\n  - amount\n  - appliedAmount\n  -\
          \ createdById\n  - createdDate\n  - id\n  - refundAmount\n  - serviceEndDate\n\
          \  - serviceStartDate\n  - sku\n  - skuName\n  - sourceItemId\n  - subscriptionId\n\
          \  - updatedById\n  - updatedDate\n  \nExamples:\n\n- /v1/creditmemos/402890245c7ca371015c7cb40ac30015/items?sort=createdDate\n\
          \n- /v1/creditmemos/402890245c7ca371015c7cb40ac30015/items?amount=100&sort=createdDate\n"
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/creditmemos/{creditMemoId}/items"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/creditmemos/{creditMemoId}/items');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/items")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/creditmemos/{creditMemoId}/items", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/items")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/items");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/creditmemos/{creditMemoId}/items/{cmitemid}:
    get:
      description: |
        **Note:** The Invoice Settlement feature is in **Limited Availability**. This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

        Retrieves the information about a specific item of a credit memo. A credit memo item is a single line item in a credit memo.
      summary: Get credit memo item
      operationId: GET_CreditMemoItem
      tags:
      - Credit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 402890555a7e9791015a879f064d0055
              amount: 1
              amountWithoutTax: 1
              appliedAmount: 0
              appliedToItemId: null
              refundAmount: 0
              unappliedAmount: 1
              comment: ''
              processingType: Charge
              quantity: 1
              sku: SKU-00000001
              skuName: New Component
              serviceStartDate: '2017-02-27'
              serviceEndDate: '2017-03-26'
              sourceItemType: InvoiceDetail
              sourceItemId: 402890555a7e9791015a7f1756bc0037
              createdDate: '2017-03-01 10:07:10'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 10:08:43'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              subscriptionId: 402890d25bec1155015bec35cc7c0bc7
              unitOfMeasure: Each
              unitPrice: 1
              financeInformation:
                onAccountAccountingCode: null
                onAccountAccountingCodeType: null
                deferredRevenueAccountingCode: null
                deferredRevenueAccountingCodeType: null
                recognizedRevenueAccountingCode: null
                recognizedRevenueAccountingCodeType: null
              taxationItems:
                data: []
              success: true
          schema:
            $ref: '#/definitions/GETCreditMemoItemType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: cmitemid
        description: 'The unique ID of a credit memo item. You can get the credit
          memo item ID from the response of [Get credit memo items](https://www.zuora.com/developer/api-reference/#operation/GET_CreditMemoItems).

          '
        required: true
      - type: string
        in: path
        name: creditMemoId
        description: 'The unique ID of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.

          '
        required: true
      - name: zuora-version
        in: header
        required: false
        type: string
        description: "\nThe minor version of the Zuora REST API. See [Minor Version](https://www.zuora.com/developer/api-reference/#section/API-Versions/Minor-Version)\
          \ for information about REST API version control. \n\nThis header affects\
          \ the availability of the following response fields:\n* `creditTaxItems`\n\
          * `taxationItems`\n* `comment`\n* `description`\n"
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/creditmemos/{creditMemoId}/items/{cmitemid}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/creditmemos/{creditMemoId}/items/{cmitemid}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/items/{cmitemid}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/creditmemos/{creditMemoId}/items/{cmitemid}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/items/{cmitemid}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/items/{cmitemid}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/creditmemos/{creditMemoId}/items/{cmitemid}/taxation-items:
    get:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/).\n\nRetrieves information\
        \ about the taxation items of a specific credit memo item. \n"
      summary: Get taxation items of credit memo item
      operationId: GET_TaxationItemsOfCreditMemoItem
      tags:
      - Credit Memos
      responses:
        '200':
          headers:
            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. \
                \       \n"
          description: ''
          examples:
            application/json:
              data:
              - sourceTaxItemId: null
                appliedAmount: 0
                unappliedAmount: 10
                refundAmount: 0
                financeInformation:
                  onAccountAccountingCode: null
                  onAccountAccountingCodeType: null
                  salesTaxPayableAccountingCode: null
                  salesTaxPayableAccountingCodeType: null
                id: 2c98901a68ff2680016903216a271a67
                taxAmount: 10
                name: taxName_0
                exemptAmount: 10
                jurisdiction: Jurisdiction
                locationCode: '8'
                taxCode: taxCode
                taxCodeDescription: taxCodeDescription
                taxDate: '2016-10-10'
                taxRate: 0.1
                taxRateDescription: taxRateDescription
                taxRateType: Percentage
              success: true
          schema:
            $ref: '#/definitions/GETTaxationItemsOfCreditMemoItemType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - $ref: '#/parameters/GLOBAL_REQUEST_page'
      - type: string
        in: path
        name: cmitemid
        description: 'The unique ID of a credit memo item. You can get the credit
          memo item ID from the response of [Get credit memo items](https://www.zuora.com/developer/api-reference/#operation/GET_CreditMemoItems).

          '
        required: true
      - type: string
        in: path
        name: creditMemoId
        description: 'The unique ID of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.

          '
        required: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/creditmemos/{creditMemoId}/items/{cmitemid}/taxation-items"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/creditmemos/{creditMemoId}/items/{cmitemid}/taxation-items');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/items/{cmitemid}/taxation-items")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/creditmemos/{creditMemoId}/items/{cmitemid}/taxation-items", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/items/{cmitemid}/taxation-items")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/items/{cmitemid}/taxation-items");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/creditmemos/{creditMemoId}/parts:
    get:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nRetrieves the\
        \ information about all parts of a credit memo. A credit memo can consist\
        \ of an unapplied part, and several parts applied to invoices and debit memos.\
        \ You can use this operation to get all the applied and unapplied portions\
        \ of a credit memo.\n"
      summary: Get credit memo parts
      operationId: GET_CreditMemoParts
      tags:
      - Credit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              parts:
              - id: 4028905f5a890526015a8d77adea0029
                invoiceId: null
                debitMemoId: null
                amount: 3.66
                createdDate: '2017-03-02 13:21:55'
                createdById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2017-03-02 13:21:55'
                updatedById: 402881e522cf4f9b0122cf5d82860002
              success: true
          schema:
            $ref: '#/definitions/GETCreditMemoPartsCollectionType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - type: string
        in: path
        name: creditMemoId
        description: 'The unique ID of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.

          '
        required: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/creditmemos/{creditMemoId}/parts"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/creditmemos/{creditMemoId}/parts');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/parts")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/creditmemos/{creditMemoId}/parts", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/parts")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/parts");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/creditmemos/{creditMemoId}/parts/{partid}:
    get:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nRetrieves the\
        \ information about a specific credit memo part. A credit memo can consist\
        \ of an unapplied part, and several parts applied to invoices and debit memos.\n"
      summary: Get credit memo part
      operationId: GET_CreditMemoPart
      tags:
      - Credit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 4028905f5a890526015a8d9adeb30059
              invoiceId: 4028905f5a87c0ff015a87d3f8f10043
              debitMemoId: null
              amount: 1
              createdDate: '2017-03-02 14:00:21'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-02 14:00:21'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              success: true
          schema:
            $ref: '#/definitions/GETCreditMemoPartType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: partid
        description: 'The unique ID of a specific credit memo part. You can get the
          credit memo part ID from the response of [Get credit memo parts](https://www.zuora.com/developer/api-reference/#operation/GET_CreditMemoParts).

          '
        required: true
      - type: string
        in: path
        name: creditMemoId
        description: 'The unique ID of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.

          '
        required: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/creditmemos/{creditMemoId}/parts/{partid}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/creditmemos/{creditMemoId}/parts/{partid}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/parts/{partid}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/creditmemos/{creditMemoId}/parts/{partid}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/parts/{partid}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/parts/{partid}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/creditmemos/{creditMemoId}/parts/{partid}/itemparts:
    get:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nRetrieves the\
        \ information about all items of a credit memo part. A credit memo part item\
        \ is a single line item in a credit memo part. A credit memo part can consist\
        \ of several different types of items.\n"
      summary: Get credit memo part items
      operationId: GET_CreditMemoItemParts
      tags:
      - Credit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              itemParts:
              - id: 4028905f5a890526015a8d77ae01002c
                amount: 2.1
                creditMemoItemId: 4028905f5a890526015a8d73f74b0016
                creditTaxItemId: null
                invoiceItemId: null
                debitMemoItemId: null
                taxItemId: null
                createdDate: '2017-03-02 13:21:55'
                createdById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2017-03-02 13:47:20'
                updatedById: 402881e522cf4f9b0122cf5d82860002
              - id: 4028905f5a890526015a8d77ae02002e
                amount: 0.05
                creditMemoItemId: null
                creditTaxItemId: 4028905f5a890526015a8d73f90c0018
                invoiceItemId: null
                debitMemoItemId: null
                taxItemId: null
                createdDate: '2017-03-02 13:21:55'
                createdById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2017-03-02 13:47:20'
                updatedById: 402881e522cf4f9b0122cf5d82860002
              - id: 4028905f5a890526015a8d77ae030030
                amount: 0.51
                creditMemoItemId: null
                creditTaxItemId: 4028905f5a890526015a8d73f90c0019
                invoiceItemId: null
                debitMemoItemId: null
                taxItemId: null
                createdDate: '2017-03-02 13:21:55'
                createdById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2017-03-02 13:21:55'
                updatedById: 402881e522cf4f9b0122cf5d82860002
              success: true
          schema:
            $ref: '#/definitions/GETCreditMemoItemPartsCollectionType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - type: string
        in: path
        name: partid
        description: 'The unique ID of a specific credit memo part. You can get the
          credit memo part ID from the response of [Get credit memo parts](https://www.zuora.com/developer/api-reference/#operation/GET_CreditMemoParts).
          .

          '
        required: true
      - type: string
        in: path
        name: creditMemoId
        description: 'The unique ID of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.

          '
        required: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/creditmemos/{creditMemoId}/parts/{partid}/itemparts"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/creditmemos/{creditMemoId}/parts/{partid}/itemparts');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/parts/{partid}/itemparts")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/creditmemos/{creditMemoId}/parts/{partid}/itemparts", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/parts/{partid}/itemparts")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/parts/{partid}/itemparts");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/creditmemos/{creditMemoId}/parts/{partid}/itemparts/{itempartid}:
    get:
      description: |
        **Note:** The Invoice Settlement feature is in **Limited Availability**. This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

        Retrieves the information about a specific credit memo part item.  A credit memo part item is a single line item in a credit memo part. A credit memo part can consist of several different types of items.
      summary: Get credit memo part item
      operationId: GET_CreditMemoItemPart
      tags:
      - Credit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 4028905f5a890526015a8d9adeb5005c
              amount: 0.9
              creditMemoItemId: 4028905f5a890526015a8d73f74b0016
              creditTaxItemId: null
              invoiceItemId: 4028905f5a87c0ff015a87d3f90c0045
              debitMemoItemId: null
              taxItemId: null
              createdDate: '2017-03-02 14:00:21'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-02 14:00:21'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              success: true
          schema:
            $ref: '#/definitions/GETCreditMemoItemPartType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: partid
        description: 'The unique ID of a specific credit memo part. You can get the
          credit memo part ID from the response of [Get credit memo parts](https://www.zuora.com/developer/api-reference/#operation/GET_CreditMemoParts).

          '
        required: true
      - type: string
        in: path
        name: itempartid
        description: 'The unique ID of a specific credit memo part item. You can get
          the credit memo part item ID from the response of [Get credit memo part
          items](https://www.zuora.com/developer/api-reference/#operation/GET_CreditMemoItemParts).

          '
        required: true
      - type: string
        in: path
        name: creditMemoId
        description: 'The unique ID of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.

          '
        required: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/creditmemos/{creditMemoId}/parts/{partid}/itemparts/{itempartid}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/creditmemos/{creditMemoId}/parts/{partid}/itemparts/{itempartid}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/parts/{partid}/itemparts/{itempartid}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/creditmemos/{creditMemoId}/parts/{partid}/itemparts/{itempartid}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/parts/{partid}/itemparts/{itempartid}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/parts/{partid}/itemparts/{itempartid}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/creditmemos/{creditMemoId}/pdfs:
    post:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nCreates a PDF\
        \ file for a specified credit memo. To access the generated PDF file, you\
        \ can download it by clicking **View PDF** on the detailed credit memo page\
        \ through the Zuora UI.\n\nThis REST API operation can be used only if you\
        \ have the Billing user permission \"Regenerate PDF\" enabled.\n"
      summary: Create credit memo PDF
      operationId: POST_CreditMemoPDF
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: creditMemoId
        in: path
        description: 'The unique ID of the credit memo that you want to create a PDF
          file for. For example, 8a8082e65b27f6c3015ba45ff82c7172.

          '
        required: true
        type: string
      tags:
      - Credit Memos
      responses:
        200:
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/POSTMemoPdfResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X POST -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/creditmemos/{creditMemoId}/pdfs"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/creditmemos/{creditMemoId}/pdfs');
          $request->setMethod(HTTP_METH_POST);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/pdfs")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/creditmemos/{creditMemoId}/pdfs", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/pdfs")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/pdfs");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/creditmemos/{creditMemoId}/post:
    put:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nPosts a credit\
        \ memo to activate it. You can post credit memos only if you have the [Billing\
        \ permissions](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/d_Billing_Roles#Billing_Permissions).\n"
      summary: Post credit memo
      operationId: PUT_PostCreditMemo
      tags:
      - Credit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 402890555a7e9791015a879f064a0054
              number: CM00000012
              accountId: 402890555a7e9791015a7f15fe44001c
              currency: USD
              creditMemoDate: '2017-03-01'
              targetDate: null
              postedById: 402881e522cf4f9b0122cf5d82860002
              postedOn: '2017-03-01 14:28:06'
              status: Posted
              amount: 3.1
              taxAmount: 0.1
              totalTaxExemptAmount: 0
              unappliedAmount: 3.1
              refundAmount: 0
              appliedAmount: 0
              comment: ''
              source: API
              sourceId: null
              referredInvoiceId: 402890555a7e9791015a7f1756aa0035
              reasonCode: Correcting invoice error
              createdDate: '2017-03-01 10:07:10'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 14:28:06'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              cancelledOn: null
              cancelledById: null
              latestPDFFileId: null
              transferredToAccounting: 'No'
              excludeFromAutoApplyRules: false
              autoApplyUponPosting: false
              taxStatus: null
              taxMessage: null
              success: true
          schema:
            $ref: '#/definitions/GETCreditMemoType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: creditMemoId
        description: 'The unique ID of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.

          '
        required: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/creditmemos/{creditMemoId}/post"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/creditmemos/{creditMemoId}/post');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/post")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/creditmemos/{creditMemoId}/post", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/post")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/post");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/creditmemos/{creditmemoId}/refunds:
    post:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nRefunds a full\
        \ or partial posted credit memo to your customers. Only the amount of unapplied\
        \ part could be refunded. \n\nYou can refund a credit memo only if you have\
        \ the user permission. See [Billing Roles](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/d_Billing_Roles)\
        \ for more information.\n"
      summary: Refund credit memo
      operationId: POST_RefundCreditMemo
      tags:
      - Credit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 4028905f5a890526015a8d7af4280039
              number: R-00000002
              status: Processed
              type: External
              methodType: CreditCard
              accountId: 4028905f5a87c0ff015a87d25ae90025
              amount: 7.1
              refundDate: '2017-03-02'
              comment: null
              paymentMethodId: null
              paymentMethodSnapshotId: null
              paymentId: null
              creditMemoId: 4028905f5a890526015a8d73f73d0015
              reasonCode: Standard Refund
              gatewayId: null
              gatewayResponse: null
              gatewayResponseCode: null
              gatewayState: NotSubmitted
              markedForSubmissionOn: null
              referenceId: null
              secondRefundReferenceId: null
              softDescriptor: null
              softDescriptorPhone: null
              submittedOn: null
              settledOn: null
              cancelledOn: null
              createdDate: '2017-03-02 13:25:29'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-02 13:25:29'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              refundTransactionTime: null
              financeInformation:
                bankAccountAccountingCode: null
                bankAccountAccountingCodeType: null
                unappliedPaymentAccountingCode: null
                unappliedPaymentAccountingCodeType: null
                onAccountAccountingCode: null
                onAccountAccountingCodeType: null
                transferredToAccounting: 'No'
              success: true
          schema:
            $ref: '#/definitions/GETRefundCreditMemoType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/PostNonRefRefundType'
      - type: string
        in: path
        name: creditmemoId
        description: 'The unique ID of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.

          '
        required: true
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"items\": [\n      \
          \  {\n            \"amount\": 7, \n            \"creditMemoItemId\": \"\
          4028905f5a890526015a8d73f74b0016\"\n        }, \n        {\n           \
          \ \"amount\": 0.1, \n            \"creditTaxItemId\": \"4028905f5a890526015a8d73f90c0018\"\
          \n        }\n    ], \n    \"methodType\": \"CreditCard\", \n    \"refundDate\"\
          : \"2017-03-02\", \n    \"totalAmount\": 7.1, \n    \"type\": \"External\"\
          \n}' \"https://rest.zuora.com/v1/creditmemos/{creditmemoId}/refunds\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/creditmemos/{creditmemoId}/refunds');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"items\": [\n        {\n            \"\
          amount\": 7, \n            \"creditMemoItemId\": \"4028905f5a890526015a8d73f74b0016\"\
          \n        }, \n        {\n            \"amount\": 0.1, \n            \"\
          creditTaxItemId\": \"4028905f5a890526015a8d73f90c0018\"\n        }\n   \
          \ ], \n    \"methodType\": \"CreditCard\", \n    \"refundDate\": \"2017-03-02\"\
          , \n    \"totalAmount\": 7.1, \n    \"type\": \"External\"\n}');\n\ntry\
          \ {\n  $response = $request->send();\n\n  echo $response->getBody();\n}\
          \ catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"items\": [\n        {\n            \"amount\": 7, \n            \"creditMemoItemId\": \"4028905f5a890526015a8d73f74b0016\"\n        }, \n        {\n            \"amount\": 0.1, \n            \"creditTaxItemId\": \"4028905f5a890526015a8d73f90c0018\"\n        }\n    ], \n    \"methodType\": \"CreditCard\", \n    \"refundDate\": \"2017-03-02\", \n    \"totalAmount\": 7.1, \n    \"type\": \"External\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/creditmemos/{creditmemoId}/refunds")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"items\": [\n        {\n            \"amount\": 7, \n            \"creditMemoItemId\": \"4028905f5a890526015a8d73f74b0016\"\n        }, \n        {\n            \"amount\": 0.1, \n            \"creditTaxItemId\": \"4028905f5a890526015a8d73f90c0018\"\n        }\n    ], \n    \"methodType\": \"CreditCard\", \n    \"refundDate\": \"2017-03-02\", \n    \"totalAmount\": 7.1, \n    \"type\": \"External\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/creditmemos/{creditmemoId}/refunds", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/creditmemos/{creditmemoId}/refunds")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"items\": [\n        {\n            \"amount\": 7, \n            \"creditMemoItemId\": \"4028905f5a890526015a8d73f74b0016\"\n        }, \n        {\n            \"amount\": 0.1, \n            \"creditTaxItemId\": \"4028905f5a890526015a8d73f90c0018\"\n        }\n    ], \n    \"methodType\": \"CreditCard\", \n    \"refundDate\": \"2017-03-02\", \n    \"totalAmount\": 7.1, \n    \"type\": \"External\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/creditmemos/{creditmemoId}/refunds");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"items\": [\n        {\n            \"amount\": 7, \n            \"creditMemoItemId\": \"4028905f5a890526015a8d73f74b0016\"\n        }, \n        {\n            \"amount\": 0.1, \n            \"creditTaxItemId\": \"4028905f5a890526015a8d73f90c0018\"\n        }\n    ], \n    \"methodType\": \"CreditCard\", \n    \"refundDate\": \"2017-03-02\", \n    \"totalAmount\": 7.1, \n    \"type\": \"External\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/creditmemos/{creditMemoId}/taxationitems:
    post:
      description: |
        **Note:** This feature is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

        Creates taxation items for a credit memo.
      summary: Create taxation items for credit memo
      operationId: POST_CM_TaxationItems
      tags:
      - Credit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              taxationItems:
              - createdById: 402881e522cf4f9b0122cf5d82860002
                createdDate: '2017-03-01 10:08:43'
                exemptAmount: 0
                id: 402890555a7e9791015a87a072880062
                memoItemId: 402890555a7e9791015a879f064d0055
                sourceTaxItemId: 402890555a7d4022015a7db254e200c1
                jurisdiction: CALIFORNIA
                locationCode: '06'
                name: STATE TAX
                taxAmount: 0.1
                taxCode: ServiceTaxCode
                taxCodeDescription: This is tax code description!
                taxDate: '2016-09-30'
                taxRate: 0.0625
                taxRateDescription: This is tax rate description!
                taxRateType: Percentage
                updatedById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2017-03-01 10:08:43'
                financeInformation:
                  onAccountAccountingCode: Check
                  onAccountAccountingCodeType: Cash
                  salesTaxPayableAccountingCode: Check
                  salesTaxPayableAccountingCodeType: Cash
              success: true
          schema:
            $ref: '#/definitions/GETTaxationItemListType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: creditMemoId
        required: true
        description: 'The unique ID of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.

          '
      - name: body
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTTaxationItemListForCMType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"taxationItems\": [\n\
          \        {\n            \"exemptAmount\": 0.0, \n            \"financeInformation\"\
          : {\n                \"onAccountAccountingCode\": \"Check\", \n        \
          \        \"salesTaxPayableAccountingCode\": \"Check\"\n            }, \n\
          \            \"jurisdiction\": \"CALIFORNIA\", \n            \"locationCode\"\
          : \"06\", \n            \"memoItemId\": \"402890555a7e9791015a879f064d0055\"\
          , \n            \"name\": \"STATE TAX\", \n            \"sourceTaxItemId\"\
          : \"402890555a7d4022015a7db254e200c1\", \n            \"taxAmount\": 0.1,\
          \ \n            \"taxCode\": \"ServiceTaxCode\", \n            \"taxCodeDescription\"\
          : \"This is tax code description!\", \n            \"taxDate\": \"2016-09-30\"\
          , \n            \"taxRate\": 0.0625, \n            \"taxRateDescription\"\
          : \"This is tax rate description!\", \n            \"taxRateType\": \"Percentage\"\
          \n        }\n    ]\n}' \"https://rest.zuora.com/v1/creditmemos/{creditMemoId}/taxationitems\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/creditmemos/{creditMemoId}/taxationitems');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"taxationItems\": [\n        {\n     \
          \       \"exemptAmount\": 0.0, \n            \"financeInformation\": {\n\
          \                \"onAccountAccountingCode\": \"Check\", \n            \
          \    \"salesTaxPayableAccountingCode\": \"Check\"\n            }, \n   \
          \         \"jurisdiction\": \"CALIFORNIA\", \n            \"locationCode\"\
          : \"06\", \n            \"memoItemId\": \"402890555a7e9791015a879f064d0055\"\
          , \n            \"name\": \"STATE TAX\", \n            \"sourceTaxItemId\"\
          : \"402890555a7d4022015a7db254e200c1\", \n            \"taxAmount\": 0.1,\
          \ \n            \"taxCode\": \"ServiceTaxCode\", \n            \"taxCodeDescription\"\
          : \"This is tax code description!\", \n            \"taxDate\": \"2016-09-30\"\
          , \n            \"taxRate\": 0.0625, \n            \"taxRateDescription\"\
          : \"This is tax rate description!\", \n            \"taxRateType\": \"Percentage\"\
          \n        }\n    ]\n}');\n\ntry {\n  $response = $request->send();\n\n \
          \ echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"taxationItems\": [\n        {\n            \"exemptAmount\": 0.0, \n            \"financeInformation\": {\n                \"onAccountAccountingCode\": \"Check\", \n                \"salesTaxPayableAccountingCode\": \"Check\"\n            }, \n            \"jurisdiction\": \"CALIFORNIA\", \n            \"locationCode\": \"06\", \n            \"memoItemId\": \"402890555a7e9791015a879f064d0055\", \n            \"name\": \"STATE TAX\", \n            \"sourceTaxItemId\": \"402890555a7d4022015a7db254e200c1\", \n            \"taxAmount\": 0.1, \n            \"taxCode\": \"ServiceTaxCode\", \n            \"taxCodeDescription\": \"This is tax code description!\", \n            \"taxDate\": \"2016-09-30\", \n            \"taxRate\": 0.0625, \n            \"taxRateDescription\": \"This is tax rate description!\", \n            \"taxRateType\": \"Percentage\"\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/taxationitems")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"taxationItems\": [\n        {\n            \"exemptAmount\": 0.0, \n            \"financeInformation\": {\n                \"onAccountAccountingCode\": \"Check\", \n                \"salesTaxPayableAccountingCode\": \"Check\"\n            }, \n            \"jurisdiction\": \"CALIFORNIA\", \n            \"locationCode\": \"06\", \n            \"memoItemId\": \"402890555a7e9791015a879f064d0055\", \n            \"name\": \"STATE TAX\", \n            \"sourceTaxItemId\": \"402890555a7d4022015a7db254e200c1\", \n            \"taxAmount\": 0.1, \n            \"taxCode\": \"ServiceTaxCode\", \n            \"taxCodeDescription\": \"This is tax code description!\", \n            \"taxDate\": \"2016-09-30\", \n            \"taxRate\": 0.0625, \n            \"taxRateDescription\": \"This is tax rate description!\", \n            \"taxRateType\": \"Percentage\"\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/creditmemos/{creditMemoId}/taxationitems", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/taxationitems")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"taxationItems\": [\n        {\n            \"exemptAmount\": 0.0, \n            \"financeInformation\": {\n                \"onAccountAccountingCode\": \"Check\", \n                \"salesTaxPayableAccountingCode\": \"Check\"\n            }, \n            \"jurisdiction\": \"CALIFORNIA\", \n            \"locationCode\": \"06\", \n            \"memoItemId\": \"402890555a7e9791015a879f064d0055\", \n            \"name\": \"STATE TAX\", \n            \"sourceTaxItemId\": \"402890555a7d4022015a7db254e200c1\", \n            \"taxAmount\": 0.1, \n            \"taxCode\": \"ServiceTaxCode\", \n            \"taxCodeDescription\": \"This is tax code description!\", \n            \"taxDate\": \"2016-09-30\", \n            \"taxRate\": 0.0625, \n            \"taxRateDescription\": \"This is tax rate description!\", \n            \"taxRateType\": \"Percentage\"\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/taxationitems");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"taxationItems\": [\n        {\n            \"exemptAmount\": 0.0, \n            \"financeInformation\": {\n                \"onAccountAccountingCode\": \"Check\", \n                \"salesTaxPayableAccountingCode\": \"Check\"\n            }, \n            \"jurisdiction\": \"CALIFORNIA\", \n            \"locationCode\": \"06\", \n            \"memoItemId\": \"402890555a7e9791015a879f064d0055\", \n            \"name\": \"STATE TAX\", \n            \"sourceTaxItemId\": \"402890555a7d4022015a7db254e200c1\", \n            \"taxAmount\": 0.1, \n            \"taxCode\": \"ServiceTaxCode\", \n            \"taxCodeDescription\": \"This is tax code description!\", \n            \"taxDate\": \"2016-09-30\", \n            \"taxRate\": 0.0625, \n            \"taxRateDescription\": \"This is tax rate description!\", \n            \"taxRateType\": \"Percentage\"\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/creditmemos/{creditMemoId}/unapply:
    put:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/).\n\nUnapplies an applied\
        \ credit memo from one or more invoices and debit memos. The full applied\
        \ amount from invoices and debit memos is transferred into the unapplied amount\
        \ of the credit memo. \n\nYou can unapply a credit memo from an invoice or\
        \ a debit memo only if you have the user permission. See [Billing Roles](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/d_Billing_Roles)\
        \ for more information.\n\nWhen unapplying a credit memo, the total number\
        \ of invoices and debit memos that the credit memo will be unapplied from\
        \ must be less than or equal to 1,000.\n\nIf the Proration application rule\
        \ is used, when unapplying credit memos, the following quantity must be less\
        \ than or equal to 10,000: \n\n(number of invoice items + number of debit\
        \ memo items) * number of credit memo items\n\nOtherwise, the First In First\
        \ Out rule will be used instead of the Proration rule.\n"
      summary: Unapply credit memo
      operationId: PUT_UnapplyCreditMemo
      tags:
      - Credit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 4028905f5a890526015a8d73f73d0015
              number: CM00000001
              accountId: 4028905f5a87c0ff015a87d25ae90025
              currency: USD
              creditMemoDate: '2017-03-02'
              targetDate: null
              postedById: 402881e522cf4f9b0122cf5d82860002
              postedOn: '2017-03-02 13:21:55'
              status: Posted
              amount: 10.76
              taxAmount: 0.76
              totalTaxExemptAmount: 0
              unappliedAmount: 3.66
              refundAmount: 7.1
              appliedAmount: 0
              comment: ''
              source: AdhocFromPrpc
              sourceId: null
              referredInvoiceId: 4028905f5a87c0ff015a87d3f8f10043
              reasonCode: Correcting invoice error
              createdDate: '2017-03-02 13:17:51'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-02 13:25:29'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              cancelledOn: null
              cancelledById: null
              latestPDFFileId: 4028905f5a890526015a8d77af600036
              transferredToAccounting: 'No'
              excludeFromAutoApplyRules: true
              autoApplyUponPosting: false
              taxStatus: null
              taxMessage: null
              success: true
          schema:
            $ref: '#/definitions/GETCreditMemoType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/UnapplyCreditMemoType'
      - type: string
        in: path
        name: creditMemoId
        description: 'The unique ID of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.

          '
        required: true
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"effectiveDate\": \"\
          2017-03-02\", \n    \"invoices\": [\n        {\n            \"amount\":\
          \ 1, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\",\
          \ \n            \"items\": [\n                {\n                    \"\
          amount\": 0.9, \n                    \"creditMemoItemId\": \"4028905f5a890526015a8d73f74b0016\"\
          , \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\
          \n                }, \n                {\n                    \"amount\"\
          : 0.1, \n                    \"creditTaxItemId\": \"4028905f5a890526015a8d73f90c0018\"\
          , \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\
          \n                }\n            ]\n        }\n    ]\n}' \"https://rest.zuora.com/v1/creditmemos/{creditMemoId}/unapply\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/creditmemos/{creditMemoId}/unapply');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"effectiveDate\": \"2017-03-02\", \n \
          \   \"invoices\": [\n        {\n            \"amount\": 1, \n          \
          \  \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\", \n            \"\
          items\": [\n                {\n                    \"amount\": 0.9, \n \
          \                   \"creditMemoItemId\": \"4028905f5a890526015a8d73f74b0016\"\
          , \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\
          \n                }, \n                {\n                    \"amount\"\
          : 0.1, \n                    \"creditTaxItemId\": \"4028905f5a890526015a8d73f90c0018\"\
          , \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\
          \n                }\n            ]\n        }\n    ]\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"effectiveDate\": \"2017-03-02\", \n    \"invoices\": [\n        {\n            \"amount\": 1, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\", \n            \"items\": [\n                {\n                    \"amount\": 0.9, \n                    \"creditMemoItemId\": \"4028905f5a890526015a8d73f74b0016\", \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\n                }, \n                {\n                    \"amount\": 0.1, \n                    \"creditTaxItemId\": \"4028905f5a890526015a8d73f90c0018\", \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\n                }\n            ]\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/unapply")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"effectiveDate\": \"2017-03-02\", \n    \"invoices\": [\n        {\n            \"amount\": 1, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\", \n            \"items\": [\n                {\n                    \"amount\": 0.9, \n                    \"creditMemoItemId\": \"4028905f5a890526015a8d73f74b0016\", \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\n                }, \n                {\n                    \"amount\": 0.1, \n                    \"creditTaxItemId\": \"4028905f5a890526015a8d73f90c0018\", \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\n                }\n            ]\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/creditmemos/{creditMemoId}/unapply", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/unapply")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"effectiveDate\": \"2017-03-02\", \n    \"invoices\": [\n        {\n            \"amount\": 1, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\", \n            \"items\": [\n                {\n                    \"amount\": 0.9, \n                    \"creditMemoItemId\": \"4028905f5a890526015a8d73f74b0016\", \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\n                }, \n                {\n                    \"amount\": 0.1, \n                    \"creditTaxItemId\": \"4028905f5a890526015a8d73f90c0018\", \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\n                }\n            ]\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/unapply");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"effectiveDate\": \"2017-03-02\", \n    \"invoices\": [\n        {\n            \"amount\": 1, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\", \n            \"items\": [\n                {\n                    \"amount\": 0.9, \n                    \"creditMemoItemId\": \"4028905f5a890526015a8d73f74b0016\", \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\n                }, \n                {\n                    \"amount\": 0.1, \n                    \"creditTaxItemId\": \"4028905f5a890526015a8d73f90c0018\", \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\n                }\n            ]\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/creditmemos/{creditMemoId}/unpost:
    put:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nUnposts a credit\
        \ memo that is in Posted status. If a credit memo has been applied or refunded,\
        \ you are not allowed to unpost it. After a credit memo is unposted, its status\
        \ becomes Draft. \n\nYou can unpost credit memos only if you have the [Billing\
        \ permissions](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/d_Billing_Roles#Billing_Permissions).\n"
      summary: Unpost credit memo
      operationId: PUT_UnpostCreditMemo
      tags:
      - Credit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 402890555a7e9791015a879f064a0054
              number: CM00000012
              accountId: 402890555a7e9791015a7f15fe44001c
              currency: USD
              creditMemoDate: '2017-03-01'
              targetDate: null
              postedById: 402881e522cf4f9b0122cf5d82860002
              postedOn: '2017-03-01 14:28:06'
              status: Draft
              amount: 3.1
              taxAmount: 0.1
              totalTaxExemptAmount: 0
              unappliedAmount: 3.1
              refundAmount: 0
              appliedAmount: 0
              comment: ''
              source: API
              sourceId: null
              referredInvoiceId: 402890555a7e9791015a7f1756aa0035
              reasonCode: Correcting invoice error
              createdDate: '2017-03-01 10:07:10'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 14:28:06'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              cancelledOn: null
              cancelledById: null
              latestPDFFileId: null
              transferredToAccounting: 'No'
              excludeFromAutoApplyRules: false
              autoApplyUponPosting: false
              taxStatus: null
              taxMessage: null
              success: true
          schema:
            $ref: '#/definitions/GETCreditMemoType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: creditMemoId
        description: 'The unique ID of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.

          '
        required: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/creditmemos/{creditMemoId}/unpost"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/creditmemos/{creditMemoId}/unpost');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/unpost")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/creditmemos/{creditMemoId}/unpost", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/unpost")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/creditmemos/{creditMemoId}/unpost");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/custom-exchange-rates/{currency}:
    get:
      summary: Get custom foreign currency exchange rates
      operationId: GET_CustomExchangeRates
      description: "This feature is in **Limited Availability**. If you wish to have\
        \ access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).\
        \ \n\nThis reference describes how to query custom foreign exchange rates\
        \ from Zuora. You can use this API method to query exchange rates only if\
        \ you use a custom exchange rate provider and upload rates with the Import\
        \ Foreign Exchange Rates mass action. \n"
      tags:
      - Custom Exchange Rates
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: currency
        in: path
        description: "The target base currency of the tenant. The exchange rates in\
          \ the response are calculated in relation to the target currency.\n\nThe\
          \ value must be a three-letter currency code, for example, USD. \n"
        required: true
        type: string
      - name: startDate
        in: query
        description: |
          Start date of the date range for which you want to get exchange rates.

          The date must be in yyyy-mm-dd format, for example, 2016-01-15. The start date cannot be later than the end date.
        required: true
        type: string
      - name: endDate
        in: query
        description: |
          End date of the date range for which you want to get exchange rates.

          The date must be in yyyy-mm-dd format, for example, 2016-01-16. The end date can be a maximum of 90 days after the start date.
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
              inverse: false
              rates:
                '2019-04-28':
                  providerExchangeRateDate: '2019-04-28'
                  GBP: 1.135239621
                  USD: 0.889028445
                '2019-04-29':
                  providerExchangeRateDate: '2019-04-29'
                  GBP: 1.134623962
                  USD: 0.892140244
                '2019-04-30':
                  providerExchangeRateDate: '2019-04-30'
                  GBP: 1.134589832
                  USD: 0.892243287
          description: ''
          schema:
            $ref: '#/definitions/GETCustomExchangeRatesType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.sandbox.eu.zuora.com/v1/custom-exchange-rates/EUR?startDate=2019-04-28&endDate=2019-04-30"

          '
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/custom-exchange-rates/{currency}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/custom-exchange-rates/{currency}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/custom-exchange-rates/{currency}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/custom-exchange-rates/{currency}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/custom-exchange-rates/{currency}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /objects/definitions/default:
    get:
      summary: Get all custom object definitions
      description: |
        **Note:** The Custom Objects is an **Early Adopter** feature for existing customers. We are improving the product with feedback from early adopters, and aim to make the feature Generally Available soon.

        Get all custom objects definitions for a given tenant.
      operationId: GET_AllCustomObjectDefinitionsInNamespace
      tags:
      - Custom Object Definitions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $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:
            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'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/objects/definitions/default"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/objects/definitions/default');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/objects/definitions/default")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/objects/definitions/default", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/objects/definitions/default")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/objects/definitions/default");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    post:
      summary: Create custom object definition
      operationId: POST_CustomObjectDefinition
      description: "**Note:** The Custom Objects is an **Early Adopter** feature for\
        \ existing customers. We are improving the product with feedback from early\
        \ adopters, and aim to make the feature Generally Available soon.\n\nPost\
        \ custom object definition with the given type.\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\
        \ options is 250.\n* The default maximum number of characters for the Text\
        \ field is 512. You can configure the max length up to 4,096 characters when\
        \ creating or updating the custom object definition via API.\n"
      tags:
      - Custom Object Definitions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $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 definition
        in: body
        required: true
        description: The custom object definition to be created
        schema:
          $ref: '#/definitions/PostCustomObjectDefinitionRequest'
      responses:
        '200':
          description: OK
          headers:
            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'
        '400':
          description: Bad request
          headers:
            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'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"label\": \"Birth Place\
          \ Custom Object\", \n    \"object\": \"birth_place_custom_object\", \n \
          \   \"properties\": {\n        \"city__c\": {\n            \"label\": \"\
          city label\", \n            \"type\": \"string\"\n        }, \n        \"\
          country__c\": {\n            \"label\": \"country label\", \n          \
          \  \"type\": \"string\"\n        }, \n        \"state__c\": {\n        \
          \    \"label\": \"state label\", \n            \"type\": \"string\"\n  \
          \      }\n    }, \n    \"relationships\": [\n        {\n            \"cardinality\"\
          : \"manyToOne\", \n            \"fields\": {\n                \"city__c\"\
          : \"Id\"\n            }, \n            \"namespace\": \"default\", \n  \
          \          \"object\": \"city\"\n        }, \n        {\n            \"\
          cardinality\": \"manyToOne\", \n            \"fields\": {\n            \
          \    \"state__c\": \"Id\"\n            }, \n            \"namespace\": \"\
          default\", \n            \"object\": \"state\"\n        }\n    ], \n   \
          \ \"required\": [\n        \"city__c\", \n        \"state__c\", \n     \
          \   \"country__c\"\n    ], \n    \"type\": \"object\"\n}' \"https://rest.zuora.com/objects/definitions/default\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/objects/definitions/default');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"label\": \"Birth Place Custom Object\"\
          , \n    \"object\": \"birth_place_custom_object\", \n    \"properties\"\
          : {\n        \"city__c\": {\n            \"label\": \"city label\", \n \
          \           \"type\": \"string\"\n        }, \n        \"country__c\": {\n\
          \            \"label\": \"country label\", \n            \"type\": \"string\"\
          \n        }, \n        \"state__c\": {\n            \"label\": \"state label\"\
          , \n            \"type\": \"string\"\n        }\n    }, \n    \"relationships\"\
          : [\n        {\n            \"cardinality\": \"manyToOne\", \n         \
          \   \"fields\": {\n                \"city__c\": \"Id\"\n            }, \n\
          \            \"namespace\": \"default\", \n            \"object\": \"city\"\
          \n        }, \n        {\n            \"cardinality\": \"manyToOne\", \n\
          \            \"fields\": {\n                \"state__c\": \"Id\"\n     \
          \       }, \n            \"namespace\": \"default\", \n            \"object\"\
          : \"state\"\n        }\n    ], \n    \"required\": [\n        \"city__c\"\
          , \n        \"state__c\", \n        \"country__c\"\n    ], \n    \"type\"\
          : \"object\"\n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"label\": \"Birth Place Custom Object\", \n    \"object\": \"birth_place_custom_object\", \n    \"properties\": {\n        \"city__c\": {\n            \"label\": \"city label\", \n            \"type\": \"string\"\n        }, \n        \"country__c\": {\n            \"label\": \"country label\", \n            \"type\": \"string\"\n        }, \n        \"state__c\": {\n            \"label\": \"state label\", \n            \"type\": \"string\"\n        }\n    }, \n    \"relationships\": [\n        {\n            \"cardinality\": \"manyToOne\", \n            \"fields\": {\n                \"city__c\": \"Id\"\n            }, \n            \"namespace\": \"default\", \n            \"object\": \"city\"\n        }, \n        {\n            \"cardinality\": \"manyToOne\", \n            \"fields\": {\n                \"state__c\": \"Id\"\n            }, \n            \"namespace\": \"default\", \n            \"object\": \"state\"\n        }\n    ], \n    \"required\": [\n        \"city__c\", \n        \"state__c\", \n        \"country__c\"\n    ], \n    \"type\": \"object\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/objects/definitions/default")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"label\": \"Birth Place Custom Object\", \n    \"object\": \"birth_place_custom_object\", \n    \"properties\": {\n        \"city__c\": {\n            \"label\": \"city label\", \n            \"type\": \"string\"\n        }, \n        \"country__c\": {\n            \"label\": \"country label\", \n            \"type\": \"string\"\n        }, \n        \"state__c\": {\n            \"label\": \"state label\", \n            \"type\": \"string\"\n        }\n    }, \n    \"relationships\": [\n        {\n            \"cardinality\": \"manyToOne\", \n            \"fields\": {\n                \"city__c\": \"Id\"\n            }, \n            \"namespace\": \"default\", \n            \"object\": \"city\"\n        }, \n        {\n            \"cardinality\": \"manyToOne\", \n            \"fields\": {\n                \"state__c\": \"Id\"\n            }, \n            \"namespace\": \"default\", \n            \"object\": \"state\"\n        }\n    ], \n    \"required\": [\n        \"city__c\", \n        \"state__c\", \n        \"country__c\"\n    ], \n    \"type\": \"object\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/objects/definitions/default", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/objects/definitions/default")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"label\": \"Birth Place Custom Object\", \n    \"object\": \"birth_place_custom_object\", \n    \"properties\": {\n        \"city__c\": {\n            \"label\": \"city label\", \n            \"type\": \"string\"\n        }, \n        \"country__c\": {\n            \"label\": \"country label\", \n            \"type\": \"string\"\n        }, \n        \"state__c\": {\n            \"label\": \"state label\", \n            \"type\": \"string\"\n        }\n    }, \n    \"relationships\": [\n        {\n            \"cardinality\": \"manyToOne\", \n            \"fields\": {\n                \"city__c\": \"Id\"\n            }, \n            \"namespace\": \"default\", \n            \"object\": \"city\"\n        }, \n        {\n            \"cardinality\": \"manyToOne\", \n            \"fields\": {\n                \"state__c\": \"Id\"\n            }, \n            \"namespace\": \"default\", \n            \"object\": \"state\"\n        }\n    ], \n    \"required\": [\n        \"city__c\", \n        \"state__c\", \n        \"country__c\"\n    ], \n    \"type\": \"object\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/objects/definitions/default");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"label\": \"Birth Place Custom Object\", \n    \"object\": \"birth_place_custom_object\", \n    \"properties\": {\n        \"city__c\": {\n            \"label\": \"city label\", \n            \"type\": \"string\"\n        }, \n        \"country__c\": {\n            \"label\": \"country label\", \n            \"type\": \"string\"\n        }, \n        \"state__c\": {\n            \"label\": \"state label\", \n            \"type\": \"string\"\n        }\n    }, \n    \"relationships\": [\n        {\n            \"cardinality\": \"manyToOne\", \n            \"fields\": {\n                \"city__c\": \"Id\"\n            }, \n            \"namespace\": \"default\", \n            \"object\": \"city\"\n        }, \n        {\n            \"cardinality\": \"manyToOne\", \n            \"fields\": {\n                \"state__c\": \"Id\"\n            }, \n            \"namespace\": \"default\", \n            \"object\": \"state\"\n        }\n    ], \n    \"required\": [\n        \"city__c\", \n        \"state__c\", \n        \"country__c\"\n    ], \n    \"type\": \"object\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /objects/definitions/default/{object}:
    get:
      summary: Get custom object definition
      description: |
        **Note:** The Custom Objects is an **Early Adopter** feature for existing customers. We are improving the product with feedback from early adopters, and aim to make the feature Generally Available soon.

        Get the custom object definition by type for the given tenant.
      operationId: GET_CustomObjectDefinitionByType
      tags:
      - Custom Object Definitions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $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:
            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:
            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'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/objects/definitions/default/{object}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/objects/definitions/default/{object}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/objects/definitions/default/{object}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/objects/definitions/default/{object}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/objects/definitions/default/{object}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/objects/definitions/default/{object}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    delete:
      summary: Delete custom object definition
      description: |
        **Note:** The Custom Objects is an **Early Adopter** feature for existing customers. We are improving the product with feedback from early adopters, and aim to make the feature Generally Available soon.

        Delete 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_Zuora_Entity_Ids_Single'
      - $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:
            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
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/objects/definitions/default/{object}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/objects/definitions/default/{object}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/objects/definitions/default/{object}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/objects/definitions/default/{object}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/objects/definitions/default/{object}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/objects/definitions/default/{object}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /objects/migrations:
    post:
      summary: Update custom object definition
      operationId: POST_UpdateCustomObjectDefinition
      description: "**Note:** The Custom Objects is an **Early Adopter** feature for\
        \ existing customers. We are improving the product with feedback from early\
        \ adopters, and aim to make the feature Generally Available soon.\n\nUpdate\
        \ 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_Zuora_Entity_Ids_Single'
      - $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:
            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'
      x-code-samples:
      - lang: Curl
        source: 'curl -X POST -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/objects/migrations"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/objects/migrations');
          $request->setMethod(HTTP_METH_POST);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/objects/migrations")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/objects/migrations", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/objects/migrations")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/objects/migrations");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /objects/records/default/{object}:
    post:
      summary: Create custom object records
      operationId: POST_CustomObjectRecords
      description: "**Note:** The Custom Objects is an **Early Adopter** feature for\
        \ existing customers. We are improving the product with feedback from early\
        \ adopters, and aim to make the feature Generally Available soon.\n\nCreate\
        \ custom object records with the given type. \nUpon creating records of a\
        \ custom object type, the 200 response contains a list of records that have\
        \ been successfully processed and stored.\n\n\n## Limitations \n\nThis call\
        \ has the following limitations:\n* The maximum number of records that you\
        \ can create by one call is 1,000.\n* The storage of empty strings in records\
        \ is not supported.\n* Null values must be formatted as the following example:\
        \ \n  ```\n  {\n    \"records\": [\n      {\n        \"fieldName__c\": null\n\
        \      }\n    ]\n  }\n  ```\n"
      tags:
      - Custom Object Records
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $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.
      - name: custom objects records
        in: body
        required: true
        schema:
          $ref: '#/definitions/PostCustomObjectRecordsRequest'
      responses:
        '200':
          description: OK
          headers:
            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/PostCustomObjectRecordsResponse'
        '400':
          description: Bad request
          headers:
            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: object
            properties:
              code:
                type: integer
                format: int32
                description: 'The error code.

                  '
              message:
                type: string
                description: 'The error message that tells you what invalid data are
                  submitted. For example, data does not match the field types defined
                  on the custom object. When you get the 400 response, the entire
                  payload is rejected. You must correct the error before submitting
                  the payload again.

                  '
          examples:
            application/json:
              code: 400
              message: 'Json input does not match schema. Error(s): instance type
                (string) does not match any allowed primitive type (allowed: ["integer"])'
      x-code-samples:
      - lang: Curl
        source: 'curl -X POST -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/objects/records/default/{object}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/objects/records/default/{object}');
          $request->setMethod(HTTP_METH_POST);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/objects/records/default/{object}")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/objects/records/default/{object}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/objects/records/default/{object}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/objects/records/default/{object}");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      summary: Query custom object records
      description: "**Note:** The Custom Objects is an **Early Adopter** feature for\
        \ existing customers. We are improving the product with feedback from early\
        \ adopters, and aim to make the feature Generally Available soon.\n\nGet all\
        \ object records of the given type. You can also use the `q` query parameter\
        \ to filter the output records.\n\n## Limitations \n\nThis call has the following\
        \ limitations:\n* When a record is created, there will be a delay before it\
        \ is available for search. For example, if you create 5 records and perform\
        \ a query that these 5 records satisfy the query conditions, there will be\
        \ a delay between when the 5 records are created, and when all the 5 records\
        \ can be returned in the query result.\n"
      operationId: GET_AllRecordsForCustomObjectType
      tags:
      - Custom Object Records
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $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.
      - name: q
        description: 'The query string to filter the records of a custom object. See
          the [Query syntax of custom object records](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Data_Model/Custom_object_records/Query_syntax_of_custom_object_records)
          for more information.

          '
        in: query
        required: false
        type: string
      - name: ids
        description: |
          UUIDs of the records to be queried. For example:

          `GET /objects/records/default/passenger?ids=258d65b2-7bc6-4142-88bc-5184931af493&ids=82ecc9f7-b192-4f88-a4a3-4b2af6c750a1`
        in: query
        required: false
        type: string
      - name: pageSize
        description: Page size. The value must be between 1 and 1000.
        in: query
        required: false
        type: integer
      - name: cursor
        description: The `cursor` points to the last record of the previous result
          set. The cursor record is not included in the query result. The call returns
          the first page if `cursor` is not provided and `pageSize` is valid.
        in: query
        required: false
        type: string
      responses:
        '200':
          description: OK
          headers:
            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/QueryCustomObjectRecordsResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/objects/records/default/{object}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/objects/records/default/{object}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/objects/records/default/{object}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/objects/records/default/{object}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/objects/records/default/{object}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/objects/records/default/{object}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /objects/records/default/{object}/{id}:
    get:
      summary: Get custom object record
      description: |
        **Note:** The Custom Objects is an **Early Adopter** feature for existing customers. We are improving the product with feedback from early adopters, and aim to make the feature Generally Available soon.

        Get a record of a given type by ID.
      operationId: GET_CustomObjectRecordByID
      tags:
      - Custom Object Records
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $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.
      - name: id
        in: path
        required: true
        type: string
        format: uuid
        description: Id identifier in uuid form
      responses:
        '200':
          description: OK
          headers:
            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/CustomObjectRecordWithAllFields'
        '404':
          description: Not exist
          headers:
            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'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/objects/records/default/{object}/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/objects/records/default/{object}/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/objects/records/default/{object}/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/objects/records/default/{object}/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/objects/records/default/{object}/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/objects/records/default/{object}/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: Update custom object record
      description: "**Note:** The Custom Objects is an **Early Adopter** feature for\
        \ existing customers. We are improving the product with feedback from early\
        \ adopters, and aim to make the feature Generally Available soon.\n\nUpdate\
        \ a record of the given type and id.\n\n## Limitations \n\n* The storage of\
        \ empty strings in records is not supported.\n* Null values must be formatted\
        \ as the following example: \n  ```\n  {\n    \"records\": [\n      {\n  \
        \      \"fieldName__c\": null\n      }\n    ]\n  }\n  ```\n"
      operationId: PUT_CustomObjectRecord
      tags:
      - Custom Object Records
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth'
      - $ref: '#/parameters/GLOBAL_HEADER_If_Match'
      - 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.
      - name: id
        in: path
        required: true
        type: string
        format: uuid
        description: Id identifier in uuid form
      - name: objectRecordRequest
        in: body
        required: true
        schema:
          $ref: '#/definitions/CustomObjectRecordWithOnlyCustomFields'
      responses:
        '200':
          description: OK
          headers:
            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/CustomObjectRecordWithAllFields'
        '404':
          description: Object record does not exist
          headers:
            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'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"age__c\": 32, \n  \
          \  \"email__c\": \"smith123@example.com\", \n    \"home_address__c\": \"\
          59b38ad1-27d4-40e8-af66-8c138bc382ee\", \n    \"last_name__c\": \"Smith\"\
          , \n    \"marital_status__c\": \"Married\", \n    \"work_address__c\": \"\
          8a19f16a-2b5e-4a26-bb20-c79cd6984714\"\n}' \"https://rest.zuora.com/objects/records/default/{object}/{id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/objects/records/default/{object}/{id}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"age__c\": 32, \n    \"email__c\": \"\
          smith123@example.com\", \n    \"home_address__c\": \"59b38ad1-27d4-40e8-af66-8c138bc382ee\"\
          , \n    \"last_name__c\": \"Smith\", \n    \"marital_status__c\": \"Married\"\
          , \n    \"work_address__c\": \"8a19f16a-2b5e-4a26-bb20-c79cd6984714\"\n\
          }');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"age__c\": 32, \n    \"email__c\": \"smith123@example.com\", \n    \"home_address__c\": \"59b38ad1-27d4-40e8-af66-8c138bc382ee\", \n    \"last_name__c\": \"Smith\", \n    \"marital_status__c\": \"Married\", \n    \"work_address__c\": \"8a19f16a-2b5e-4a26-bb20-c79cd6984714\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/objects/records/default/{object}/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"age__c\": 32, \n    \"email__c\": \"smith123@example.com\", \n    \"home_address__c\": \"59b38ad1-27d4-40e8-af66-8c138bc382ee\", \n    \"last_name__c\": \"Smith\", \n    \"marital_status__c\": \"Married\", \n    \"work_address__c\": \"8a19f16a-2b5e-4a26-bb20-c79cd6984714\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/objects/records/default/{object}/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/objects/records/default/{object}/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"age__c\": 32, \n    \"email__c\": \"smith123@example.com\", \n    \"home_address__c\": \"59b38ad1-27d4-40e8-af66-8c138bc382ee\", \n    \"last_name__c\": \"Smith\", \n    \"marital_status__c\": \"Married\", \n    \"work_address__c\": \"8a19f16a-2b5e-4a26-bb20-c79cd6984714\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/objects/records/default/{object}/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"age__c\": 32, \n    \"email__c\": \"smith123@example.com\", \n    \"home_address__c\": \"59b38ad1-27d4-40e8-af66-8c138bc382ee\", \n    \"last_name__c\": \"Smith\", \n    \"marital_status__c\": \"Married\", \n    \"work_address__c\": \"8a19f16a-2b5e-4a26-bb20-c79cd6984714\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    patch:
      summary: Update individual fields in a custom object record
      consumes:
      - application/merge-patch+json
      operationId: Patch_PartialUpdateCustomObjectRecord
      description: "**Note:** The Custom Objects is an **Early Adopter** feature for\
        \ existing customers. We are improving the product with feedback from early\
        \ adopters, and aim to make the feature Generally Available soon.\n\nUpdate\
        \ one or many fields of a custom object record. Patch update uses JSON Merge\
        \ Patch as specified in [RFC 7386](https://tools.ietf.org/html/rfc7386).\n\
        \n## Limitations \n\n* The storage of empty strings in records is not supported.\n\
        * Null values must be formatted as the following example: \n  ```\n  {\n \
        \   \"records\": [\n      {\n        \"fieldName__c\": null\n      }\n   \
        \ ]\n  }\n  ```\n"
      tags:
      - Custom Object Records
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $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.
      - name: id
        in: path
        required: true
        type: string
        format: uuid
        description: Id identifier in uuid form
      - name: objectRecordPatchRequest
        in: body
        required: true
        schema:
          $ref: '#/definitions/CustomObjectRecordWithOnlyCustomFields'
      responses:
        '200':
          description: OK
          headers:
            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/CustomObjectRecordWithAllFields'
        '404':
          description: Object record does not exist
          headers:
            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'
      x-code-samples: []
    delete:
      summary: Delete custom object record
      description: "**Note:** The Custom Objects is an **Early Adopter** feature for\
        \ existing customers. We are improving the product with feedback from early\
        \ adopters, and aim to make the feature Generally Available soon.\n\nDelete\
        \ a custom object record of the given type and id.\nNote that 200 response\
        \ will be returned under either of the following conditions:\n* The record\
        \ is identified and successfully deleted\n* The record could not be found\n\
        \nNote that\_the record is deleted immediately and, therefore, will not be\
        \ retained upon successful deletion.\n"
      operationId: Delete_CustomObjectRecordByID
      tags:
      - Custom Object Records
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $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.
      - name: id
        in: path
        required: true
        type: string
        format: uuid
        description: Id identifier in uuid form
      responses:
        '200':
          description: OK
          headers:
            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 record
            format: uri
            example: /objects/records/default/test_custom_object/3a437f0b-fa7a-45bf-a9a5-2187a5a13ec0
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/objects/records/default/{object}/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/objects/records/default/{object}/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/objects/records/default/{object}/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/objects/records/default/{object}/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/objects/records/default/{object}/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/objects/records/default/{object}/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /objects/batch/default/{object}:
    post:
      summary: Update or delete custom object records as a batch
      operationId: POST_CustomObjectRecordsBatchUpdateOrDelete
      description: "**Note:** The Custom Objects is an **Early Adopter** feature for\
        \ existing customers. We are improving the product with feedback from early\
        \ adopters, and aim to make the feature Generally Available soon.\n\nMake\
        \ a batch update or delete of custom object records.\n## Limitations \n\n\
        This call has the following limitations:\n* The maximum number of records\
        \ that you can update by one call is 1,000.\n* The maximum number of records\
        \ that you can delete by one call is 1,000.\n* The storage of empty strings\
        \ in records is not supported.\n* Null values must be formatted as the following\
        \ example: \n  ```\n  {\n    \"records\": [\n      {\n        \"fieldName__c\"\
        : null\n      }\n    ]\n  }\n  ```\n"
      tags:
      - Custom Object Records
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $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.
      - name: CustomObjectRecordBatchRequest
        in: body
        required: true
        schema:
          $ref: '#/definitions/CustomObjectRecordBatchRequest'
      responses:
        '200':
          description: OK
          headers:
            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/CustomObjectRecordBatchResponse'
        '400':
          description: Bad request
          headers:
            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'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"action\": {\n     \
          \   \"records\": {\n            \"64edb2a5-2796-4e95-9559-846f8636a01b\"\
          : {\n                \"name__c\": \"elba43\", \n                \"person_id__c\"\
          : \"30c52793-8f06-41c6-b623-04829710d7a\"\n            }\n        }, \n\
          \        \"type\": \"update\"\n    }\n}' \"https://rest.zuora.com/objects/batch/default/{object}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/objects/batch/default/{object}');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"action\": {\n        \"records\": {\n\
          \            \"64edb2a5-2796-4e95-9559-846f8636a01b\": {\n             \
          \   \"name__c\": \"elba43\", \n                \"person_id__c\": \"30c52793-8f06-41c6-b623-04829710d7a\"\
          \n            }\n        }, \n        \"type\": \"update\"\n    }\n}');\n\
          \ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"action\": {\n        \"records\": {\n            \"64edb2a5-2796-4e95-9559-846f8636a01b\": {\n                \"name__c\": \"elba43\", \n                \"person_id__c\": \"30c52793-8f06-41c6-b623-04829710d7a\"\n            }\n        }, \n        \"type\": \"update\"\n    }\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/objects/batch/default/{object}")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"action\": {\n        \"records\": {\n            \"64edb2a5-2796-4e95-9559-846f8636a01b\": {\n                \"name__c\": \"elba43\", \n                \"person_id__c\": \"30c52793-8f06-41c6-b623-04829710d7a\"\n            }\n        }, \n        \"type\": \"update\"\n    }\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/objects/batch/default/{object}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/objects/batch/default/{object}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"action\": {\n        \"records\": {\n            \"64edb2a5-2796-4e95-9559-846f8636a01b\": {\n                \"name__c\": \"elba43\", \n                \"person_id__c\": \"30c52793-8f06-41c6-b623-04829710d7a\"\n            }\n        }, \n        \"type\": \"update\"\n    }\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/objects/batch/default/{object}");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"action\": {\n        \"records\": {\n            \"64edb2a5-2796-4e95-9559-846f8636a01b\": {\n                \"name__c\": \"elba43\", \n                \"person_id__c\": \"30c52793-8f06-41c6-b623-04829710d7a\"\n            }\n        }, \n        \"type\": \"update\"\n    }\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /query/jobs:
    post:
      operationId: POST_DataQueryJob
      summary: Submit data query
      description: 'Submits a [data query](https://knowledgecenter.zuora.com/DC_Developers/BA_Data_Query)
        to be performed by Zuora and creates a query job. You can use [Get data query
        job](#operation/GET_DataQueryJob) to track the status of the query job and
        obtain the URL of the query results.

        '
      tags:
      - Data Queries
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: body
        in: body
        required: true
        description: ''
        schema:
          $ref: '#/definitions/SubmitDataQueryRequest'
      responses:
        '200':
          description: OK
          headers:
            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/SubmitDataQueryResponse'
          examples:
            application/json:
              data:
                id: 3a3e85c4-96e7-486b-ae02-827120104301
                query: SELECT accountnumber, balance FROM Account WHERE Account.balance
                  > 100
                queryStatus: accepted
                remainingRetries: 3
                updatedOn: '2018-08-17T13:14:18.204Z'
        '400':
          description: Bad Request
          headers:
            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/DataQueryErrorResponse'
          examples:
            application/json:
              code: 400
              message: Unable to process JSON
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"compression\": \"NONE\"\
          , \n    \"output\": {\n        \"target\": \"S3\"\n    }, \n    \"outputFormat\"\
          : \"JSON\", \n    \"query\": \"SELECT accountnumber, balance FROM Account\
          \ WHERE Account.balance > 100\"\n}' \"https://rest.zuora.com/query/jobs\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/query/jobs');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"compression\": \"NONE\", \n    \"output\"\
          : {\n        \"target\": \"S3\"\n    }, \n    \"outputFormat\": \"JSON\"\
          , \n    \"query\": \"SELECT accountnumber, balance FROM Account WHERE Account.balance\
          \ > 100\"\n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"compression\": \"NONE\", \n    \"output\": {\n        \"target\": \"S3\"\n    }, \n    \"outputFormat\": \"JSON\", \n    \"query\": \"SELECT accountnumber, balance FROM Account WHERE Account.balance > 100\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/query/jobs")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"compression\": \"NONE\", \n    \"output\": {\n        \"target\": \"S3\"\n    }, \n    \"outputFormat\": \"JSON\", \n    \"query\": \"SELECT accountnumber, balance FROM Account WHERE Account.balance > 100\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/query/jobs", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/query/jobs")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"compression\": \"NONE\", \n    \"output\": {\n        \"target\": \"S3\"\n    }, \n    \"outputFormat\": \"JSON\", \n    \"query\": \"SELECT accountnumber, balance FROM Account WHERE Account.balance > 100\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/query/jobs");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"compression\": \"NONE\", \n    \"output\": {\n        \"target\": \"S3\"\n    }, \n    \"outputFormat\": \"JSON\", \n    \"query\": \"SELECT accountnumber, balance FROM Account WHERE Account.balance > 100\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      operationId: GET_DataQueryJobs
      summary: Get data query jobs
      description: 'Returns a list of [data query](https://knowledgecenter.zuora.com/DC_Developers/BA_Data_Query)
        jobs that have been created in your Zuora tenant. You can filter the list
        by status.

        '
      tags:
      - Data Queries
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: queryStatus
        in: query
        required: false
        type: string
        enum:
        - accepted
        - in_progress
        - completed
        - failed
        - cancelled
        description: 'Filters the list of query jobs by status.

          '
      - name: pageSize
        in: query
        required: false
        type: integer
        maximum: 100
        default: 20
        description: 'Specifies the maximum number of query jobs to return.

          '
      responses:
        '200':
          description: OK
          headers:
            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/GetDataQueryJobsResponse'
          examples:
            application/json:
              data:
              - id: bf3b5640-ddd1-4b4f-9a81-906ec2b84a89
                query: SELECT s.id FROM Subscription s JOIN RatePlan rp ON s.id =
                  rp.subscriptionid WHERE rp.name = 'Premium Monthly'
                queryStatus: in_progress
                remainingRetries: 3
                updatedOn: '2018-08-17T13:14:38.855Z'
              - id: 3a3e85c4-96e7-486b-ae02-827120104301
                query: SELECT accountnumber, balance FROM Account WHERE Account.balance
                  > 100
                queryStatus: completed
                dataFile: https://example.s3.us-west-2.amazonaws.com/3a3e85c4-96e7-486b-ae02-827120104301_24921638725108715.json?X-Amz-Security-Token=...
                outputRows: 24516
                processingTime: 9212
                remainingRetries: 3
                updatedOn: '2018-08-17T13:14:19.17Z'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/query/jobs"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/query/jobs');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/query/jobs")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/query/jobs", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/query/jobs")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/query/jobs");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /query/jobs/{job-id}:
    get:
      operationId: GET_DataQueryJob
      summary: Get data query job
      description: 'Retrieves a [data query](https://knowledgecenter.zuora.com/DC_Developers/BA_Data_Query)
        job. You can use this operation to track the status of the query job and obtain
        the URL of the query results.

        '
      tags:
      - Data Queries
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: job-id
        in: path
        required: true
        type: string
        format: uuid
        minLength: 36
        maxLength: 36
        description: 'Internal identifier of the query job.

          '
      responses:
        '200':
          description: OK
          headers:
            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/GetDataQueryJobResponse'
          examples:
            application/json:
              data:
                id: 3a3e85c4-96e7-486b-ae02-827120104301
                query: SELECT accountnumber, balance FROM Account WHERE Account.balance
                  > 100
                queryStatus: completed
                dataFile: https://example.s3.us-west-2.amazonaws.com/3a3e85c4-96e7-486b-ae02-827120104301_24921638725108715.json?X-Amz-Security-Token=...
                outputRows: 24516
                processingTime: 9212
                remainingRetries: 3
                updatedOn: '2018-08-17T13:14:19.17Z'
        '404':
          description: Not Found
          headers:
            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/DataQueryErrorResponse'
          examples:
            application/json:
              code: 1001
              message: 'No such query: 1e8e8586-5366-4cdf-a01d-fae3b2cf8427'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/query/jobs/{job-id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/query/jobs/{job-id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/query/jobs/{job-id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/query/jobs/{job-id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/query/jobs/{job-id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/query/jobs/{job-id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    delete:
      operationId: DELETE_DataQueryJob
      summary: Cancel data query job
      description: 'Cancels a [data query](https://knowledgecenter.zuora.com/DC_Developers/BA_Data_Query)
        job, which prevents Zuora from performing the query. This operation is only
        applicable if the status of the query job is `accepted` or `in_progress`.

        '
      tags:
      - Data Queries
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: job-id
        in: path
        required: true
        type: string
        format: uuid
        minLength: 64
        maxLength: 64
        description: 'Internal identifier of the query job.

          '
      responses:
        '200':
          description: OK
          headers:
            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/DeleteDataQueryJobResponse'
          examples:
            application/json:
              data:
                id: 3a3e85c4-96e7-486b-ae02-827120104301
                query: SELECT accountnumber, balance FROM Account WHERE Account.balance
                  > 100
                queryStatus: cancelled
                remainingRetries: 3
                updatedOn: '2018-08-17T13:22:16.965Z'
        '400':
          description: Bad Request
          headers:
            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/DataQueryErrorResponse'
          examples:
            application/json:
              code: 1003
              message: Query job c20a8ff4-3960-4c85-b067-d5259035f523 is not in accepted
                or in_progress status
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/query/jobs/{job-id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/query/jobs/{job-id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/query/jobs/{job-id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/query/jobs/{job-id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/query/jobs/{job-id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/query/jobs/{job-id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/debitmemos:
    post:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nCreates an ad-hoc\
        \ debit memo from a product rate plan charge. Zuora supports the creation\
        \ of debit memos from any type of product rate plan charge. The charges can\
        \ also have any amount and any charge model, except for discout charge models.\n\
        \nWhen debit memos are created from product rate plan charges, the specified\
        \ amount with decimal places is now validated based on the decimal places\
        \ supported by each currency.\n\nYou can create a debit memo only if you have\
        \ the user permission. See [Billing Roles](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/d_Billing_Roles)\
        \ for more information.\n"
      summary: Create debit memo from charge
      operationId: POST_DebitMemoFromPrpc
      tags:
      - Debit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 402890555a87d7f5015a892f2ba10057
              number: DM00000006
              accountId: 402890555a7e9791015a7f15fe44001c
              debitMemoDate: '2017-10-17'
              targetDate: null
              dueDate: '2017-11-16'
              postedOn: null
              postedById: null
              status: Draft
              amount: 50
              taxAmount: 0
              totalTaxExemptAmount: 0
              balance: 50
              beAppliedAmount: 0
              autoPay: true
              comment: the comment
              referredInvoiceId: null
              transferredToAccounting: 'No'
              reasonCode: Correcting invoice error
              createdDate: '2017-03-01 17:24:14'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 17:24:14'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              cancelledOn: null
              cancelledById: null
              latestPDFFileId: null
              taxStatus: null
              taxMessage: null
              success: true
          schema:
            $ref: '#/definitions/GETDebitMemoType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: zuora-version
        in: header
        required: false
        type: string
        description: "\nThe minor version of the Zuora REST API. See [Minor Version](https://www.zuora.com/developer/api-reference/#section/API-Versions/Minor-Version)\
          \ for information about REST API version control. \n\nThis header affects\
          \ the availability of the following request fields:\n* `charges` > `amount`\n\
          * `charges` > `memoItemAmount`\n* `charges` > `chargeId`\n* `charges` >\
          \ `productRatePlanChargeId`       \n* `charges` > `comment`\n* `charges`\
          \ > `description`\n"
      - name: body
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/DebitMemoFromChargeType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"accountId\": \"402890555a7e9791015a7f15fe44001c\"\
          , \n    \"autoPay\": true, \n    \"charges\": [\n        {\n           \
          \ \"amount\": 30, \n            \"chargeId\": \"402890555a87d7f5015a892cae910050\"\
          , \n            \"comment\": \"this is comment1\", \n            \"quantity\"\
          : 1\n        }, \n        {\n            \"amount\": 20, \n            \"\
          chargeId\": \"402890555a87d7f5015a892dff7f0053\", \n            \"comment\"\
          : \"this is comment2\"\n        }\n    ], \n    \"comment\": \"the comment\"\
          , \n    \"effectiveDate\": \"2017-10-17\", \n    \"reasonCode\": \"Correcting\
          \ invoice error\"\n}' \"https://rest.zuora.com/v1/debitmemos\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/debitmemos');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"accountId\": \"402890555a7e9791015a7f15fe44001c\"\
          , \n    \"autoPay\": true, \n    \"charges\": [\n        {\n           \
          \ \"amount\": 30, \n            \"chargeId\": \"402890555a87d7f5015a892cae910050\"\
          , \n            \"comment\": \"this is comment1\", \n            \"quantity\"\
          : 1\n        }, \n        {\n            \"amount\": 20, \n            \"\
          chargeId\": \"402890555a87d7f5015a892dff7f0053\", \n            \"comment\"\
          : \"this is comment2\"\n        }\n    ], \n    \"comment\": \"the comment\"\
          , \n    \"effectiveDate\": \"2017-10-17\", \n    \"reasonCode\": \"Correcting\
          \ invoice error\"\n}');\n\ntry {\n  $response = $request->send();\n\n  echo\
          \ $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"accountId\": \"402890555a7e9791015a7f15fe44001c\", \n    \"autoPay\": true, \n    \"charges\": [\n        {\n            \"amount\": 30, \n            \"chargeId\": \"402890555a87d7f5015a892cae910050\", \n            \"comment\": \"this is comment1\", \n            \"quantity\": 1\n        }, \n        {\n            \"amount\": 20, \n            \"chargeId\": \"402890555a87d7f5015a892dff7f0053\", \n            \"comment\": \"this is comment2\"\n        }\n    ], \n    \"comment\": \"the comment\", \n    \"effectiveDate\": \"2017-10-17\", \n    \"reasonCode\": \"Correcting invoice error\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/debitmemos")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"accountId\": \"402890555a7e9791015a7f15fe44001c\", \n    \"autoPay\": true, \n    \"charges\": [\n        {\n            \"amount\": 30, \n            \"chargeId\": \"402890555a87d7f5015a892cae910050\", \n            \"comment\": \"this is comment1\", \n            \"quantity\": 1\n        }, \n        {\n            \"amount\": 20, \n            \"chargeId\": \"402890555a87d7f5015a892dff7f0053\", \n            \"comment\": \"this is comment2\"\n        }\n    ], \n    \"comment\": \"the comment\", \n    \"effectiveDate\": \"2017-10-17\", \n    \"reasonCode\": \"Correcting invoice error\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/debitmemos", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/debitmemos")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"accountId\": \"402890555a7e9791015a7f15fe44001c\", \n    \"autoPay\": true, \n    \"charges\": [\n        {\n            \"amount\": 30, \n            \"chargeId\": \"402890555a87d7f5015a892cae910050\", \n            \"comment\": \"this is comment1\", \n            \"quantity\": 1\n        }, \n        {\n            \"amount\": 20, \n            \"chargeId\": \"402890555a87d7f5015a892dff7f0053\", \n            \"comment\": \"this is comment2\"\n        }\n    ], \n    \"comment\": \"the comment\", \n    \"effectiveDate\": \"2017-10-17\", \n    \"reasonCode\": \"Correcting invoice error\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/debitmemos");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"accountId\": \"402890555a7e9791015a7f15fe44001c\", \n    \"autoPay\": true, \n    \"charges\": [\n        {\n            \"amount\": 30, \n            \"chargeId\": \"402890555a87d7f5015a892cae910050\", \n            \"comment\": \"this is comment1\", \n            \"quantity\": 1\n        }, \n        {\n            \"amount\": 20, \n            \"chargeId\": \"402890555a87d7f5015a892dff7f0053\", \n            \"comment\": \"this is comment2\"\n        }\n    ], \n    \"comment\": \"the comment\", \n    \"effectiveDate\": \"2017-10-17\", \n    \"reasonCode\": \"Correcting invoice error\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    put:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/).\n\nUpdates the due\
        \ date for multiple debit memos in batches with one call. \n"
      summary: Update debit memos
      operationId: PUT_BatchUpdateDebitMemos
      tags:
      - Debit Memos
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: body
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUTBatchDebitMemosRequest'
      responses:
        '200':
          description: ''
          examples:
            application/json:
              success: true
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"debitMemos\": [\n \
          \       {\n            \"dueDate\": \"2017-12-28\", \n            \"id\"\
          : \"402890d25f9f083f015f9f28041d0008\"\n        }, \n        {\n       \
          \     \"dueDate\": \"2017-12-20\", \n            \"id\": \"402890555a87d7f5015a892f2ba10057\"\
          \n        }\n    ]\n}' \"https://rest.zuora.com/v1/debitmemos\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/debitmemos');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"debitMemos\": [\n        {\n        \
          \    \"dueDate\": \"2017-12-28\", \n            \"id\": \"402890d25f9f083f015f9f28041d0008\"\
          \n        }, \n        {\n            \"dueDate\": \"2017-12-20\", \n  \
          \          \"id\": \"402890555a87d7f5015a892f2ba10057\"\n        }\n   \
          \ ]\n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"debitMemos\": [\n        {\n            \"dueDate\": \"2017-12-28\", \n            \"id\": \"402890d25f9f083f015f9f28041d0008\"\n        }, \n        {\n            \"dueDate\": \"2017-12-20\", \n            \"id\": \"402890555a87d7f5015a892f2ba10057\"\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/debitmemos")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"debitMemos\": [\n        {\n            \"dueDate\": \"2017-12-28\", \n            \"id\": \"402890d25f9f083f015f9f28041d0008\"\n        }, \n        {\n            \"dueDate\": \"2017-12-20\", \n            \"id\": \"402890555a87d7f5015a892f2ba10057\"\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/debitmemos", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/debitmemos")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"debitMemos\": [\n        {\n            \"dueDate\": \"2017-12-28\", \n            \"id\": \"402890d25f9f083f015f9f28041d0008\"\n        }, \n        {\n            \"dueDate\": \"2017-12-20\", \n            \"id\": \"402890555a87d7f5015a892f2ba10057\"\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/debitmemos");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"debitMemos\": [\n        {\n            \"dueDate\": \"2017-12-28\", \n            \"id\": \"402890d25f9f083f015f9f28041d0008\"\n        }, \n        {\n            \"dueDate\": \"2017-12-20\", \n            \"id\": \"402890555a87d7f5015a892f2ba10057\"\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/).\n\nRetrieves the information\
        \ about all debit memos associated with all customer accounts.\n\n### Filtering\n\
        \nYou can use query parameters to restrict the data returned in the response.\
        \ Each query parameter corresponds to one field in the response body.\n\n\
        If the value of a filterable field is string, you can set the corresponding\
        \ query parameter to `null` when filtering. Then, you can get the response\
        \ data with this field value being `null`. \n\nExamples:\n\n- /v1/debitmemos?status=Processed\n\
        \n- /v1/debitmemos?referredInvoiceId=null&status=Draft\n\n- /v1/debitmemos?status=Processed&type=External&sort=+number\n"
      summary: Get debit memos
      operationId: GET_DebitMemos
      tags:
      - Debit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              debitmemos:
              - id: 402890555a87d7f5015a892f2ba10057
                number: DM00000006
                accountId: 402890555a7e9791015a7f15fe44001c
                debitMemoDate: '2017-10-17'
                targetDate: null
                dueDate: '2017-11-16'
                postedOn: null
                postedById: null
                status: Draft
                amount: 50
                taxAmount: 0
                totalTaxExemptAmount: 0
                balance: 50
                beAppliedAmount: 0
                autoPay: true
                comment: the comment
                referredInvoiceId: null
                transferredToAccounting: 'No'
                reasonCode: Correcting invoice error
                createdDate: '2017-03-01 17:24:14'
                createdById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2017-03-01 17:24:14'
                updatedById: 402881e522cf4f9b0122cf5d82860002
                cancelledOn: null
                cancelledById: null
                latestPDFFileId: 402890555a87d7f5015a892f2c5c0060
                taxStatus: null
                taxMessage: null
              - id: 402890555a87d7f5015a89251edc0045
                number: DM00000003
                accountId: 402890555a7d4022015a7dabf5f60088
                debitMemoDate: '2017-11-30'
                targetDate: null
                dueDate: '2017-12-30'
                postedOn: null
                postedById: null
                status: Draft
                amount: 0.01
                taxAmount: 0.01
                totalTaxExemptAmount: 0
                balance: 0.01
                beAppliedAmount: 0
                autoPay: true
                comment: the comment
                referredInvoiceId: 402890555a7d4022015a7dadb3b300a4
                transferredToAccounting: 'No'
                reasonCode: Charge Dispute
                createdDate: '2017-03-01 17:13:15'
                createdById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2017-03-01 17:13:15'
                updatedById: 402881e522cf4f9b0122cf5d82860002
                cancelledOn: null
                cancelledById: null
                latestPDFFileId: null
                taxStatus: null
                taxMessage: null
              - id: 402890555a87d7f5015a8919e4fe002e
                number: DM00000002
                accountId: 402890555a7d4022015a7dabf5f60088
                debitMemoDate: '2017-03-01'
                targetDate: null
                dueDate: '2017-03-31'
                postedOn: null
                postedById: null
                status: Draft
                amount: 9
                taxAmount: 8
                totalTaxExemptAmount: 0
                balance: 9
                beAppliedAmount: 0
                autoPay: true
                comment: ''
                referredInvoiceId: 402890555a7d4022015a7dadb3b300a4
                transferredToAccounting: 'No'
                reasonCode: Correcting invoice error
                createdDate: '2017-03-01 17:01:00'
                createdById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2017-03-01 17:01:00'
                updatedById: 402881e522cf4f9b0122cf5d82860002
                cancelledOn: null
                cancelledById: null
                latestPDFFileId: 402890555a87d7f5015a8919e95d003a
                taxStatus: null
                taxMessage: null
              - id: 402890555a7e9791015a87b082940067
                number: DM00000001
                accountId: 402890555a7e9791015a7f15fe44001c
                debitMemoDate: '2017-03-01'
                targetDate: null
                dueDate: '2017-03-31'
                postedOn: null
                postedById: null
                status: Draft
                amount: 8.02
                taxAmount: 0.02
                totalTaxExemptAmount: 0
                balance: 8.02
                beAppliedAmount: 0
                autoPay: true
                comment: ''
                referredInvoiceId: 402890555a7e9791015a7f1756aa0035
                transferredToAccounting: 'No'
                reasonCode: Correcting invoice error
                createdDate: '2017-03-01 10:26:16'
                createdById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2017-03-01 10:45:03'
                updatedById: 402881e522cf4f9b0122cf5d82860002
                cancelledOn: null
                cancelledById: null
                latestPDFFileId: 402890555a7e9791015a87b083f00072
                taxStatus: null
                taxMessage: null
              success: true
          schema:
            $ref: '#/definitions/GETDebitMemoCollectionType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - name: accountId
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `accountId`
          field.

          '
      - name: amount
        in: query
        type: number
        format: double
        required: false
        description: 'This parameter filters the response based on the `amount` field.

          '
      - name: balance
        in: query
        type: number
        format: double
        required: false
        description: 'This parameter filters the response based on the `balance` field.

          '
      - name: beAppliedAmount
        in: query
        type: number
        format: double
        required: false
        description: 'This parameter filters the response based on the `beAppliedAmount`
          field.

          '
      - name: createdById
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `createdById`
          field.

          '
      - name: createdDate
        in: query
        type: string
        format: date-time
        required: false
        description: 'This parameter filters the response based on the `createdDate`
          field.

          '
      - name: currency
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `currency`
          field.

          '
      - name: debitMemoDate
        in: query
        type: string
        format: date
        required: false
        description: 'This parameter filters the response based on the `debitMemoDate`
          field.

          '
      - name: dueDate
        in: query
        type: string
        format: date
        required: false
        description: 'This parameter filters the response based on the `dueDate` field.

          '
      - name: number
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `number` field.

          '
      - name: referredInvoiceId
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `referredInvoiceId`
          field.

          '
      - name: status
        in: query
        type: string
        enum:
        - Draft
        - Posted
        - Canceled
        - Error
        - PendingForTax
        - Generating
        - CancelInProgress
        required: false
        description: 'This parameter filters the response based on the `status` field.

          '
      - name: targetDate
        in: query
        type: string
        format: date
        required: false
        description: 'This parameter filters the response based on the `targetDate`
          field.

          '
      - name: taxAmount
        in: query
        type: number
        format: double
        required: false
        description: 'This parameter filters the response based on the `taxAmount`
          field.

          '
      - name: totalTaxExemptAmount
        in: query
        type: number
        format: double
        required: false
        description: 'This parameter filters the response based on the `totalTaxExemptAmount`
          field.

          '
      - name: updatedById
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `updatedById`
          field.

          '
      - name: updatedDate
        in: query
        type: string
        format: date-time
        required: false
        description: 'This parameter filters the response based on the `updatedDate`
          field.

          '
      - name: sort
        in: query
        type: string
        required: false
        description: "This parameter restricts the order of the data returned in the\
          \ response. You can use this parameter to supply a dimension you want to\
          \ sort on.\n\nA sortable field uses the following form: \n\n*operator* *field_name*\n\
          \nYou can use at most two sortable fields in one URL path. Use a comma to\
          \ separate sortable fields. For example:  *operator* *field_name*, *operator*\
          \ *field_name*  \n\n*operator* is used to mark the order of sequencing.\
          \ The operator is optional. If you only specify the sortable field without\
          \ any operator, the response data is sorted in descending order by this\
          \ field.\n\n  - The `-` operator indicates an ascending order.\n  - The\
          \ `+` operator indicates a descending order.\n\nBy default, the response\
          \ data is displayed in descending order by debit memo number.\n\n*field_name*\
          \ indicates the name of a sortable field. The supported sortable fields\
          \ of this operation are as below:\n\n  - number\n  - accountId\n  - debitMemoDate\n\
          \  - targetDate\n  - dueDate\n  - amount\n  - taxAmount\n  - totalTaxExemptAmount\n\
          \  - balance\n  - beAppliedAmount\n  - referredInvoiceId\n  - createdDate\n\
          \  - createdById\n  - updatedDate\n  - updatedById\n  \nExamples:\n\n- /v1/debitmemos?sort=+number\n\
          \n- /v1/debitmemos?status=Processed&sort=-number,+amount\n"
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/debitmemos"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/debitmemos');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/debitmemos")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/debitmemos", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/debitmemos")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/debitmemos");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/debitmemos/{debitMemoId}:
    put:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nUpdates the basic\
        \ and finance information about a debit memo. Currently, Zuora supports updating\
        \ tax-exclusive memo items, but does not support updating tax-inclusive memo\
        \ items. \n\nIf the amount of a memo item is updated, the tax will be recalculated\
        \ in the following conditions:\n  - The memo is created from a product rate\
        \ plan charge and you use Avalara to calculate the tax.\n  - The memo is created\
        \ from an invoice and you use Avalara or Zuora Tax to calculate the tax.\n\
        \nYou can update a debit memo only if you have the user permission. See [Billing\
        \ Roles](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/d_Billing_Roles)\
        \ for more information.\n"
      summary: Update debit memo
      operationId: PUT_DebitMemo
      tags:
      - Debit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 4028905f5a890526015a8db30954007a
              number: DM00000003
              accountId: 4028905f5a87c0ff015a87d25ae90025
              debitMemoDate: '2017-03-02'
              targetDate: null
              dueDate: '2017-04-01'
              postedOn: null
              postedById: null
              status: Draft
              amount: 12.9
              taxAmount: 0.9
              totalTaxExemptAmount: 0
              balance: 12.9
              beAppliedAmount: 0
              autoPay: true
              comment: ''
              referredInvoiceId: 4028905f5a87c0ff015a87d3f8f10043
              transferredToAccounting: 'No'
              reasonCode: Correcting invoice error
              createdDate: '2017-03-02 14:26:45'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-02 14:27:05'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              cancelledOn: null
              cancelledById: null
              latestPDFFileId: 4028905f5a890526015a8db30a570085
              taxStatus: null
              taxMessage: null
              success: true
          schema:
            $ref: '#/definitions/GETDebitMemoType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/PUTDebitMemoType'
      - type: string
        in: path
        name: debitMemoId
        description: 'The unique ID of a debit memo. For example, 8a8082e65b27f6c3015ba419f3c2644e.

          '
        required: true
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"autoPay\": true, \n\
          \    \"comment\": \"new comment\", \n    \"dueDate\": \"2017-05-20\", \n\
          \    \"effectiveDate\": \"2017-04-17\", \n    \"items\": [\n        {\n\
          \            \"amount\": 1, \n            \"comment\": \"This is comment!\"\
          , \n            \"id\": \"402890555b797b57015b7986fc1a001c\", \n       \
          \     \"quantity\": 1, \n            \"serviceEndDate\": \"2016-11-30\"\
          , \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\"\
          : \"SKU-1\", \n            \"taxItems\": [\n                {\n        \
          \            \"amount\": 0.03, \n                    \"id\": \"402890555b797b57015b7986fc3c001d\"\
          , \n                    \"jurisdiction\": \"CALIFORNIA\", \n           \
          \         \"locationCode\": \"06\", \n                    \"taxCode\": null,\
          \ \n                    \"taxCodeDescription\": \"This is tax code description!\"\
          , \n                    \"taxDate\": \"2016-11-30\", \n                \
          \    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE\
          \ TAX1\", \n                    \"taxRate\": 0.0625, \n                \
          \    \"taxRateDescription\": \"This is tax rate description!\", \n     \
          \               \"taxRateType\": \"Percentage\"\n                }\n   \
          \         ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }, \n\
          \        {\n            \"amount\": 2, \n            \"comment\": \"This\
          \ is comment!\", \n            \"id\": \"402890555b797b57015b7986fc41001e\"\
          , \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\"\
          : \"2016-11-01\", \n            \"skuName\": \"SKU-2\", \n            \"\
          taxItems\": [\n                {\n                    \"amount\": 0.06,\
          \ \n                    \"id\": \"402890555b797b57015b7986fc4c001f\", \n\
          \                    \"jurisdiction\": \"CALIFORNIA\", \n              \
          \      \"locationCode\": \"06\", \n                    \"taxCode\": null,\
          \ \n                    \"taxCodeDescription\": \"This is tax code description!\"\
          , \n                    \"taxDate\": \"2016-11-30\", \n                \
          \    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE\
          \ TAX2\", \n                    \"taxRate\": 0.0625, \n                \
          \    \"taxRateDescription\": \"This is tax rate description!\", \n     \
          \               \"taxRateType\": \"Percentage\"\n                }\n   \
          \         ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }\n\
          \    ], \n    \"reasonCode\": \"Correcting invoice error\"\n}' \"https://rest.zuora.com/v1/debitmemos/{debitMemoId}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/debitmemos/{debitMemoId}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"autoPay\": true, \n    \"comment\": \"\
          new comment\", \n    \"dueDate\": \"2017-05-20\", \n    \"effectiveDate\"\
          : \"2017-04-17\", \n    \"items\": [\n        {\n            \"amount\"\
          : 1, \n            \"comment\": \"This is comment!\", \n            \"id\"\
          : \"402890555b797b57015b7986fc1a001c\", \n            \"quantity\": 1, \n\
          \            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\"\
          : \"2016-11-01\", \n            \"skuName\": \"SKU-1\", \n            \"\
          taxItems\": [\n                {\n                    \"amount\": 0.03,\
          \ \n                    \"id\": \"402890555b797b57015b7986fc3c001d\", \n\
          \                    \"jurisdiction\": \"CALIFORNIA\", \n              \
          \      \"locationCode\": \"06\", \n                    \"taxCode\": null,\
          \ \n                    \"taxCodeDescription\": \"This is tax code description!\"\
          , \n                    \"taxDate\": \"2016-11-30\", \n                \
          \    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE\
          \ TAX1\", \n                    \"taxRate\": 0.0625, \n                \
          \    \"taxRateDescription\": \"This is tax rate description!\", \n     \
          \               \"taxRateType\": \"Percentage\"\n                }\n   \
          \         ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }, \n\
          \        {\n            \"amount\": 2, \n            \"comment\": \"This\
          \ is comment!\", \n            \"id\": \"402890555b797b57015b7986fc41001e\"\
          , \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\"\
          : \"2016-11-01\", \n            \"skuName\": \"SKU-2\", \n            \"\
          taxItems\": [\n                {\n                    \"amount\": 0.06,\
          \ \n                    \"id\": \"402890555b797b57015b7986fc4c001f\", \n\
          \                    \"jurisdiction\": \"CALIFORNIA\", \n              \
          \      \"locationCode\": \"06\", \n                    \"taxCode\": null,\
          \ \n                    \"taxCodeDescription\": \"This is tax code description!\"\
          , \n                    \"taxDate\": \"2016-11-30\", \n                \
          \    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE\
          \ TAX2\", \n                    \"taxRate\": 0.0625, \n                \
          \    \"taxRateDescription\": \"This is tax rate description!\", \n     \
          \               \"taxRateType\": \"Percentage\"\n                }\n   \
          \         ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }\n\
          \    ], \n    \"reasonCode\": \"Correcting invoice error\"\n}');\n\ntry\
          \ {\n  $response = $request->send();\n\n  echo $response->getBody();\n}\
          \ catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"autoPay\": true, \n    \"comment\": \"new comment\", \n    \"dueDate\": \"2017-05-20\", \n    \"effectiveDate\": \"2017-04-17\", \n    \"items\": [\n        {\n            \"amount\": 1, \n            \"comment\": \"This is comment!\", \n            \"id\": \"402890555b797b57015b7986fc1a001c\", \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\": \"SKU-1\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.03, \n                    \"id\": \"402890555b797b57015b7986fc3c001d\", \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": \"This is tax code description!\", \n                    \"taxDate\": \"2016-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX1\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }, \n        {\n            \"amount\": 2, \n            \"comment\": \"This is comment!\", \n            \"id\": \"402890555b797b57015b7986fc41001e\", \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\": \"SKU-2\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.06, \n                    \"id\": \"402890555b797b57015b7986fc4c001f\", \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": \"This is tax code description!\", \n                    \"taxDate\": \"2016-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX2\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }\n    ], \n    \"reasonCode\": \"Correcting invoice error\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/debitmemos/{debitMemoId}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"autoPay\": true, \n    \"comment\": \"new comment\", \n    \"dueDate\": \"2017-05-20\", \n    \"effectiveDate\": \"2017-04-17\", \n    \"items\": [\n        {\n            \"amount\": 1, \n            \"comment\": \"This is comment!\", \n            \"id\": \"402890555b797b57015b7986fc1a001c\", \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\": \"SKU-1\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.03, \n                    \"id\": \"402890555b797b57015b7986fc3c001d\", \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": \"This is tax code description!\", \n                    \"taxDate\": \"2016-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX1\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }, \n        {\n            \"amount\": 2, \n            \"comment\": \"This is comment!\", \n            \"id\": \"402890555b797b57015b7986fc41001e\", \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\": \"SKU-2\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.06, \n                    \"id\": \"402890555b797b57015b7986fc4c001f\", \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": \"This is tax code description!\", \n                    \"taxDate\": \"2016-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX2\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }\n    ], \n    \"reasonCode\": \"Correcting invoice error\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/debitmemos/{debitMemoId}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/debitmemos/{debitMemoId}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"autoPay\": true, \n    \"comment\": \"new comment\", \n    \"dueDate\": \"2017-05-20\", \n    \"effectiveDate\": \"2017-04-17\", \n    \"items\": [\n        {\n            \"amount\": 1, \n            \"comment\": \"This is comment!\", \n            \"id\": \"402890555b797b57015b7986fc1a001c\", \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\": \"SKU-1\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.03, \n                    \"id\": \"402890555b797b57015b7986fc3c001d\", \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": \"This is tax code description!\", \n                    \"taxDate\": \"2016-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX1\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }, \n        {\n            \"amount\": 2, \n            \"comment\": \"This is comment!\", \n            \"id\": \"402890555b797b57015b7986fc41001e\", \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\": \"SKU-2\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.06, \n                    \"id\": \"402890555b797b57015b7986fc4c001f\", \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": \"This is tax code description!\", \n                    \"taxDate\": \"2016-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX2\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }\n    ], \n    \"reasonCode\": \"Correcting invoice error\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/debitmemos/{debitMemoId}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"autoPay\": true, \n    \"comment\": \"new comment\", \n    \"dueDate\": \"2017-05-20\", \n    \"effectiveDate\": \"2017-04-17\", \n    \"items\": [\n        {\n            \"amount\": 1, \n            \"comment\": \"This is comment!\", \n            \"id\": \"402890555b797b57015b7986fc1a001c\", \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\": \"SKU-1\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.03, \n                    \"id\": \"402890555b797b57015b7986fc3c001d\", \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": \"This is tax code description!\", \n                    \"taxDate\": \"2016-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX1\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }, \n        {\n            \"amount\": 2, \n            \"comment\": \"This is comment!\", \n            \"id\": \"402890555b797b57015b7986fc41001e\", \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\": \"SKU-2\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.06, \n                    \"id\": \"402890555b797b57015b7986fc4c001f\", \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": \"This is tax code description!\", \n                    \"taxDate\": \"2016-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX2\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }\n    ], \n    \"reasonCode\": \"Correcting invoice error\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nRetrieves the\
        \ information about a specific debit memo.\n"
      summary: Get debit memo
      operationId: GET_DebitMemo
      tags:
      - Debit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 402890555a87d7f5015a8919e4fe002e
              number: DM00000002
              accountId: 402890555a7d4022015a7dabf5f60088
              debitMemoDate: '2017-03-01'
              targetDate: null
              dueDate: '2017-03-31'
              postedOn: null
              postedById: null
              status: Draft
              amount: 9
              taxAmount: 8
              totalTaxExemptAmount: 0
              balance: 9
              beAppliedAmount: 0
              autoPay: true
              comment: ''
              referredInvoiceId: 402890555a7d4022015a7dadb3b300a4
              transferredToAccounting: 'No'
              reasonCode: Correcting invoice error
              createdDate: '2017-03-01 17:01:00'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 17:01:00'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              cancelledOn: null
              cancelledById: null
              latestPDFFileId: 402890555a87d7f5015a8919e95d003a
              taxStatus: null
              taxMessage: null
              success: true
          schema:
            $ref: '#/definitions/GETDebitMemoType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        description: 'The unique ID of a debit memo. For example, 8a8082e65b27f6c3015ba419f3c2644e.

          '
        name: debitMemoId
        required: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/debitmemos/{debitMemoId}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/debitmemos/{debitMemoId}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/debitmemos/{debitMemoId}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/debitmemos/{debitMemoId}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/debitmemos/{debitMemoId}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/debitmemos/{debitMemoId}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    delete:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nDeletes a debit\
        \ memo. Only debit memos with the Cancelled status can be deleted. \n\nYou\
        \ can delete a debit memo only if you have the user permission. See [Billing\
        \ Roles](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/d_Billing_Roles)\
        \ for more information.\n"
      summary: Delete debit memo
      operationId: DELETE_DebitMemo
      tags:
      - Debit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              success: true
          schema:
            $ref: '#/definitions/CommonResponseType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        description: 'The unique ID of a debit memo. For example, 8a8082e65b27f6c3015ba419f3c2644e.

          '
        name: debitMemoId
        required: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/debitmemos/{debitMemoId}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/debitmemos/{debitMemoId}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/debitmemos/{debitMemoId}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/debitmemos/{debitMemoId}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/debitmemos/{debitMemoId}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/debitmemos/{debitMemoId}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/debitmemos/{debitMemoId}/application-parts:
    get:
      summary: Get debit memo application parts
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nRetrieves information\
        \ about the payments or credit memos that are applied to a specified debit\
        \ memo.\n"
      operationId: GET_DebitMemoApplicationParts
      tags:
      - Debit Memos
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: debitMemoId
        in: path
        type: string
        required: true
        description: 'The unique ID of a debit memo. For example, 8a8082e65b27f6c3015ba419f3c2644e.

          '
      responses:
        '200':
          description: OK
          examples:
            application/json:
              applicationParts:
              - paymentId: null
                creditMemoId: 4028905f60a165a50160b4f632ff023d
                appliedAmount: 22
                createdDate: '2018-01-02 11:42:16'
                createdById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2018-01-02 11:42:16'
                updatedById: 402881e522cf4f9b0122cf5d82860002
              - paymentId: 4028905f60a165a50160b4f5d5cb0229
                creditMemoId: null
                appliedAmount: 11
                createdDate: '2018-01-02 11:41:38'
                createdById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2018-01-02 11:41:38'
                updatedById: 402881e522cf4f9b0122cf5d82860002
              success: true
          schema:
            $ref: '#/definitions/GetDebitMemoApplicationPartCollectionType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/debitmemos/{debitMemoId}/application-parts"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/debitmemos/{debitMemoId}/application-parts');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/application-parts")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/debitmemos/{debitMemoId}/application-parts", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/application-parts")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/application-parts");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/debitmemos/{debitMemoId}/cancel:
    put:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nCancels a debit\
        \ memo. Only debit memos with the Draft status can be cancelled. \n\nYou can\
        \ cancel a debit memo only if you have the user permission. See [Billing Roles](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/d_Billing_Roles)\
        \ for more information.\n"
      summary: Cancel debit memo
      operationId: PUT_CancelDebitMemo
      tags:
      - Debit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 402890555a87d7f5015a89251edc0045
              number: DM00000003
              accountId: 402890555a7d4022015a7dabf5f60088
              debitMemoDate: '2017-11-30'
              targetDate: null
              dueDate: '2017-12-30'
              postedOn: null
              postedById: null
              status: Canceled
              amount: 0.01
              taxAmount: 0.01
              totalTaxExemptAmount: 0
              balance: 0.01
              beAppliedAmount: 0
              autoPay: true
              comment: the comment
              referredInvoiceId: 402890555a7d4022015a7dadb3b300a4
              transferredToAccounting: 'No'
              reasonCode: Charge Dispute
              createdDate: '2017-03-01 17:13:15'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 17:57:26'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              cancelledOn: '2017-09-01 19:59:07'
              cancelledById: 402881e522cf4f9b0122cf5d82860002
              latestPDFFileId: null
              taxStatus: null
              taxMessage: null
              success: true
          schema:
            $ref: '#/definitions/GETDebitMemoType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        description: 'The unique ID of a debit memo. For example, 8a8082e65b27f6c3015ba419f3c2644e.

          '
        name: debitMemoId
        required: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/debitmemos/{debitMemoId}/cancel"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/debitmemos/{debitMemoId}/cancel');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/cancel")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/debitmemos/{debitMemoId}/cancel", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/cancel")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/cancel");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/debitmemos/{debitMemoId}/emails:
    post:
      summary: Email debit memo
      operationId: POST_EmailDebitMemo
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nSends a posted\
        \ debit memo to the specified email addresses manually.\n\n\n\n## Notes\n\
        \  - You must activate the **Email Debit Memo | Manually email Debit Memo**\
        \ notification before emailing debit memos. To include the debit memo PDF\
        \ in the email, select the **Include Debit Memo PDF** check box in the **Edit\
        \ notification** dialog from the Zuora UI. See [Create and Edit Notifications](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/Notifications/C_Create_Notifications#section_2)\
        \ for more information.\n\n\n  - Zuora sends the email messages based on the\
        \ email template you set. You can set the email template to use in the **Delivery\
        \ Options** panel of the **Edit notification** dialog from the Zuora UI. By\
        \ default, the **Manual Email for Debit Memo Default Template** template is\
        \ used. See [Create and Edit Email Templates](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/Notifications/Create_Email_Templates)\
        \ for more information.\n\n\n  - The debit memos are sent only to the work\
        \ email addresses or personal email addresses of the Bill To contact if the\
        \ following conditions are all met:\n\n    * The `useEmailTemplateSetting`\
        \ field is set to `false`.\n    * The email addresses are not specified in\
        \ the `emailAddresses` field.\n"
      tags:
      - Debit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              success: true
          schema:
            $ref: '#/definitions/CommonResponseType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: Request
        in: body
        required: true
        description: ''
        schema:
          $ref: '#/definitions/PostDebitMemoEmailType'
      - name: debitMemoId
        in: path
        type: string
        required: true
        description: 'The ID of a posted debit memo. For example, 8a8082e65b27f6c3015ba419f3c2644e.

          '
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"emailAddresses\": \"\
          contact1@example.com,contact2@example.com\", \n    \"includeAdditionalEmailAddresses\"\
          : false, \n    \"useEmailTemplateSetting\": false\n}' \"https://rest.zuora.com/v1/debitmemos/{debitMemoId}/emails\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/debitmemos/{debitMemoId}/emails');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"emailAddresses\": \"contact1@example.com,contact2@example.com\"\
          , \n    \"includeAdditionalEmailAddresses\": false, \n    \"useEmailTemplateSetting\"\
          : false\n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"emailAddresses\": \"contact1@example.com,contact2@example.com\", \n    \"includeAdditionalEmailAddresses\": false, \n    \"useEmailTemplateSetting\": false\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/emails")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"emailAddresses\": \"contact1@example.com,contact2@example.com\", \n    \"includeAdditionalEmailAddresses\": false, \n    \"useEmailTemplateSetting\": false\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/debitmemos/{debitMemoId}/emails", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/emails")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"emailAddresses\": \"contact1@example.com,contact2@example.com\", \n    \"includeAdditionalEmailAddresses\": false, \n    \"useEmailTemplateSetting\": false\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/emails");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"emailAddresses\": \"contact1@example.com,contact2@example.com\", \n    \"includeAdditionalEmailAddresses\": false, \n    \"useEmailTemplateSetting\": false\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/debitmemos/{debitMemoId}/files:
    post:
      summary: Upload file for debit memo
      operationId: POST_UploadFileForDebitMemo
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nUploads an externally\
        \ generated PDF file for a debit memo that is in Draft or Posted status.\n\
        \nThis operation has the following restrictions:\n- Only the PDF file format\
        \ is supported.\n- The maximum size of the PDF file to upload is 4 MB.\n-\
        \ A maximum of 50 PDF files can be uploaded for one debit memo.\n"
      consumes:
      - multipart/form-data
      tags:
      - Debit Memos
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: debitMemoId
        in: path
        description: 'The ID of the debit memo that you want to upload a PDF file
          for. For example, 402890555a87d7f5015a8919e4fe002e.

          '
        required: true
        type: string
      - name: file
        in: formData
        description: 'The PDF file to upload for the debit memo.

          '
        type: file
      responses:
        '200':
          headers:
            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.

                '
          examples:
            application/json:
              success: true
              fileId: 40289f466463d683016463ef8b7301a3
          description: ''
          schema:
            $ref: '#/definitions/POSTUploadFileResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X POST -H "Authorization: Bearer f21f017e4724445d8647b1f0de7ed6f1"
          -F "file=@DebitMemoFile.pdf" "https://rest.zuora.com/v1/debitmemos/402890555a87d7f5015a8919e4fe002e/files"

          '
  /v1/debitmemos/{debitMemoId}/items:
    get:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nRetrieves the\
        \ information about all items of a debit memo. A debit memo item is a single\
        \ line item in a debit memo. \n\n### Filtering\n\nYou can use query parameters\
        \ to restrict the data returned in the response. Each query parameter corresponds\
        \ to one field in the response body.\n\nIf the value of a filterable field\
        \ is string, you can set the corresponding query parameter to `null` when\
        \ filtering. Then, you can get the response data with this field value being\
        \ `null`. \n\nExamples:\n\n- /v1/debitmemos/402890245c7ca371015c7cb40b28001f/items?amount=100\n\
        \n- /v1/debitmemos/402890245c7ca371015c7cb40b28001f/items?amount=100&sort=createdDate\n"
      summary: Get debit memo items
      operationId: GET_DebitMemoItems
      tags:
      - Debit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              items:
              - id: 402890555a87d7f5015a89251ede0046
                amount: 1
                amountWithoutTax: 1
                beAppliedAmount: 0
                balance: 1
                sku: SKU-00000002
                skuName: SKU-30
                serviceStartDate: '2017-11-01'
                serviceEndDate: '2017-11-30'
                sourceItemType: InvoiceDetail
                sourceItemId: 402890555a7d4022015a7dadb3b700a6
                createdDate: '2017-03-01 17:13:15'
                createdById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2017-03-01 17:13:15'
                updatedById: 402881e522cf4f9b0122cf5d82860002
                comment: This is comment!
                subscriptionId: null
                unitOfMeasure: Each
                unitPrice: 1
                quantity: 1
                financeInformation:
                  deferredRevenueAccountingCode: Subscription Revenue
                  deferredRevenueAccountingCodeType: SalesRevenue
                  recognizedRevenueAccountingCode: Subscription Revenue
                  recognizedRevenueAccountingCodeType: SalesRevenue
                taxationItems:
                  data:
                  - id: 402890555a87d7f5015a89251ef10047
                    sourceTaxItemId: 402890555a7d4022015a7dadb39b00a1
                    taxAmount: 0.01
                    balance: 0.01
                    paymentAmount: 0
                    creditAmount: 0
                    name: STATE TAX
                    exemptAmount: 0
                    jurisdiction: CALIFORNIA
                    locationCode: '06'
                    taxCode: ZtaxCode
                    taxCodeDescription: ''
                    taxDate: '2017-11-30'
                    taxRate: 0.0625
                    taxRateDescription: This is tax rate description!
                    taxRateType: Percentage
                    financeInformation:
                      salesTaxPayableAccountingCode: null
                      salesTaxPayableAccountingCodeType: null
              success: true
          schema:
            $ref: '#/definitions/GETDebitMemoItemCollectionType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - type: string
        in: path
        description: 'The unique ID of a debit memo. For example, 8a8082e65b27f6c3015ba419f3c2644e.

          '
        name: debitMemoId
        required: true
      - name: zuora-version
        in: header
        required: false
        type: string
        description: "\nThe minor version of the Zuora REST API. See [Minor Version](https://www.zuora.com/developer/api-reference/#section/API-Versions/Minor-Version)\
          \ for information about REST API version control. \n\nThis header affects\
          \ the availability of the following response fields:\n* `items` > `taxItems`\n\
          * `items` > `taxationItems`\n* `items` > `comment`\n* `items` > `description`\n"
      - name: amount
        in: query
        type: number
        format: double
        required: false
        description: 'This parameter filters the response based on the `amount` field.

          '
      - name: beAppliedAmount
        in: query
        type: number
        format: double
        required: false
        description: 'This parameter filters the response based on the `beAppliedAmount`
          field.

          '
      - name: createdById
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `createdById`
          field.

          '
      - name: createdDate
        in: query
        type: string
        format: date-time
        required: false
        description: 'This parameter filters the response based on the `createdDate`
          field.

          '
      - name: id
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `id` field.

          '
      - name: serviceEndDate
        in: query
        type: string
        format: date
        required: false
        description: 'This parameter filters the response based on the `serviceEndDate`
          field.

          '
      - name: serviceStartDate
        in: query
        type: string
        format: date
        required: false
        description: 'This parameter filters the response based on the `serviceStartDate`
          field.

          '
      - name: sku
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `sku` field.

          '
      - name: skuName
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `skuName` field.

          '
      - name: sourceItemId
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `sourceItemId`
          field.

          '
      - name: subscriptionId
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `subscriptionId`
          field.

          '
      - name: updatedById
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `updatedById`
          field.

          '
      - name: updatedDate
        in: query
        type: string
        format: date-time
        required: false
        description: 'This parameter filters the response based on the `updatedDate`
          field.

          '
      - name: sort
        in: query
        type: string
        required: false
        description: "This parameter restricts the order of the data returned in the\
          \ response. You can use this parameter to supply a dimension you want to\
          \ sort on.\n\nA sortable field uses the following form: \n\n*operator* *field_name*\n\
          \nYou can use at most two sortable fields in one URL path. Use a comma to\
          \ separate sortable fields. For example:  *operator* *field_name*, *operator*\
          \ *field_name*  \n\n*operator* is used to mark the order of sequencing.\
          \ The operator is optional. If you only specify the sortable field without\
          \ any operator, the response data is sorted in descending order by this\
          \ field.\n\n  - The `-` operator indicates an ascending order.\n  - The\
          \ `+` operator indicates a descending order.\n\nBy default, the response\
          \ data is displayed in descending order by updated date.\n\n*field_name*\
          \ indicates the name of a sortable field. The supported sortable fields\
          \ of this operation are as below:\n\n  - id\n  - amount\n  - beAppliedAmount\n\
          \  - sku\n  - skuName\n  - serviceStartDate\n  - serviceEndDate\n  - sourceItemId\n\
          \  - createdDate\n  - createdById\n  - updatedDate\n  - updatedById\n  -\
          \ subscriptionId\n  \nExamples:\n\n- /v1/debitmemos/402890245c7ca371015c7cb40b28001f/items?sort=createdDate\n\
          \n- /v1/debitmemos/402890245c7ca371015c7cb40b28001f/items?amount=100&sort=createdDate\n"
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/debitmemos/{debitMemoId}/items"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/debitmemos/{debitMemoId}/items');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/items")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/debitmemos/{debitMemoId}/items", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/items")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/items");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/debitmemos/{debitMemoId}/items/{dmitemid}:
    get:
      description: |
        **Note:** The Invoice Settlement feature is in **Limited Availability**. This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

        Retrieves information about a specific item of a debit memo. A debit memo item is a single line item in a debit memo.
      summary: Get debit memo item
      operationId: GET_DebitMemoItem
      tags:
      - Debit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 402890555a87d7f5015a8919e500002f
              amount: 1
              amountWithoutTax: 1
              beAppliedAmount: 0
              balance: 1
              quantity: 1
              sku: SKU-00000002
              skuName: ZTax Component
              serviceStartDate: '2017-02-27'
              serviceEndDate: '2017-03-26'
              sourceItemType: InvoiceDetail
              sourceItemId: 402890555a7d4022015a7dadb3b700a6
              createdDate: '2017-03-01 17:01:00'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 17:01:00'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              comment: aa
              subscriptionId: null
              unitOfMeasure: Each
              unitPrice: 1
              financeInformation:
                deferredRevenueAccountingCode: Subscription Revenue
                deferredRevenueAccountingCodeType: SalesRevenue
                recognizedRevenueAccountingCode: Subscription Revenue
                recognizedRevenueAccountingCodeType: SalesRevenue
              taxationItems:
                data:
                - id: 402890555a87d7f5015a8919e8450031
                  sourceTaxItemId: 402890555a7d4022015a7dadb39b00a1
                  taxAmount: 5
                  balance: 5
                  paymentAmount: 0
                  creditAmount: 0
                  name: my tax
                  exemptAmount: 0
                  jurisdiction: USA
                  locationCode: ''
                  taxCode: ZtaxCode
                  taxCodeDescription: ''
                  taxDate: '2017-02-27'
                  taxRate: 5
                  taxRateDescription: desc3
                  taxRateType: FlatFee
                  financeInformation:
                    salesTaxPayableAccountingCode: null
                    salesTaxPayableAccountingCodeType: null
              success: true
          schema:
            $ref: '#/definitions/GETDebitMemoItemType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        description: 'The unique ID of a debit memo item. You can get the debit memo
          item ID from the response of [Get debit memo items](https://www.zuora.com/developer/api-reference/#operation/GET_DebitMemoItems).

          '
        name: dmitemid
        required: true
      - type: string
        in: path
        description: 'The unique ID of a debit memo. For example, 8a8082e65b27f6c3015ba419f3c2644e.

          '
        name: debitMemoId
        required: true
      - name: zuora-version
        in: header
        required: false
        type: string
        description: "\nThe minor version of the Zuora REST API. See [Minor Version](https://www.zuora.com/developer/api-reference/#section/API-Versions/Minor-Version)\
          \ for information about REST API version control. \n\nThis header affects\
          \ the availability of the following response fields:\n* `taxItems`\n* `taxationItems`\n\
          * `comment`\n* `description`\n"
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/debitmemos/{debitMemoId}/items/{dmitemid}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/debitmemos/{debitMemoId}/items/{dmitemid}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/items/{dmitemid}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/debitmemos/{debitMemoId}/items/{dmitemid}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/items/{dmitemid}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/items/{dmitemid}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/debitmemos/{debitMemoId}/items/{dmitemid}/taxation-items:
    get:
      description: |
        **Note:** The Invoice Settlement feature is in **Limited Availability**. This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

        Retrieves information about the taxation items of a specific debit memo item.
      summary: Get taxation items of debit memo item
      operationId: GET_TaxationItemsOfDebitMemoItem
      tags:
      - Debit Memos
      responses:
        '200':
          headers:
            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. \
                \       \n"
          description: ''
          examples:
            application/json:
              data:
              - balance: 10
                sourceTaxItemId: null
                paymentAmount: 0
                creditAmount: 0
                financeInformation:
                  salesTaxPayableAccountingCode: null
                  salesTaxPayableAccountingCodeType: null
                id: 402883836904567d01690530df760231
                taxAmount: 10
                name: taxName_0
                exemptAmount: 10
                jurisdiction: Jurisdiction
                locationCode: '8'
                taxCode: taxCode
                taxCodeDescription: taxCodeDescription
                taxDate: '2016-10-10'
                taxRate: 0.1
                taxRateDescription: taxRateDescription
                taxRateType: Percentage
              success: true
          schema:
            $ref: '#/definitions/GETTaxationItemsOfDebitMemoItemType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - $ref: '#/parameters/GLOBAL_REQUEST_page'
      - type: string
        in: path
        description: 'The unique ID of a debit memo item. You can get the debit memo
          item ID from the response of [Get debit memo items](https://www.zuora.com/developer/api-reference/#operation/GET_DebitMemoItems).

          '
        name: dmitemid
        required: true
      - type: string
        in: path
        description: 'The unique ID of a debit memo. For example, 8a8082e65b27f6c3015ba419f3c2644e.

          '
        name: debitMemoId
        required: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/debitmemos/{debitMemoId}/items/{dmitemid}/taxation-items"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/debitmemos/{debitMemoId}/items/{dmitemid}/taxation-items');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/items/{dmitemid}/taxation-items")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/debitmemos/{debitMemoId}/items/{dmitemid}/taxation-items", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/items/{dmitemid}/taxation-items")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/items/{dmitemid}/taxation-items");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/debitmemos/{debitMemoId}/pdfs:
    post:
      summary: Create debit memo PDF
      description: |
        **Note:** The Invoice Settlement feature is in **Limited Availability**. This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

        Creates a PDF file for a specified debit memo. To access the generated PDF file, you can download it by clicking **View PDF** on the detailed debit memo page through the Zuora UI.

        This REST API operation can be used only if you have the Billing user permission "Regenerate PDF" enabled.
      operationId: POST_DebitMemoPDF
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: debitMemoId
        in: path
        description: 'The unique ID of the debit memo that you want to create a PDF
          file for. For example, 8a8082e65b27f6c3015ba419f3c2644e.

          '
        required: true
        type: string
      tags:
      - Debit Memos
      responses:
        200:
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/POSTMemoPdfResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X POST -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/debitmemos/{debitMemoId}/pdfs"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/debitmemos/{debitMemoId}/pdfs');
          $request->setMethod(HTTP_METH_POST);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/pdfs")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/debitmemos/{debitMemoId}/pdfs", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/pdfs")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/pdfs");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/debitmemos/{debitMemoId}/post:
    put:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nPosts a debit\
        \ memo to activate it. You can post debit memos only if you have the [Billing\
        \ permissions](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/d_Billing_Roles#Billing_Permissions).\n"
      summary: Post debit memo
      operationId: PUT_PostDebitMemo
      tags:
      - Debit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 402890555a87d7f5015a8919e4fe002e
              number: DM00000002
              accountId: 402890555a7d4022015a7dabf5f60088
              debitMemoDate: '2017-03-01'
              targetDate: null
              dueDate: '2017-03-31'
              postedOn: '2017-03-01 18:14:29'
              postedById: 402881e522cf4f9b0122cf5d82860002
              status: Posted
              amount: 9
              taxAmount: 8
              totalTaxExemptAmount: 0
              balance: 9
              beAppliedAmount: 0
              autoPay: true
              comment: ''
              referredInvoiceId: 402890555a7d4022015a7dadb3b300a4
              transferredToAccounting: 'No'
              reasonCode: Correcting invoice error
              createdDate: '2017-03-01 17:01:00'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 18:14:29'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              cancelledOn: null
              cancelledById: null
              latestPDFFileId: null
              taxStatus: null
              taxMessage: null
              success: true
          schema:
            $ref: '#/definitions/GETDebitMemoType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        description: 'The unique ID of a debit memo. For example, 8a8082e65b27f6c3015ba419f3c2644e.

          '
        name: debitMemoId
        required: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/debitmemos/{debitMemoId}/post"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/debitmemos/{debitMemoId}/post');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/post")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/debitmemos/{debitMemoId}/post", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/post")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/post");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/debitmemos/{debitMemoId}/unpost:
    put:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nUnposts a debit\
        \ memo that is in Posted status. If any credit memo or payment has been applied\
        \ to a debit memo, you are not allowed to unpost the debit memo. After a debit\
        \ memo is unposted, its status becomes Draft.\n\nYou can unpost debit memos\
        \ only if you have the [Billing permissions](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/d_Billing_Roles#Billing_Permissions).\n"
      summary: Unpost debit memo
      operationId: PUT_UnpostDebitMemo
      tags:
      - Debit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 402890555a87d7f5015a8919e4fe002e
              number: DM00000002
              accountId: 402890555a7d4022015a7dabf5f60088
              debitMemoDate: '2017-03-01'
              targetDate: null
              dueDate: '2017-03-31'
              postedOn: '2017-03-01 18:14:29'
              postedById: 402881e522cf4f9b0122cf5d82860002
              status: Draft
              amount: 9
              taxAmount: 8
              totalTaxExemptAmount: 0
              balance: 9
              beAppliedAmount: 0
              autoPay: true
              comment: ''
              referredInvoiceId: 402890555a7d4022015a7dadb3b300a4
              transferredToAccounting: 'No'
              reasonCode: Correcting invoice error
              createdDate: '2017-03-01 17:01:00'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 18:14:29'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              cancelledOn: null
              cancelledById: null
              latestPDFFileId: null
              taxStatus: null
              taxMessage: null
              success: true
          schema:
            $ref: '#/definitions/GETDebitMemoType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        description: 'The unique ID of a debit memo. For example, 8a8082e65b27f6c3015ba419f3c2644e.

          '
        name: debitMemoId
        required: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/debitmemos/{debitMemoId}/unpost"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/debitmemos/{debitMemoId}/unpost');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/unpost")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/debitmemos/{debitMemoId}/unpost", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/unpost")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/unpost");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/debitmemos/{debitMemoId}/taxationitems:
    post:
      description: |
        **Note:** This feature is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

        Creates taxation items for a debit memo.
      summary: Create taxation items for debit memo
      operationId: POST_DM_TaxationItems
      tags:
      - Debit Memos
      responses:
        '200':
          description: ''
          examples:
            application/json:
              taxationItems:
              - createdById: 402881e522cf4f9b0122cf5d82860002
                createdDate: '2017-03-01 10:27:20'
                exemptAmount: 0
                id: 402890555a7e9791015a87b17cee0076
                memoItemId: 402890555a7e9791015a87b082980068
                sourceTaxItemId: 402890555a7d4022015a7db254e200c2
                jurisdiction: CALIFORNIA
                locationCode: '06'
                name: STATE TAX
                taxAmount: 0.01
                taxCode: ServiceTaxCode
                taxCodeDescription: This is tax code description!
                taxDate: '2016-06-05'
                taxRate: 0.0625
                taxRateDescription: This is tax rate description!
                taxRateType: Percentage
                updatedById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2017-03-01 10:27:20'
                financeInformation:
                  onAccountAccountingCode: null
                  onAccountAccountingCodeType: null
                  salesTaxPayableAccountingCode: Check
                  salesTaxPayableAccountingCodeType: Cash
              - createdById: 402881e522cf4f9b0122cf5d82860002
                createdDate: '2017-03-01 10:27:20'
                exemptAmount: 0
                id: 402890555a7e9791015a87b17cf10077
                memoItemId: 402890555a7e9791015a87b082d5006a
                jurisdiction: CALIFORNIA
                locationCode: '06'
                name: STATE TAX
                taxAmount: 0.02
                taxCode: ServiceTaxCode
                taxCodeDescription: This is tax code description!
                taxDate: '2016-06-05'
                taxRate: 0.0625
                taxRateDescription: This is tax rate description!
                taxRateType: Percentage
                updatedById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2017-03-01 10:27:20'
                financeInformation:
                  onAccountAccountingCode: null
                  onAccountAccountingCodeType: null
                  salesTaxPayableAccountingCode: Check
                  salesTaxPayableAccountingCodeType: Cash
              success: true
          schema:
            $ref: '#/definitions/GETTaxationItemListType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: debitMemoId
        description: 'The unique ID of a debit memo. For example, 8a8082e65b27f6c3015ba419f3c2644e.

          '
        required: true
      - name: body
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTTaxationItemListForDMType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"taxationItems\": [\n\
          \        {\n            \"exemptAmount\": 0.0, \n            \"financeInformation\"\
          : {\n                \"salesTaxPayableAccountingCode\": \"Check\"\n    \
          \        }, \n            \"jurisdiction\": \"CALIFORNIA\", \n         \
          \   \"locationCode\": \"06\", \n            \"memoItemId\": \"402890555a7e9791015a87b082980068\"\
          , \n            \"name\": \"STATE TAX\", \n            \"sourceTaxItemId\"\
          : \"402890555a7d4022015a7db254e200c2\", \n            \"taxAmount\": 0.01,\
          \ \n            \"taxCode\": \"ServiceTaxCode\", \n            \"taxCodeDescription\"\
          : \"This is tax code description!\", \n            \"taxDate\": \"2016-06-05\"\
          , \n            \"taxRate\": 0.0625, \n            \"taxRateDescription\"\
          : \"This is tax rate description!\", \n            \"taxRateType\": \"Percentage\"\
          \n        }, \n        {\n            \"exemptAmount\": 0.0, \n        \
          \    \"financeInformation\": {\n                \"salesTaxPayableAccountingCode\"\
          : \"Check\"\n            }, \n            \"jurisdiction\": \"CALIFORNIA\"\
          , \n            \"locationCode\": \"06\", \n            \"memoItemId\":\
          \ \"402890555a7e9791015a87b082d5006a\", \n            \"name\": \"STATE\
          \ TAX\", \n            \"sourceTaxItemId\": \"402890555a7d4022015a7db254e200c3\"\
          , \n            \"taxAmount\": 0.02, \n            \"taxCode\": \"ServiceTaxCode\"\
          , \n            \"taxCodeDescription\": \"This is tax code description!\"\
          , \n            \"taxDate\": \"2016-06-05\", \n            \"taxRate\":\
          \ 0.0625, \n            \"taxRateDescription\": \"This is tax rate description!\"\
          , \n            \"taxRateType\": \"Percentage\"\n        }\n    ]\n}' \"\
          https://rest.zuora.com/v1/debitmemos/{debitMemoId}/taxationitems\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/debitmemos/{debitMemoId}/taxationitems');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"taxationItems\": [\n        {\n     \
          \       \"exemptAmount\": 0.0, \n            \"financeInformation\": {\n\
          \                \"salesTaxPayableAccountingCode\": \"Check\"\n        \
          \    }, \n            \"jurisdiction\": \"CALIFORNIA\", \n            \"\
          locationCode\": \"06\", \n            \"memoItemId\": \"402890555a7e9791015a87b082980068\"\
          , \n            \"name\": \"STATE TAX\", \n            \"sourceTaxItemId\"\
          : \"402890555a7d4022015a7db254e200c2\", \n            \"taxAmount\": 0.01,\
          \ \n            \"taxCode\": \"ServiceTaxCode\", \n            \"taxCodeDescription\"\
          : \"This is tax code description!\", \n            \"taxDate\": \"2016-06-05\"\
          , \n            \"taxRate\": 0.0625, \n            \"taxRateDescription\"\
          : \"This is tax rate description!\", \n            \"taxRateType\": \"Percentage\"\
          \n        }, \n        {\n            \"exemptAmount\": 0.0, \n        \
          \    \"financeInformation\": {\n                \"salesTaxPayableAccountingCode\"\
          : \"Check\"\n            }, \n            \"jurisdiction\": \"CALIFORNIA\"\
          , \n            \"locationCode\": \"06\", \n            \"memoItemId\":\
          \ \"402890555a7e9791015a87b082d5006a\", \n            \"name\": \"STATE\
          \ TAX\", \n            \"sourceTaxItemId\": \"402890555a7d4022015a7db254e200c3\"\
          , \n            \"taxAmount\": 0.02, \n            \"taxCode\": \"ServiceTaxCode\"\
          , \n            \"taxCodeDescription\": \"This is tax code description!\"\
          , \n            \"taxDate\": \"2016-06-05\", \n            \"taxRate\":\
          \ 0.0625, \n            \"taxRateDescription\": \"This is tax rate description!\"\
          , \n            \"taxRateType\": \"Percentage\"\n        }\n    ]\n}');\n\
          \ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"taxationItems\": [\n        {\n            \"exemptAmount\": 0.0, \n            \"financeInformation\": {\n                \"salesTaxPayableAccountingCode\": \"Check\"\n            }, \n            \"jurisdiction\": \"CALIFORNIA\", \n            \"locationCode\": \"06\", \n            \"memoItemId\": \"402890555a7e9791015a87b082980068\", \n            \"name\": \"STATE TAX\", \n            \"sourceTaxItemId\": \"402890555a7d4022015a7db254e200c2\", \n            \"taxAmount\": 0.01, \n            \"taxCode\": \"ServiceTaxCode\", \n            \"taxCodeDescription\": \"This is tax code description!\", \n            \"taxDate\": \"2016-06-05\", \n            \"taxRate\": 0.0625, \n            \"taxRateDescription\": \"This is tax rate description!\", \n            \"taxRateType\": \"Percentage\"\n        }, \n        {\n            \"exemptAmount\": 0.0, \n            \"financeInformation\": {\n                \"salesTaxPayableAccountingCode\": \"Check\"\n            }, \n            \"jurisdiction\": \"CALIFORNIA\", \n            \"locationCode\": \"06\", \n            \"memoItemId\": \"402890555a7e9791015a87b082d5006a\", \n            \"name\": \"STATE TAX\", \n            \"sourceTaxItemId\": \"402890555a7d4022015a7db254e200c3\", \n            \"taxAmount\": 0.02, \n            \"taxCode\": \"ServiceTaxCode\", \n            \"taxCodeDescription\": \"This is tax code description!\", \n            \"taxDate\": \"2016-06-05\", \n            \"taxRate\": 0.0625, \n            \"taxRateDescription\": \"This is tax rate description!\", \n            \"taxRateType\": \"Percentage\"\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/taxationitems")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"taxationItems\": [\n        {\n            \"exemptAmount\": 0.0, \n            \"financeInformation\": {\n                \"salesTaxPayableAccountingCode\": \"Check\"\n            }, \n            \"jurisdiction\": \"CALIFORNIA\", \n            \"locationCode\": \"06\", \n            \"memoItemId\": \"402890555a7e9791015a87b082980068\", \n            \"name\": \"STATE TAX\", \n            \"sourceTaxItemId\": \"402890555a7d4022015a7db254e200c2\", \n            \"taxAmount\": 0.01, \n            \"taxCode\": \"ServiceTaxCode\", \n            \"taxCodeDescription\": \"This is tax code description!\", \n            \"taxDate\": \"2016-06-05\", \n            \"taxRate\": 0.0625, \n            \"taxRateDescription\": \"This is tax rate description!\", \n            \"taxRateType\": \"Percentage\"\n        }, \n        {\n            \"exemptAmount\": 0.0, \n            \"financeInformation\": {\n                \"salesTaxPayableAccountingCode\": \"Check\"\n            }, \n            \"jurisdiction\": \"CALIFORNIA\", \n            \"locationCode\": \"06\", \n            \"memoItemId\": \"402890555a7e9791015a87b082d5006a\", \n            \"name\": \"STATE TAX\", \n            \"sourceTaxItemId\": \"402890555a7d4022015a7db254e200c3\", \n            \"taxAmount\": 0.02, \n            \"taxCode\": \"ServiceTaxCode\", \n            \"taxCodeDescription\": \"This is tax code description!\", \n            \"taxDate\": \"2016-06-05\", \n            \"taxRate\": 0.0625, \n            \"taxRateDescription\": \"This is tax rate description!\", \n            \"taxRateType\": \"Percentage\"\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/debitmemos/{debitMemoId}/taxationitems", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/taxationitems")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"taxationItems\": [\n        {\n            \"exemptAmount\": 0.0, \n            \"financeInformation\": {\n                \"salesTaxPayableAccountingCode\": \"Check\"\n            }, \n            \"jurisdiction\": \"CALIFORNIA\", \n            \"locationCode\": \"06\", \n            \"memoItemId\": \"402890555a7e9791015a87b082980068\", \n            \"name\": \"STATE TAX\", \n            \"sourceTaxItemId\": \"402890555a7d4022015a7db254e200c2\", \n            \"taxAmount\": 0.01, \n            \"taxCode\": \"ServiceTaxCode\", \n            \"taxCodeDescription\": \"This is tax code description!\", \n            \"taxDate\": \"2016-06-05\", \n            \"taxRate\": 0.0625, \n            \"taxRateDescription\": \"This is tax rate description!\", \n            \"taxRateType\": \"Percentage\"\n        }, \n        {\n            \"exemptAmount\": 0.0, \n            \"financeInformation\": {\n                \"salesTaxPayableAccountingCode\": \"Check\"\n            }, \n            \"jurisdiction\": \"CALIFORNIA\", \n            \"locationCode\": \"06\", \n            \"memoItemId\": \"402890555a7e9791015a87b082d5006a\", \n            \"name\": \"STATE TAX\", \n            \"sourceTaxItemId\": \"402890555a7d4022015a7db254e200c3\", \n            \"taxAmount\": 0.02, \n            \"taxCode\": \"ServiceTaxCode\", \n            \"taxCodeDescription\": \"This is tax code description!\", \n            \"taxDate\": \"2016-06-05\", \n            \"taxRate\": 0.0625, \n            \"taxRateDescription\": \"This is tax rate description!\", \n            \"taxRateType\": \"Percentage\"\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/debitmemos/{debitMemoId}/taxationitems");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"taxationItems\": [\n        {\n            \"exemptAmount\": 0.0, \n            \"financeInformation\": {\n                \"salesTaxPayableAccountingCode\": \"Check\"\n            }, \n            \"jurisdiction\": \"CALIFORNIA\", \n            \"locationCode\": \"06\", \n            \"memoItemId\": \"402890555a7e9791015a87b082980068\", \n            \"name\": \"STATE TAX\", \n            \"sourceTaxItemId\": \"402890555a7d4022015a7db254e200c2\", \n            \"taxAmount\": 0.01, \n            \"taxCode\": \"ServiceTaxCode\", \n            \"taxCodeDescription\": \"This is tax code description!\", \n            \"taxDate\": \"2016-06-05\", \n            \"taxRate\": 0.0625, \n            \"taxRateDescription\": \"This is tax rate description!\", \n            \"taxRateType\": \"Percentage\"\n        }, \n        {\n            \"exemptAmount\": 0.0, \n            \"financeInformation\": {\n                \"salesTaxPayableAccountingCode\": \"Check\"\n            }, \n            \"jurisdiction\": \"CALIFORNIA\", \n            \"locationCode\": \"06\", \n            \"memoItemId\": \"402890555a7e9791015a87b082d5006a\", \n            \"name\": \"STATE TAX\", \n            \"sourceTaxItemId\": \"402890555a7d4022015a7db254e200c3\", \n            \"taxAmount\": 0.02, \n            \"taxCode\": \"ServiceTaxCode\", \n            \"taxCodeDescription\": \"This is tax code description!\", \n            \"taxDate\": \"2016-06-05\", \n            \"taxRate\": 0.0625, \n            \"taxRateDescription\": \"This is tax rate description!\", \n            \"taxRateType\": \"Percentage\"\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/describe/{object}:
    get:
      summary: Describe object
      operationId: GET_Describe
      description: "Provides a reference listing of each object that is available\
        \ in your Zuora tenant.\n\nThe information returned by this call is useful\
        \ if you are using [CRUD: Create Export](https://www.zuora.com/developer/api-reference/#operation/Object_POSTExport)\
        \ or the [AQuA API](https://knowledgecenter.zuora.com/DC_Developers/T_Aggregate_Query_API)\
        \ to create a data source export. See [Export ZOQL](https://knowledgecenter.zuora.com/DC_Developers/M_Export_ZOQL)\
        \ for more information.\n\n## Response\nThe response contains an XML document\
        \ that lists the fields of the specified object. Each of the object's fields\
        \ is represented by a `<field>` element in the XML document.\n    \nEach `<field>`\
        \ element contains the following elements:\n\n| Element      | Description\
        \                                                                        \
        \                                                                        \
        \                                                                        \
        \                                                          |\n|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n\
        | `<name>`     | API name of the field.                                  \
        \                                                                        \
        \                                                                        \
        \                                                                        \
        \             |\n| `<label>`    | Name of the field in the Zuora user interface.\
        \                                                                        \
        \                                                                        \
        \                                                                        \
        \                       |\n| `<type>`     | Data type of the field. The possible\
        \ data types are: `boolean`, `date`, `datetime`, `decimal`, `integer`, `picklist`,\
        \ `text`, `timestamp`, and `ZOQL`. If the data type is `picklist`, the `<field>`\
        \ element contains an `<options>` element that lists the possible values of\
        \ the field.    |\n| `<contexts>` | Specifies the availability of the field.\
        \ If the `<contexts>` element lists the `export` context, the field is available\
        \ for use in data source exports.                                        \
        \                                                                        \
        \                                |\n\nThe `<field>` element contains other\
        \ elements that provide legacy information about the field. This information\
        \ is not directly related to the REST API.\n\nResponse sample:\n```xml\n<?xml\
        \ version=\"1.0\" encoding=\"UTF-8\"?>\n<object>\n  <name>ProductRatePlanCharge</name>\n\
        \  <label>Product Rate Plan Charge</label>\n  <fields>\n    ...\n    <field>\n\
        \      <name>TaxMode</name>\n      <label>Tax Mode</label>\n      <type>picklist</type>\n\
        \      <options>\n        <option>TaxExclusive</option>\n        <option>TaxInclusive</option>\n\
        \      </options>\n      <contexts>\n        <context>export</context>\n \
        \     </contexts>\n      ...\n    </field>\n    ...\n  </fields>\n</object>\n\
        ```\n\nIt is strongly recommended that your integration checks `<contexts>`\
        \ elements in the response. If your integration does not check `<contexts>`\
        \ elements, your integration may process fields that are not available for\
        \ use in data source exports. See [Changes to the Describe API](https://knowledgecenter.zuora.com/DC_Developers/M_Export_ZOQL/Changes_to_the_Describe_API)\
        \ for more information.\n"
      tags:
      - Describe
      produces:
      - text/xml; charset=utf-8
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: object
        in: path
        required: true
        description: |
          API name of an object in your Zuora tenant. For example, `InvoiceItem`. See [Zuora Object Model](https://www.zuora.com/developer/api-reference/#section/Zuora-Object-Model) for the list of valid object names.

          Depending on the features enabled in your Zuora tenant, you may not be able to list the fields of some objects.
        type: string
      responses:
        '200':
          description: 'Returns an XML document that lists the fields of the specified
            object

            '
          schema:
            type: string
        '404':
          description: 'Returns an XML document that indicates the error

            '
          schema:
            type: string
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/describe/{object}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/describe/{object}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/describe/{object}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/describe/{object}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/describe/{object}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/describe/{object}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/document-properties:
    post:
      summary: Create document properties
      operationId: POST_DocumentProperties
      description: "**Note:** This feature is available only if you have the Billing\
        \ Document Properties Setup feature enabled. The Billing Document Properties\
        \ Setup feature is in **Limited Availability**. If you wish to have access\
        \ to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).\n\
        \nCreates custom document properties for a billing document. For example,\
        \ a document property can be a custom name used for files generated for billing\
        \ documents. Billing documents include invoices, credit memos, and debit memos.\n\
        \nIf you want to configure custom file names for billing documents created\
        \ through API operations, you have to call this operation before posting the\
        \ billing documents. \n\n**Note:** You can create document properties for\
        \ credit and debit memos only if you have the Invoice Settlement feature enabled.\
        \ The Invoice Settlement feature is in **Limited Availability**. If you wish\
        \ to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).\n"
      tags:
      - Document Properties
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTDocumentPropertiesType'
      responses:
        '200':
          headers:
            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.

                '
          examples:
            application/json:
              success: true
              id: 402892c74c9193cd014c96bbe7c101f9
              documentId: 40288af1614cee0b01614cf2ec25000a
              documentType: CreditMemo
              customFileName: testCreditMemo
          description: ''
          schema:
            $ref: '#/definitions/GETDocumentPropertiesResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"customFileName\": \"\
          testCreditMemo\", \n    \"documentId\": \"40288af1614cee0b01614cf2ec25000a\"\
          , \n    \"documentType\": \"CreditMemo\"\n}' \"https://rest.zuora.com/v1/document-properties\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/document-properties');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"customFileName\": \"testCreditMemo\"\
          , \n    \"documentId\": \"40288af1614cee0b01614cf2ec25000a\", \n    \"documentType\"\
          : \"CreditMemo\"\n}');\n\ntry {\n  $response = $request->send();\n\n  echo\
          \ $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"customFileName\": \"testCreditMemo\", \n    \"documentId\": \"40288af1614cee0b01614cf2ec25000a\", \n    \"documentType\": \"CreditMemo\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/document-properties")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"customFileName\": \"testCreditMemo\", \n    \"documentId\": \"40288af1614cee0b01614cf2ec25000a\", \n    \"documentType\": \"CreditMemo\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/document-properties", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/document-properties")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"customFileName\": \"testCreditMemo\", \n    \"documentId\": \"40288af1614cee0b01614cf2ec25000a\", \n    \"documentType\": \"CreditMemo\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/document-properties");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"customFileName\": \"testCreditMemo\", \n    \"documentId\": \"40288af1614cee0b01614cf2ec25000a\", \n    \"documentType\": \"CreditMemo\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/document-properties/{documentType}/{documentId}:
    get:
      summary: Get document properties
      operationId: GET_DocumentProperies
      description: "**Note:** This feature is available only if you have the Billing\
        \ Document Properties Setup feature enabled. The Billing Document Properties\
        \ Setup feature is in **Limited Availability**. If you wish to have access\
        \ to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).\n\
        \n Retrieve information about document properties of a billing document. Billing\
        \ documents include invoices, credit memos, and debit memos.\n \n **Note:**\
        \ You can retrieve information about document properties of credit and debit\
        \ memos only if you have the Invoice Settlement feature enabled. The Invoice\
        \ Settlement feature is in **Limited Availability**. If you wish to have access\
        \ to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).\n"
      tags:
      - Document Properties
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: documentType
        in: path
        description: "The type of the billing document. \n"
        type: string
        enum:
        - Invoice
        - CreditMemo
        - DebitMemo
        required: true
      - name: documentId
        in: path
        description: 'The unique ID of document properties to be retrieved. For example,
          402892c74c9193cd014c96bbe7c101f9.

          '
        required: true
        type: string
      responses:
        '200':
          headers:
            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.

                '
          examples:
            application/json:
              success: true
              id: 402892c74c9193cd014c96bbe7c101f9
              documentId: 40288af1614cee0b01614cf2ec25000a
              documentType: CreditMemo
              customFileName: customPDFName
          description: ''
          schema:
            $ref: '#/definitions/GETDocumentPropertiesResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/document-properties/{documentType}/{documentId}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/document-properties/{documentType}/{documentId}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/document-properties/{documentType}/{documentId}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/document-properties/{documentType}/{documentId}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/document-properties/{documentType}/{documentId}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/document-properties/{documentType}/{documentId}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/document-properties/{documentPropertiesId}:
    put:
      summary: Update document properties
      operationId: PUT_DocumentProperties
      description: |
        **Note:** This feature is available only if you have the Billing Document Properties Setup feature enabled. The Billing Document Properties Setup feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

        Updates document properties with a specific ID for a billing document. Billing documents include invoices, credit memos, and debit memos.

        **Note:** You can update document properties for credit and debit memos only if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
      tags:
      - Document Properties
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUTDocumentPropertiesType'
      - name: documentPropertiesId
        in: path
        description: 'The unique ID of document properties to be updated. For example,
          402892c74c9193cd014c96bbe7c101f9.

          '
        required: true
        type: string
      responses:
        '200':
          headers:
            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.

                '
          examples:
            application/json:
              success: true
              id: 402892c74c9193cd014c96bbe7c101f9
              documentId: 40288af1614cee0b01614cf2ec25000a
              documentType: CreditMemo
              customFileName: customPDFName
          description: ''
          schema:
            $ref: '#/definitions/GETDocumentPropertiesResponseType'
      x-code-samples:
      - lang: Curl
        source: |-
          curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3" -H "Content-Type: application/json" -d '{
              "customFileName": "exampleCreditMemo"
          }' "https://rest.zuora.com/v1/document-properties/{documentPropertiesId}"
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/document-properties/{documentPropertiesId}');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{
              "customFileName": "exampleCreditMemo"
          }');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"customFileName\": \"exampleCreditMemo\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/document-properties/{documentPropertiesId}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"customFileName\": \"exampleCreditMemo\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/document-properties/{documentPropertiesId}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/document-properties/{documentPropertiesId}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"customFileName\": \"exampleCreditMemo\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/document-properties/{documentPropertiesId}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"customFileName\": \"exampleCreditMemo\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    delete:
      summary: Delete document properties
      operationId: DELETE_DocumentProperties
      description: |
        **Note:** This feature is available only if you have the Billing Document Properties Setup feature enabled. The Billing Document Properties Setup feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

        Deletes document properties with a specific ID for a billing document. Billing documents include invoices, credit memos, and debit memos.

        **Note:** You can delete document properties for credit and debit memos only if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
      tags:
      - Document Properties
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: documentPropertiesId
        in: path
        description: 'The unique ID of document properties. For example, 402892c74c9193cd014c96bbe7c101f9.

          '
        required: true
        type: string
      responses:
        '200':
          headers:
            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.

                '
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/document-properties/{documentPropertiesId}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/document-properties/{documentPropertiesId}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/document-properties/{documentPropertiesId}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/document-properties/{documentPropertiesId}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/document-properties/{documentPropertiesId}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/document-properties/{documentPropertiesId}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /events/event-triggers:
    post:
      tags:
      - Event Triggers
      operationId: POST_EventTrigger
      summary: Create an event trigger
      description: |
        You can define an event trigger on any of the following objects:

          * Account
          * AccountingCode
          * AccountingPeriod
          * Amendment
          * BillingRun
          * Contact
          * CreditBalanceAdjustment
          * CreditMemo
          * CreditMemoApplication
          * CreditMemoApplicationItem
          * CreditMemoItem
          * DebitMemo
          * DebitMemoItem
          * Feature
          * Invoice
          * InvoiceAdjustment
          * InvoiceItem
          * InvoiceItemAdjustment
          * JournalEntry
          * JournalEntryItem
          * Order
          * OrderAction
          * Payment
          * PaymentApplication
          * PaymentMethod
          * PaymentPart
          * Product
          * ProductFeature
          * ProductRatePlan
          * ProductRatePlanCharge
          * RatePlan
          * RatePlanCharge
          * Refund
          * RefundApplication
          * RevenueEvent
          * RevenueEventItem
          * RevenueSchedule
          * RevenueScheduleItem
          * Subscription
          * SubscriptionProductFeature
          * TaxationItem
          * Usage

        The `baseObject` field specifies which object to define a trigger on. The `condition` field is a [JEXL](http://commons.apache.org/proper/commons-jexl/) expression that specifies when to trigger events. The expression can contain fields from the object that the trigger is defined on.

        **Note:** The condition cannot contain fields from [data source](https://knowledgecenter.zuora.com/DC_Developers/M_Export_ZOQL) objects that are joined to the object that the trigger is defined on.

        For example, the following condition causes an event to be triggered whenever an invoice is posted with an amount greater than 1000:

        ```changeType == 'UPDATE' && Invoice.Status == 'Posted' && Invoice.Status_old != 'Posted' && Invoice.Amount > 1000```

        Where:

          * `changeType` is a keyword that specifies the type of change that occurred to the Invoice object. For all objects, the supported values of `changeType` are `INSERT`, `UPDATE`,  and `DELETE`.
          * `Invoice.Status` is the value of the Invoice object's `Status` field after the change occurred.
          * `Invoice.Status_old` is the value of the Invoice object's `Status` field before the change occurred.

        In the above example, the value of `baseObject` would be `Invoice`.
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: postEventTriggerRequest
        in: body
        required: true
        schema:
          $ref: '#/definitions/PostEventTriggerRequest'
      responses:
        200:
          description: OK
          headers:
            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/EventTrigger'
          examples:
            application/json: |-
              {
                "id": "ac1ee535e8524858a72edb464212729d",
                "baseObject": "Invoice",
                "condition": "changeType == 'UPDATE' && Invoice.Status == 'Posted' && Invoice.Status_old != 'Posted' && Invoice.Amount > 1000",
                "description": "trigger an event when an invoice is posted with amount over 1000",
                "eventType": {
                  "name": "LargeInvoicePosted",
                  "displayName": "Large Invoice Posted",
                  "description": "An invoice is posted with amount over 1000"
                },
                "active": true
              }
        400:
          description: Bad Request
          headers:
            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/ErrorResponse'
          examples:
            application/json: |-
              {
                "reasons": [
                  {
                    "code": "MissingRequiredField",
                    "message": "eventType is missing"
                  }
                ]
              }
        500:
          description: Server Error
          headers:
            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/ErrorResponse'
          examples:
            application/json: |-
              {
                "reasons": [
                  {
                    "code": "SystemError",
                    "message": "internal server error"
                  }
                ]
              }
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"active\": true, \n\
          \    \"baseObject\": \"Invoice\", \n    \"condition\": \"changeType == '\\\
          ''UPDATE'\\'' && Invoice.Status == '\\''Posted'\\'' && Invoice.Status_old\
          \ != '\\''Posted'\\'' && Invoice.Amount > 1000\", \n    \"description\"\
          : \"Trigger an event when an invoice is posted with amount over 1000\",\
          \ \n    \"eventType\": {\n        \"description\": \"An invoice is posted\
          \ with amount over 1000\", \n        \"displayName\": \"Large Invoice Posted\"\
          , \n        \"name\": \"LargeInvoicePosted\"\n    }\n}' \"https://rest.zuora.com/events/event-triggers\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/events/event-triggers');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"active\": true, \n    \"baseObject\"\
          : \"Invoice\", \n    \"condition\": \"changeType == \\'UPDATE\\' && Invoice.Status\
          \ == \\'Posted\\' && Invoice.Status_old != \\'Posted\\' && Invoice.Amount\
          \ > 1000\", \n    \"description\": \"Trigger an event when an invoice is\
          \ posted with amount over 1000\", \n    \"eventType\": {\n        \"description\"\
          : \"An invoice is posted with amount over 1000\", \n        \"displayName\"\
          : \"Large Invoice Posted\", \n        \"name\": \"LargeInvoicePosted\"\n\
          \    }\n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"active\": true, \n    \"baseObject\": \"Invoice\", \n    \"condition\": \"changeType == 'UPDATE' && Invoice.Status == 'Posted' && Invoice.Status_old != 'Posted' && Invoice.Amount > 1000\", \n    \"description\": \"Trigger an event when an invoice is posted with amount over 1000\", \n    \"eventType\": {\n        \"description\": \"An invoice is posted with amount over 1000\", \n        \"displayName\": \"Large Invoice Posted\", \n        \"name\": \"LargeInvoicePosted\"\n    }\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/events/event-triggers")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"active\": true, \n    \"baseObject\": \"Invoice\", \n    \"condition\": \"changeType == 'UPDATE' && Invoice.Status == 'Posted' && Invoice.Status_old != 'Posted' && Invoice.Amount > 1000\", \n    \"description\": \"Trigger an event when an invoice is posted with amount over 1000\", \n    \"eventType\": {\n        \"description\": \"An invoice is posted with amount over 1000\", \n        \"displayName\": \"Large Invoice Posted\", \n        \"name\": \"LargeInvoicePosted\"\n    }\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/events/event-triggers", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/events/event-triggers")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"active\": true, \n    \"baseObject\": \"Invoice\", \n    \"condition\": \"changeType == 'UPDATE' && Invoice.Status == 'Posted' && Invoice.Status_old != 'Posted' && Invoice.Amount > 1000\", \n    \"description\": \"Trigger an event when an invoice is posted with amount over 1000\", \n    \"eventType\": {\n        \"description\": \"An invoice is posted with amount over 1000\", \n        \"displayName\": \"Large Invoice Posted\", \n        \"name\": \"LargeInvoicePosted\"\n    }\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/events/event-triggers");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"active\": true, \n    \"baseObject\": \"Invoice\", \n    \"condition\": \"changeType == 'UPDATE' && Invoice.Status == 'Posted' && Invoice.Status_old != 'Posted' && Invoice.Amount > 1000\", \n    \"description\": \"Trigger an event when an invoice is posted with amount over 1000\", \n    \"eventType\": {\n        \"description\": \"An invoice is posted with amount over 1000\", \n        \"displayName\": \"Large Invoice Posted\", \n        \"name\": \"LargeInvoicePosted\"\n    }\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      tags:
      - Event Triggers
      operationId: GET_EventTriggers
      summary: Query event triggers
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: baseObject
        in: query
        description: 'The Zuora object that trigger condition is defined upon. Should
          be specified in the pattern: ^[A-Z][\\w\\-]*$'
        required: false
        type: string
      - name: eventTypeName
        in: query
        description: 'The event type name. Should be specified in the pattern: ^[A-Za-z]{1,}[\w\-]*$'
        required: false
        type: string
      - name: active
        in: query
        description: The status of the event trigger.
        required: false
        type: string
      - name: start
        in: query
        description: The first index of the query result. Default to 0 if absent,
          and the minimum is 0.
        required: false
        type: integer
        default: 0
        minimum: 0
      - name: limit
        in: query
        description: The maximum number of data records to be returned. Default to
          10 if absent.
        required: false
        type: integer
        default: 10
        minimum: 1
      responses:
        200:
          description: OK
          headers:
            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: object
            properties:
              data:
                type: array
                items:
                  $ref: '#/definitions/EventTrigger'
              next:
                type: string
                description: The link to the next page. No value if it is last page.
          examples:
            application/json: |-
              {
                "data": [
                  {
                    "id": "ac1ee535e8524858a72edb464212729d",
                    "baseObject": "Invoice",
                    "condition": "changeType == 'UPDATE' && Invoice.Status == 'Posted' && Invoice.Status_old != 'Posted' && Invoice.Amount > 1000",
                    "description": "trigger an event when an invoice is posted with amount over 1000",
                    "eventType": {
                      "name": "LargeInvoicePosted",
                      "displayName": "Large Invoice Posted",
                      "description": "An invoice is posted with amount over 1000"
                    },
                    "active": true
                  }
                ],
                "next": "https://api.zuora.com/events/event-triggers?start=1&limit=1"
              }
        400:
          description: Bad Request
          headers:
            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/ErrorResponse'
          examples:
            application/json: |-
              {
                "reasons": [
                  {
                    "code": "FieldConstraintViolation",
                    "message": "start should be >= 0"
                  }
                ]
              }
        500:
          description: Server Error
          headers:
            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/ErrorResponse'
          examples:
            application/json: |-
              {
                "reasons": [
                  {
                    "code": "SystemError",
                    "message": "internal server error"
                  }
                ]
              }
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/events/event-triggers"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/events/event-triggers');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/events/event-triggers")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/events/event-triggers", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/events/event-triggers")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/events/event-triggers");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /events/event-triggers/{id}:
    get:
      tags:
      - Event Triggers
      operationId: GET_EventTrigger
      summary: Get an event trigger by ID
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        required: true
        type: string
        format: uuid
      responses:
        200:
          description: OK
          headers:
            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/EventTrigger'
          examples:
            application/json: |-
              {
                "id": "ac1ee535e8524858a72edb464212729d",
                "baseObject": "Invoice",
                "condition": "changeType == 'UPDATE' && Invoice.Status == 'Posted' && Invoice.Status_old != 'Posted' && Invoice.Amount > 1000",
                "description": "trigger an event when an invoice is posted with amount over 1000",
                "eventType": {
                  "name": "LargeInvoicePosted",
                  "displayName": "Large Invoice Posted",
                  "description": "An invoice is posted with amount over 1000"
                },
                "active": true
              }
        404:
          description: Not Found
          headers:
            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/ErrorResponse'
          examples:
            application/json: |-
              {
                "reasons": [
                  {
                    "code": "ObjectNotFound",
                    "message": "no event trigger found with the given id"
                  }
                ]
              }
        500:
          description: Server Error
          headers:
            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/ErrorResponse'
          examples:
            application/json: |-
              {
                "reasons": [
                  {
                    "code": "SystemError",
                    "message": "internal server error"
                  }
                ]
              }
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/events/event-triggers/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/events/event-triggers/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/events/event-triggers/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/events/event-triggers/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/events/event-triggers/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/events/event-triggers/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      description: ''
      tags:
      - Event Triggers
      operationId: PUT_EventTrigger
      summary: Update an event trigger
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        required: true
        type: string
        format: uuid
      - name: putEventTriggerRequest
        in: body
        required: true
        schema:
          $ref: '#/definitions/PutEventTriggerRequest'
      responses:
        200:
          description: OK
          headers:
            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/EventTrigger'
          examples:
            application/json: |-
              {
                "id": "ac1ee535e8524858a72edb464212729d",
                "baseObject": "Invoice",
                "condition": "changeType == 'UPDATE' && Invoice.Status == 'Posted' && Invoice.Status_old != 'Posted' && Invoice.Amount > 5000",
                "description": "trigger an event when an invoice is posted with amount over 5000",
                "eventType": {
                  "name": "LargeInvoicePosted",
                  "displayName": "Large Invoice Posted",
                  "description": "An invoice is posted with amount over 5000"
                },
                "active": true
              }
        404:
          description: Not Found
          headers:
            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/ErrorResponse'
          examples:
            application/json: |-
              {
                "reasons": [
                  {
                    "code": "ObjectNotFound",
                    "message": "no event trigger found with the given id"
                  }
                ]
              }
        500:
          description: Server Error
          headers:
            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/ErrorResponse'
          examples:
            application/json: |-
              {
                "reasons": [
                  {
                    "code": "SystemError",
                    "message": "internal server error"
                  }
                ]
              }
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"condition\": \"changeType\
          \ == '\\''UPDATE'\\'' && Invoice.Status == '\\''Posted'\\'' && Invoice.Status_old\
          \ != '\\''Posted'\\'' && Invoice.Amount > 5000\", \n    \"description\"\
          : \"Trigger an event when an invoice is posted with amount over 5000\",\
          \ \n    \"eventType\": {\n        \"description\": \"An invoice is posted\
          \ with amount over 5000\"\n    }\n}' \"https://rest.zuora.com/events/event-triggers/{id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/events/event-triggers/{id}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"condition\": \"changeType == \\'UPDATE\\\
          ' && Invoice.Status == \\'Posted\\' && Invoice.Status_old != \\'Posted\\\
          ' && Invoice.Amount > 5000\", \n    \"description\": \"Trigger an event\
          \ when an invoice is posted with amount over 5000\", \n    \"eventType\"\
          : {\n        \"description\": \"An invoice is posted with amount over 5000\"\
          \n    }\n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"condition\": \"changeType == 'UPDATE' && Invoice.Status == 'Posted' && Invoice.Status_old != 'Posted' && Invoice.Amount > 5000\", \n    \"description\": \"Trigger an event when an invoice is posted with amount over 5000\", \n    \"eventType\": {\n        \"description\": \"An invoice is posted with amount over 5000\"\n    }\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/events/event-triggers/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"condition\": \"changeType == 'UPDATE' && Invoice.Status == 'Posted' && Invoice.Status_old != 'Posted' && Invoice.Amount > 5000\", \n    \"description\": \"Trigger an event when an invoice is posted with amount over 5000\", \n    \"eventType\": {\n        \"description\": \"An invoice is posted with amount over 5000\"\n    }\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/events/event-triggers/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/events/event-triggers/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"condition\": \"changeType == 'UPDATE' && Invoice.Status == 'Posted' && Invoice.Status_old != 'Posted' && Invoice.Amount > 5000\", \n    \"description\": \"Trigger an event when an invoice is posted with amount over 5000\", \n    \"eventType\": {\n        \"description\": \"An invoice is posted with amount over 5000\"\n    }\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/events/event-triggers/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"condition\": \"changeType == 'UPDATE' && Invoice.Status == 'Posted' && Invoice.Status_old != 'Posted' && Invoice.Amount > 5000\", \n    \"description\": \"Trigger an event when an invoice is posted with amount over 5000\", \n    \"eventType\": {\n        \"description\": \"An invoice is posted with amount over 5000\"\n    }\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    delete:
      description: ''
      tags:
      - Event Triggers
      operationId: DELETE_EventTrigger
      summary: Remove an event trigger
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        required: true
        type: string
        format: uuid
      responses:
        204:
          description: No Content
          headers:
            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.

                '
        404:
          description: Not Found
          headers:
            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/ErrorResponse'
          examples:
            application/json: |-
              {
                "reasons": [
                  {
                    "code": "ObjectNotFound",
                    "message": "no event trigger found with the given id"
                  }
                ]
              }
        500:
          description: Server Error
          headers:
            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/ErrorResponse'
          examples:
            application/json: |-
              {
                "reasons": [
                  {
                    "code": "SystemError",
                    "message": "internal server error"
                  }
                ]
              }
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/events/event-triggers/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/events/event-triggers/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/events/event-triggers/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/events/event-triggers/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/events/event-triggers/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/events/event-triggers/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/files/{file-id}:
    get:
      summary: Get files
      operationId: GET_Files
      description: |
        Retrieve files such as export results, invoices, and accounting period reports.

        **Note:** The maximum file size is 2047MB. If you have a data request that exceeds this limit, Zuora returns the following 403 response: `<security:max-object-size>2047MB</security:max-object-size>`. Submit a request at <a href="http://support.zuora.com/" target="_blank">Zuora Global Support</a> to determine if large file optimization is an option for you.
      tags:
      - Get Files
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: file-id
        in: path
        description: 'The Zuora ID of the file to retrieve.

          '
        required: true
        type: string
      responses:
        '200':
          description: ''
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Accept: application/pdf" "https://rest.zuora.com/v1/files/2c92c08c55534cf00155581fb474314d"
          -o invoice.pdf

          '
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/files/{file-id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/files/{file-id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/files/{file-id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/files/{file-id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/files/{file-id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/hmac-signatures:
    post:
      summary: Return HMAC signatures
      operationId: POST_HMACSignatures
      description: 'This REST API reference describes how to return unique signature
        and token values that used to process a CORS enabled API call.

        '
      tags:
      - HMAC Signatures
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTHMACSignatureType'
      responses:
        '200':
          examples:
            application/json:
              signature: ZmI0ZjE2ZTMxMWY1YjA0ZTc4MTg1ZDhlYWRkMTEwNDE3M2RiMzNiNQ==
              token: gCH6gYqQffQCsFKSLuxyagXsuXcIK0uf
              success: true
          description: ''
          schema:
            $ref: '#/definitions/POSTHMACSignatureResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"accountKey\": \"A00000001\"\
          , \n    \"method\": \"POST\", \n    \"uri\": \"https://rest.zuora.com/v1/payment-methods/credit-cards\"\
          \n}' \"https://rest.zuora.com/v1/hmac-signatures\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/hmac-signatures');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"accountKey\": \"A00000001\", \n    \"\
          method\": \"POST\", \n    \"uri\": \"https://rest.zuora.com/v1/payment-methods/credit-cards\"\
          \n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"accountKey\": \"A00000001\", \n    \"method\": \"POST\", \n    \"uri\": \"https://rest.zuora.com/v1/payment-methods/credit-cards\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/hmac-signatures")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"accountKey\": \"A00000001\", \n    \"method\": \"POST\", \n    \"uri\": \"https://rest.zuora.com/v1/payment-methods/credit-cards\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/hmac-signatures", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/hmac-signatures")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"accountKey\": \"A00000001\", \n    \"method\": \"POST\", \n    \"uri\": \"https://rest.zuora.com/v1/payment-methods/credit-cards\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/hmac-signatures");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"accountKey\": \"A00000001\", \n    \"method\": \"POST\", \n    \"uri\": \"https://rest.zuora.com/v1/payment-methods/credit-cards\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/hostedpages:
    get:
      summary: Return hosted pages
      operationId: Get_HostedPages
      description: |
        Returns the Payment Pages configuration metadata,
        specifically, page ID, page version, payment method type.

        The following are the version-specific and general REST requests for Payment Pages:

        * The request for Payment Pages 1.0 configuration information: `GET <BaseURL>/hostedpages?version=1`
        * The request for Payment Pages 2.0 configuration information: `GET <BaseURL>/hostedpages?version=2`
        * The request for all versions of Payment Pages configuration information: `GET <BaseURL>/hostedpages`

        ## Notes
        If you do not have the corresponding tenant setting enabled, e.g., the request `version` parameter set to 2 with the Payment Pages 2.0 setting disabled, you will receive an error.
      tags:
      - Hosted Pages
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: versionNumber
        in: query
        description: |
          Version of the Payment Pages for which you want to retrieve the configuration information. Specify 1 for Payment Pages 1.0 or 2 for Payment Pages 2.0. If omitted, information for all versions of Payment Pages are returned.

          The response also depends on your tenant settings for Payment Pages 1.0 and Payment Pages 2.0. For example, if only the tenant setting for Payment Pages 2.0 is enabled, the response will only contain information for Payment Pages 2.0 forms even when this parameter is omitted.
        required: false
        type: string
      responses:
        '200':
          examples:
            application/json:
              hostedpages:
              - pageId: 8a85858f49a3f2230149abccaa2e004a
                pageType: ACH
                pageVersion: 2.0
              - pageId: 8a85858f49a3f2230149abcd99090057
                pageType: Bank Transfer
                pageVersion: 2.0
              - pageId: 8a85858f49a3f2230149a71083d40019
                pageType: Credit Card
                pageVersion: 2.0
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GetHostedPagesType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/hostedpages"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/hostedpages');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/hostedpages")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/hostedpages", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/hostedpages")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/hostedpages");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/invoices:
    put:
      description: "Updates multiple invoices in batches with one call. \n"
      summary: Update invoices
      operationId: PUT_BatchUpdateInvoices
      tags:
      - Invoices
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PutBatchInvoiceType'
      responses:
        '200':
          description: ''
          examples:
            application/json:
              success: true
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"invoices\": [\n   \
          \     {\n            \"autoPay\": false, \n            \"dueDate\": \"2017-12-16\"\
          , \n            \"id\": \"2c93808457d787030157e031d86c4c57\", \n       \
          \     \"transferredToAccounting\": \"Yes\"\n        }, \n        {\n   \
          \         \"autoPay\": false, \n            \"dueDate\": \"2017-12-27\"\
          , \n            \"id\": \"2c92c8955bd63cc1015bd7c151af02ab\", \n       \
          \     \"transferredToAccounting\": \"Yes\"\n        }, \n        {\n   \
          \         \"id\": \"2c92c8955bd63cc1015bd7c151af02dc\", \n            \"\
          invoiceDate\": \"2017-11-27\"\n        }\n    ]\n}' \"https://rest.zuora.com/v1/invoices\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/invoices');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"invoices\": [\n        {\n          \
          \  \"autoPay\": false, \n            \"dueDate\": \"2017-12-16\", \n   \
          \         \"id\": \"2c93808457d787030157e031d86c4c57\", \n            \"\
          transferredToAccounting\": \"Yes\"\n        }, \n        {\n           \
          \ \"autoPay\": false, \n            \"dueDate\": \"2017-12-27\", \n    \
          \        \"id\": \"2c92c8955bd63cc1015bd7c151af02ab\", \n            \"\
          transferredToAccounting\": \"Yes\"\n        }, \n        {\n           \
          \ \"id\": \"2c92c8955bd63cc1015bd7c151af02dc\", \n            \"invoiceDate\"\
          : \"2017-11-27\"\n        }\n    ]\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"invoices\": [\n        {\n            \"autoPay\": false, \n            \"dueDate\": \"2017-12-16\", \n            \"id\": \"2c93808457d787030157e031d86c4c57\", \n            \"transferredToAccounting\": \"Yes\"\n        }, \n        {\n            \"autoPay\": false, \n            \"dueDate\": \"2017-12-27\", \n            \"id\": \"2c92c8955bd63cc1015bd7c151af02ab\", \n            \"transferredToAccounting\": \"Yes\"\n        }, \n        {\n            \"id\": \"2c92c8955bd63cc1015bd7c151af02dc\", \n            \"invoiceDate\": \"2017-11-27\"\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/invoices")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"invoices\": [\n        {\n            \"autoPay\": false, \n            \"dueDate\": \"2017-12-16\", \n            \"id\": \"2c93808457d787030157e031d86c4c57\", \n            \"transferredToAccounting\": \"Yes\"\n        }, \n        {\n            \"autoPay\": false, \n            \"dueDate\": \"2017-12-27\", \n            \"id\": \"2c92c8955bd63cc1015bd7c151af02ab\", \n            \"transferredToAccounting\": \"Yes\"\n        }, \n        {\n            \"id\": \"2c92c8955bd63cc1015bd7c151af02dc\", \n            \"invoiceDate\": \"2017-11-27\"\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/invoices", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/invoices")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"invoices\": [\n        {\n            \"autoPay\": false, \n            \"dueDate\": \"2017-12-16\", \n            \"id\": \"2c93808457d787030157e031d86c4c57\", \n            \"transferredToAccounting\": \"Yes\"\n        }, \n        {\n            \"autoPay\": false, \n            \"dueDate\": \"2017-12-27\", \n            \"id\": \"2c92c8955bd63cc1015bd7c151af02ab\", \n            \"transferredToAccounting\": \"Yes\"\n        }, \n        {\n            \"id\": \"2c92c8955bd63cc1015bd7c151af02dc\", \n            \"invoiceDate\": \"2017-11-27\"\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/invoices");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"invoices\": [\n        {\n            \"autoPay\": false, \n            \"dueDate\": \"2017-12-16\", \n            \"id\": \"2c93808457d787030157e031d86c4c57\", \n            \"transferredToAccounting\": \"Yes\"\n        }, \n        {\n            \"autoPay\": false, \n            \"dueDate\": \"2017-12-27\", \n            \"id\": \"2c92c8955bd63cc1015bd7c151af02ab\", \n            \"transferredToAccounting\": \"Yes\"\n        }, \n        {\n            \"id\": \"2c92c8955bd63cc1015bd7c151af02dc\", \n            \"invoiceDate\": \"2017-11-27\"\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/invoices/{invoiceId}:
    put:
      summary: Update invoice
      operationId: PUT_UpdateInvoice
      description: "Updates a specific invoice. \n"
      tags:
      - Invoices
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: invoiceId
        in: path
        required: true
        type: string
        description: |
          The ID of the invoice. For example,
          2c92c8955bd63cc1015bd7c151af02ab.
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PutInvoiceType'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PutInvoiceResponseType'
          examples:
            application/json:
              id: 40288ae9600808280160081dc9c13f15
              number: INV00000090
              accountId: 40288ae9600808280160081db1533506
              invoiceDate: '2017-11-29'
              currency: USD
              targetDate: '2017-11-29'
              dueDate: '2017-12-18'
              postedOn: null
              postedById: null
              status: Draft
              amount: 100
              taxAmount: 0
              totalTaxExemptAmount: 0
              balance: 100
              comment: ''
              autoPay: false
              transferredToAccounting: 'No'
              creditBalanceAdjustmentAmount: 0
              createdDate: '2017-11-29 22:10:58'
              createdById: 40288ae9600808280160081d833a311a
              updatedDate: '2017-11-30 13:47:52'
              updatedById: 40288ae9600808280160081d833a311a
              cancelledOn: null,
              cancelledById: null,
              success: true
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"autoPay\": false, \n\
          \    \"invoiceDate\": \"2017-02-20\", \n    \"transferredToAccounting\"\
          : \"Yes\"\n}' \"https://rest.zuora.com/v1/invoices/{invoiceId}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/invoices/{invoiceId}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"autoPay\": false, \n    \"invoiceDate\"\
          : \"2017-02-20\", \n    \"transferredToAccounting\": \"Yes\"\n}');\n\ntry\
          \ {\n  $response = $request->send();\n\n  echo $response->getBody();\n}\
          \ catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"autoPay\": false, \n    \"invoiceDate\": \"2017-02-20\", \n    \"transferredToAccounting\": \"Yes\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/invoices/{invoiceId}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"autoPay\": false, \n    \"invoiceDate\": \"2017-02-20\", \n    \"transferredToAccounting\": \"Yes\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/invoices/{invoiceId}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/invoices/{invoiceId}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"autoPay\": false, \n    \"invoiceDate\": \"2017-02-20\", \n    \"transferredToAccounting\": \"Yes\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/invoices/{invoiceId}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"autoPay\": false, \n    \"invoiceDate\": \"2017-02-20\", \n    \"transferredToAccounting\": \"Yes\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/invoices/{invoiceId}/application-parts:
    get:
      summary: Get invoice application parts
      description: |
        Note: The Invoice Settlement feature is in Limited Availability. This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you wish to have access to the feature, submit a request at Zuora Global Support.

        Retrieves information about the payments or credit memos that are applied to a specified invoice.
      operationId: GET_InvoiceApplicationParts
      tags:
      - Invoices
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: invoiceId
        in: path
        type: string
        required: true
        description: 'The unique ID of an invoice. For example, 2c92c8955bd63cc1015bd7c151af02ab.

          '
      responses:
        '200':
          description: OK
          examples:
            application/json:
              applicationParts:
              - paymentId: null
                creditMemoId: 4028905f60a165a50160b4f632ff023d
                appliedAmount: 22
                createdDate: '2018-01-02 11:42:16'
                createdById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2018-01-02 11:42:16'
                updatedById: 402881e522cf4f9b0122cf5d82860002
              - paymentId: 4028905f60a165a50160b4f5d5cb0229
                creditMemoId: null
                appliedAmount: 11
                createdDate: '2018-01-02 11:41:38'
                createdById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2018-01-02 11:41:38'
                updatedById: 402881e522cf4f9b0122cf5d82860002
              success: true
          schema:
            $ref: '#/definitions/GetInvoiceApplicationPartCollectionType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/invoices/{invoiceId}/application-parts"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/invoices/{invoiceId}/application-parts');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/invoices/{invoiceId}/application-parts")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/invoices/{invoiceId}/application-parts", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/invoices/{invoiceId}/application-parts")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/invoices/{invoiceId}/application-parts");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/invoices/{invoiceId}/creditmemos:
    post:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nCreates an ad-hoc\
        \ credit memo from an invoice.\n\nYou can create a credit memo from an invoice\
        \ only if you have the user permission. See [Billing Roles](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/d_Billing_Roles)\
        \ for more information.\n"
      summary: Create credit memo from invoice
      operationId: POST_CreditMemoFromInvoice
      tags:
      - Invoices
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 402890555a87d7f5015a88bd27f80014
              number: CM00000013
              accountId: 402890555a7d4022015a7dabf5f60088
              currency: USD
              creditMemoDate: '2017-11-30'
              targetDate: null
              postedById: null
              postedOn: null
              status: Draft
              amount: 0.01
              taxAmount: 0.01
              totalTaxExemptAmount: 0
              unappliedAmount: 0.01
              refundAmount: 0
              appliedAmount: 0
              comment: the comment
              source: AdhocFromInvoice
              sourceId: null
              referredInvoiceId: 402890555a7d4022015a7dadb3b300a4
              reasonCode: Write-off
              createdDate: '2017-03-01 15:19:42'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 15:19:42'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              cancelledOn: null
              cancelledById: null
              latestPDFFileId: null
              transferredToAccounting: 'No'
              excludeFromAutoApplyRules: false
              autoApplyUponPosting: false
              taxStatus: null
              taxMessage: null
              success: true
          schema:
            $ref: '#/definitions/GETCreditMemoType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: zuora-version
        in: header
        required: false
        type: string
        description: "\nThe minor version of the Zuora REST API. See [Minor Version](https://www.zuora.com/developer/api-reference/#section/API-Versions/Minor-Version)\
          \ for information about REST API version control. \n\nThis header affects\
          \ the availability of the following request fields:\n* `items` > `comment`\n\
          * `items` > `description`\n"
      - name: body
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/CreditMemoFromInvoiceType'
      - type: string
        in: path
        description: 'The ID of an invoice that you want to create a credit memo from.

          '
        name: invoiceId
        required: true
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"autoApplyToInvoiceUponPosting\"\
          : false, \n    \"comment\": \"the comment\", \n    \"effectiveDate\": \"\
          2016-11-30\", \n    \"excludeFromAutoApplyRules\": false, \n    \"items\"\
          : [\n        {\n            \"amount\": 1, \n            \"comment\": \"\
          This is comment!\", \n            \"invoiceItemId\": \"4028905558b483220158b48983dd0015\"\
          , \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2016-11-30\"\
          , \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\"\
          : \"SKU-30\", \n            \"taxItems\": [\n                {\n       \
          \             \"amount\": 0.01, \n                    \"jurisdiction\":\
          \ \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n   \
          \                 \"sourceTaxItemId\": \"4028905558b483220158b48983150010\"\
          , \n                    \"taxCode\": null, \n                    \"taxCodeDescription\"\
          : \"This is tax code description!\", \n                    \"taxDate\":\
          \ \"2016-11-30\", \n                    \"taxExemptAmount\": 0.0, \n   \
          \                 \"taxName\": \"STATE TAX\", \n                    \"taxRate\"\
          : 0.0625, \n                    \"taxRateDescription\": \"This is tax rate\
          \ description!\", \n                    \"taxRateType\": \"Percentage\"\n\
          \                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\
          \n        }\n    ], \n    \"reasonCode\": \"Write-off\"\n}' \"https://rest.zuora.com/v1/invoices/{invoiceId}/creditmemos\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/invoices/{invoiceId}/creditmemos');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"autoApplyToInvoiceUponPosting\": false,\
          \ \n    \"comment\": \"the comment\", \n    \"effectiveDate\": \"2016-11-30\"\
          , \n    \"excludeFromAutoApplyRules\": false, \n    \"items\": [\n     \
          \   {\n            \"amount\": 1, \n            \"comment\": \"This is comment!\"\
          , \n            \"invoiceItemId\": \"4028905558b483220158b48983dd0015\"\
          , \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2016-11-30\"\
          , \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\"\
          : \"SKU-30\", \n            \"taxItems\": [\n                {\n       \
          \             \"amount\": 0.01, \n                    \"jurisdiction\":\
          \ \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n   \
          \                 \"sourceTaxItemId\": \"4028905558b483220158b48983150010\"\
          , \n                    \"taxCode\": null, \n                    \"taxCodeDescription\"\
          : \"This is tax code description!\", \n                    \"taxDate\":\
          \ \"2016-11-30\", \n                    \"taxExemptAmount\": 0.0, \n   \
          \                 \"taxName\": \"STATE TAX\", \n                    \"taxRate\"\
          : 0.0625, \n                    \"taxRateDescription\": \"This is tax rate\
          \ description!\", \n                    \"taxRateType\": \"Percentage\"\n\
          \                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\
          \n        }\n    ], \n    \"reasonCode\": \"Write-off\"\n}');\n\ntry {\n\
          \  $response = $request->send();\n\n  echo $response->getBody();\n} catch\
          \ (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"autoApplyToInvoiceUponPosting\": false, \n    \"comment\": \"the comment\", \n    \"effectiveDate\": \"2016-11-30\", \n    \"excludeFromAutoApplyRules\": false, \n    \"items\": [\n        {\n            \"amount\": 1, \n            \"comment\": \"This is comment!\", \n            \"invoiceItemId\": \"4028905558b483220158b48983dd0015\", \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\": \"SKU-30\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.01, \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"sourceTaxItemId\": \"4028905558b483220158b48983150010\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": \"This is tax code description!\", \n                    \"taxDate\": \"2016-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }\n    ], \n    \"reasonCode\": \"Write-off\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/invoices/{invoiceId}/creditmemos")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"autoApplyToInvoiceUponPosting\": false, \n    \"comment\": \"the comment\", \n    \"effectiveDate\": \"2016-11-30\", \n    \"excludeFromAutoApplyRules\": false, \n    \"items\": [\n        {\n            \"amount\": 1, \n            \"comment\": \"This is comment!\", \n            \"invoiceItemId\": \"4028905558b483220158b48983dd0015\", \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\": \"SKU-30\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.01, \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"sourceTaxItemId\": \"4028905558b483220158b48983150010\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": \"This is tax code description!\", \n                    \"taxDate\": \"2016-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }\n    ], \n    \"reasonCode\": \"Write-off\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/invoices/{invoiceId}/creditmemos", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/invoices/{invoiceId}/creditmemos")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"autoApplyToInvoiceUponPosting\": false, \n    \"comment\": \"the comment\", \n    \"effectiveDate\": \"2016-11-30\", \n    \"excludeFromAutoApplyRules\": false, \n    \"items\": [\n        {\n            \"amount\": 1, \n            \"comment\": \"This is comment!\", \n            \"invoiceItemId\": \"4028905558b483220158b48983dd0015\", \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\": \"SKU-30\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.01, \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"sourceTaxItemId\": \"4028905558b483220158b48983150010\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": \"This is tax code description!\", \n                    \"taxDate\": \"2016-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }\n    ], \n    \"reasonCode\": \"Write-off\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/invoices/{invoiceId}/creditmemos");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"autoApplyToInvoiceUponPosting\": false, \n    \"comment\": \"the comment\", \n    \"effectiveDate\": \"2016-11-30\", \n    \"excludeFromAutoApplyRules\": false, \n    \"items\": [\n        {\n            \"amount\": 1, \n            \"comment\": \"This is comment!\", \n            \"invoiceItemId\": \"4028905558b483220158b48983dd0015\", \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2016-11-30\", \n            \"serviceStartDate\": \"2016-11-01\", \n            \"skuName\": \"SKU-30\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.01, \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"sourceTaxItemId\": \"4028905558b483220158b48983150010\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": \"This is tax code description!\", \n                    \"taxDate\": \"2016-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }\n    ], \n    \"reasonCode\": \"Write-off\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/invoices/{invoiceId}/debitmemos:
    post:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nCreates an ad-hoc\
        \ debit memo from an invoice.\n\nYou can create a debit memo from an invoice\
        \ only if you have the user permission. See [Billing Roles](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/d_Billing_Roles)\
        \ for more information.\n"
      summary: Create debit memo from invoice
      operationId: POST_DebitMemoFromInvoice
      tags:
      - Invoices
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 402890555a87d7f5015a89251edc0045
              number: DM00000003
              accountId: 402890555a7d4022015a7dabf5f60088
              debitMemoDate: '2017-11-30'
              targetDate: null
              dueDate: '2017-12-30'
              postedOn: null
              postedById: null
              status: Draft
              amount: 0.01
              taxAmount: 0.01
              totalTaxExemptAmount: 0
              balance: 0.01
              beAppliedAmount: 0
              autoPay: true
              comment: the comment
              referredInvoiceId: 402890555a7d4022015a7dadb3b300a4
              transferredToAccounting: 'No'
              reasonCode: Charge Dispute
              createdDate: '2017-03-01 17:13:15'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 17:13:15'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              cancelledOn: null
              cancelledById: null
              latestPDFFileId: null
              taxStatus: null
              taxMessage: null
              success: true
          schema:
            $ref: '#/definitions/GETDebitMemoType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        description: 'The ID of an invoice that you want to create a debit memo from.

          '
        name: invoiceId
        required: true
      - name: zuora-version
        in: header
        required: false
        type: string
        description: "\nThe minor version of the Zuora REST API. See [Minor Version](https://www.zuora.com/developer/api-reference/#section/API-Versions/Minor-Version)\
          \ for information about REST API version control. \n\nThis header affects\
          \ the availability of the following request fields:\n* `items` > `comment`\n\
          * `items` > `description`\n"
      - name: body
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/DebitMemoFromInvoiceType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"autoPay\": true, \n\
          \    \"comment\": \"the comment\", \n    \"effectiveDate\": \"2017-11-30\"\
          , \n    \"items\": [\n        {\n            \"amount\": 1, \n         \
          \   \"comment\": \"This is comment!\", \n            \"invoiceItemId\":\
          \ \"402890555a7d4022015a7dadb3b700a6\", \n            \"quantity\": 1, \n\
          \            \"serviceEndDate\": \"2017-11-30\", \n            \"serviceStartDate\"\
          : \"2017-11-01\", \n            \"skuName\": \"SKU-30\", \n            \"\
          taxItems\": [\n                {\n                    \"amount\": 0.01,\
          \ \n                    \"jurisdiction\": \"CALIFORNIA\", \n           \
          \         \"locationCode\": \"06\", \n                    \"sourceTaxItemId\"\
          : \"402890555a7d4022015a7dadb39b00a1\", \n                    \"taxCode\"\
          : null, \n                    \"taxCodeDescription\": null, \n         \
          \           \"taxDate\": \"2017-11-30\", \n                    \"taxExemptAmount\"\
          : 0.0, \n                    \"taxName\": \"STATE TAX\", \n            \
          \        \"taxRate\": 0.0625, \n                    \"taxRateDescription\"\
          : \"This is tax rate description!\", \n                    \"taxRateType\"\
          : \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\"\
          : \"Test_UOM\"\n        }\n    ], \n    \"reasonCode\": \"Charge Dispute\"\
          \n}' \"https://rest.zuora.com/v1/invoices/{invoiceId}/debitmemos\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/invoices/{invoiceId}/debitmemos');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"autoPay\": true, \n    \"comment\": \"\
          the comment\", \n    \"effectiveDate\": \"2017-11-30\", \n    \"items\"\
          : [\n        {\n            \"amount\": 1, \n            \"comment\": \"\
          This is comment!\", \n            \"invoiceItemId\": \"402890555a7d4022015a7dadb3b700a6\"\
          , \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2017-11-30\"\
          , \n            \"serviceStartDate\": \"2017-11-01\", \n            \"skuName\"\
          : \"SKU-30\", \n            \"taxItems\": [\n                {\n       \
          \             \"amount\": 0.01, \n                    \"jurisdiction\":\
          \ \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n   \
          \                 \"sourceTaxItemId\": \"402890555a7d4022015a7dadb39b00a1\"\
          , \n                    \"taxCode\": null, \n                    \"taxCodeDescription\"\
          : null, \n                    \"taxDate\": \"2017-11-30\", \n          \
          \          \"taxExemptAmount\": 0.0, \n                    \"taxName\":\
          \ \"STATE TAX\", \n                    \"taxRate\": 0.0625, \n         \
          \           \"taxRateDescription\": \"This is tax rate description!\", \n\
          \                    \"taxRateType\": \"Percentage\"\n                }\n\
          \            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }\n\
          \    ], \n    \"reasonCode\": \"Charge Dispute\"\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"autoPay\": true, \n    \"comment\": \"the comment\", \n    \"effectiveDate\": \"2017-11-30\", \n    \"items\": [\n        {\n            \"amount\": 1, \n            \"comment\": \"This is comment!\", \n            \"invoiceItemId\": \"402890555a7d4022015a7dadb3b700a6\", \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2017-11-30\", \n            \"serviceStartDate\": \"2017-11-01\", \n            \"skuName\": \"SKU-30\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.01, \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"sourceTaxItemId\": \"402890555a7d4022015a7dadb39b00a1\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": null, \n                    \"taxDate\": \"2017-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }\n    ], \n    \"reasonCode\": \"Charge Dispute\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/invoices/{invoiceId}/debitmemos")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"autoPay\": true, \n    \"comment\": \"the comment\", \n    \"effectiveDate\": \"2017-11-30\", \n    \"items\": [\n        {\n            \"amount\": 1, \n            \"comment\": \"This is comment!\", \n            \"invoiceItemId\": \"402890555a7d4022015a7dadb3b700a6\", \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2017-11-30\", \n            \"serviceStartDate\": \"2017-11-01\", \n            \"skuName\": \"SKU-30\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.01, \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"sourceTaxItemId\": \"402890555a7d4022015a7dadb39b00a1\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": null, \n                    \"taxDate\": \"2017-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }\n    ], \n    \"reasonCode\": \"Charge Dispute\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/invoices/{invoiceId}/debitmemos", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/invoices/{invoiceId}/debitmemos")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"autoPay\": true, \n    \"comment\": \"the comment\", \n    \"effectiveDate\": \"2017-11-30\", \n    \"items\": [\n        {\n            \"amount\": 1, \n            \"comment\": \"This is comment!\", \n            \"invoiceItemId\": \"402890555a7d4022015a7dadb3b700a6\", \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2017-11-30\", \n            \"serviceStartDate\": \"2017-11-01\", \n            \"skuName\": \"SKU-30\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.01, \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"sourceTaxItemId\": \"402890555a7d4022015a7dadb39b00a1\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": null, \n                    \"taxDate\": \"2017-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }\n    ], \n    \"reasonCode\": \"Charge Dispute\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/invoices/{invoiceId}/debitmemos");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"autoPay\": true, \n    \"comment\": \"the comment\", \n    \"effectiveDate\": \"2017-11-30\", \n    \"items\": [\n        {\n            \"amount\": 1, \n            \"comment\": \"This is comment!\", \n            \"invoiceItemId\": \"402890555a7d4022015a7dadb3b700a6\", \n            \"quantity\": 1, \n            \"serviceEndDate\": \"2017-11-30\", \n            \"serviceStartDate\": \"2017-11-01\", \n            \"skuName\": \"SKU-30\", \n            \"taxItems\": [\n                {\n                    \"amount\": 0.01, \n                    \"jurisdiction\": \"CALIFORNIA\", \n                    \"locationCode\": \"06\", \n                    \"sourceTaxItemId\": \"402890555a7d4022015a7dadb39b00a1\", \n                    \"taxCode\": null, \n                    \"taxCodeDescription\": null, \n                    \"taxDate\": \"2017-11-30\", \n                    \"taxExemptAmount\": 0.0, \n                    \"taxName\": \"STATE TAX\", \n                    \"taxRate\": 0.0625, \n                    \"taxRateDescription\": \"This is tax rate description!\", \n                    \"taxRateType\": \"Percentage\"\n                }\n            ], \n            \"unitOfMeasure\": \"Test_UOM\"\n        }\n    ], \n    \"reasonCode\": \"Charge Dispute\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/invoices/{invoiceId}/emails:
    post:
      summary: Email invoice
      operationId: POST_EmailInvoice
      description: |
        Sends a posted invoice to the specified email addresses manually.



        ## Notes
          - You must activate the **Manual Email For Invoice | Manual Email For Invoice** notification before emailing invoices. To include the invoice PDF in the email, select the **Include Invoice PDF** check box in the **Edit notification** dialog from the Zuora UI. See [Create and Edit Notifications](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/Notifications/C_Create_Notifications#section_2) for more information.


          - Zuora sends the email messages based on the email template you set. You can set the email template to use in the **Delivery Options** panel of the **Edit notification** dialog from the Zuora UI. By default, the **Invoice Posted Default Email Template** template is used. See [Create and Edit Email Templates](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/Notifications/Create_Email_Templates) for more information.


          - The invoices are sent only to the work email addresses or personal email addresses of the Bill To contact if the following conditions are all met:

            * The `useEmailTemplateSetting` field is set to `false`.
            * The email addresses are not specified in the `emailAddresses` field.
      tags:
      - Invoices
      responses:
        '200':
          description: ''
          examples:
            application/json:
              success: true
          schema:
            $ref: '#/definitions/CommonResponseType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PostInvoiceEmailRequestType'
      - name: invoiceId
        in: path
        type: string
        required: true
        description: 'The ID of the invoice. For example, 2c92c8955bd63cc1015bd7c151af02ab.

          '
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"emailAddresses\": \"\
          contact1@example.com,contact2@example.com\", \n    \"includeAdditionalEmailAddresses\"\
          : false, \n    \"useEmailTemplateSetting\": false\n}' \"https://rest.zuora.com/v1/invoices/{invoiceId}/emails\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/invoices/{invoiceId}/emails');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"emailAddresses\": \"contact1@example.com,contact2@example.com\"\
          , \n    \"includeAdditionalEmailAddresses\": false, \n    \"useEmailTemplateSetting\"\
          : false\n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"emailAddresses\": \"contact1@example.com,contact2@example.com\", \n    \"includeAdditionalEmailAddresses\": false, \n    \"useEmailTemplateSetting\": false\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/invoices/{invoiceId}/emails")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"emailAddresses\": \"contact1@example.com,contact2@example.com\", \n    \"includeAdditionalEmailAddresses\": false, \n    \"useEmailTemplateSetting\": false\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/invoices/{invoiceId}/emails", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/invoices/{invoiceId}/emails")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"emailAddresses\": \"contact1@example.com,contact2@example.com\", \n    \"includeAdditionalEmailAddresses\": false, \n    \"useEmailTemplateSetting\": false\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/invoices/{invoiceId}/emails");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"emailAddresses\": \"contact1@example.com,contact2@example.com\", \n    \"includeAdditionalEmailAddresses\": false, \n    \"useEmailTemplateSetting\": false\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/invoices/{invoiceId}/files:
    post:
      summary: Upload file for invoice
      operationId: POST_UploadFileForInvoice
      description: |
        Uploads an externally generated invoice PDF file for an invoice that is in Draft or Posted status.

        This operation has the following restrictions:
        - Only the PDF file format is supported.
        - The maximum size of the PDF file to upload is 4 MB.
        - A maximum of 50 PDF files can be uploaded for one invoice.
      consumes:
      - multipart/form-data
      tags:
      - Invoices
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: invoiceId
        in: path
        description: 'The ID of the invoice that you want to upload a PDF file for.
          For example, 2c92c8955bd63cc1015bd7c151af02ab.

          '
        required: true
        type: string
      - name: file
        in: formData
        description: 'The PDF file to upload for the invoice.

          '
        type: file
      responses:
        '200':
          headers:
            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.

                '
          examples:
            application/json:
              success: true
              fileId: 40289f466463d683016463ef8b7301a2
          description: ''
          schema:
            $ref: '#/definitions/POSTUploadFileResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X POST -H "Authorization: Bearer f21f017e4724445d8647b1f0de7ed6f1"
          -F "file=@InvoiceFile.pdf" "https://rest.zuora.com/v1/invoices/2c92c8955bd63cc1015bd7c151af02ab/files"

          '
    get:
      summary: Get invoice files
      operationId: GET_InvoiceFiles
      description: "Retrieves the information about all PDF files of a specified invoice.\
        \ \n\nInvoice PDF files are returned in reverse chronological order by the\
        \ value of the `versionNumber` field.\n"
      tags:
      - Invoices
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - name: invoiceId
        in: path
        description: 'The unique ID of an invoice. For example, 2c92c8955bd63cc1015bd7c151af02ab.

          '
        required: true
        type: string
      responses:
        200:
          description: ''
          schema:
            $ref: '#/definitions/GETInvoiceFilesResponse'
          examples:
            application/json:
              invoiceFiles:
              - id: 2c98901f62d7d83d0162d7facec2262f
                versionNumber: 1524041954479
                pdfFileUrl: https://rest.zuora.com/v1/files/2c98901f62d7d83d0162d7facea6262d
              - id: 2c98901f62d7d83d0162d7f4a9792629
                versionNumber: 1524041551946
                pdfFileUrl: https://rest.zuora.com/v1/files/2c98901f62d7d83d0162d7f4a95c2627
              - id: 2c98901f62d7d83d0162d7f491ea2626
                versionNumber: 1524041544112
                pdfFileUrl: https://rest.zuora.com/v1/files/2c98901f62d7d83d0162d7f490f22624
              success: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/invoices/{invoiceId}/files"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/invoices/{invoiceId}/files');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/invoices/{invoiceId}/files")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/invoices/{invoiceId}/files", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/invoices/{invoiceId}/files")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/invoices/{invoiceId}/files");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/invoices/{invoiceId}/items:
    get:
      summary: Get invoice items
      operationId: GET_InvoiceItems
      description: "Retrieves the information about all items of a specified invoice.\
        \ \n"
      tags:
      - Invoices
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - name: invoiceId
        in: path
        description: 'The unique ID of an invoice. For example, 2c92c8955bd63cc1015bd7c151af02ab.

          '
        required: true
        type: string
      responses:
        200:
          description: ''
          schema:
            $ref: '#/definitions/GETInvoiceItemsResponse'
          examples:
            application/json:
              invoiceItems:
              - id: 2c92c095511f5b4401512682dd017989
                subscriptionName: A-S00000004
                subscriptionId: 2c92c0f9511f56b2015126814ad532cc
                serviceStartDate: 2015-11-20
                serviceEndDate: 2015-11-30
                balance: 21.1
                chargeAmount: 21.1
                chargeDescription: ''
                chargeName: Annual Fee
                chargeId: 2c92c0f9511f56b2015126814af832d2
                productName: TeamCollab Enterprise
                quantity: 1
                taxAmount: 0
                unitOfMeasure: ''
                appliedToItemId: null
                taxationItems:
                  data:
                  - balance: 2.11
                    paymentAmount: 0
                    creditAmount: 0
                    id: 2c98901a68ff26800168ffce6eeb0ffe
                    taxAmount: 2.11
                    name: taxName
                    exemptAmount: 0
                    jurisdiction: County
                    locationCode: 000-1
                    taxCode: TAXCODE-1
                    taxCodeDescription: null
                    taxDate: 2015-11-20
                    taxRate: 0.1
                    taxRateDescription: ''
                    taxRateType: Percentage
              - id: 3e28d61d442f433797e268e2b7c11eeb
                subscriptionName: A-S00000004
                subscriptionId: c2d9a5768db440cbbf2709a55c614bed
                serviceStartDate: 2015-11-20
                serviceEndDate: 2015-11-30
                chargeAmount: 2.1
                chargeDescription: ''
                chargeName: Discount
                chargeId: 1b3dede652fa47db833a83be55d850a5
                productName: TeamCollab Enterprise
                quantity: 0
                taxAmount: 0
                unitOfMeasure: ''
                appliedToItemId: 2c92c095511f5b4401512682dd017989
                taxationItems:
                  data:
                  - balance: 0.21
                    paymentAmount: 0
                    creditAmount: 0
                    id: 2c98901a68ff26800168ffce6eeb0ffe
                    taxAmount: 0.21
                    name: taxName
                    exemptAmount: 0
                    jurisdiction: County
                    locationCode: 000-1
                    taxCode: TAXCODE-1
                    taxCodeDescription: null
                    taxDate: 2015-11-20
                    taxRate: 0.1
                    taxRateDescription: ''
                    taxRateType: Percentage
              success: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/invoices/{invoiceId}/items"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/invoices/{invoiceId}/items');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/invoices/{invoiceId}/items")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/invoices/{invoiceId}/items", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/invoices/{invoiceId}/items")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/invoices/{invoiceId}/items");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/invoices/{invoiceId}/items/{itemId}/taxation-items:
    get:
      summary: Get taxation items of invoice item
      operationId: GET_TaxationItemsOfInvoiceItem
      description: "Retrieves information about the taxation items of a specific invoice\
        \ item. \n"
      tags:
      - Invoices
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - $ref: '#/parameters/GLOBAL_REQUEST_page'
      - name: invoiceId
        in: path
        description: 'The unique ID of an invoice. For example, 2c92c8955bd63cc1015bd7c151af02ab.

          '
        required: true
        type: string
      - name: itemId
        in: path
        description: 'The unique ID of an invoice item. For example, 2c86c8955bd63cc1015bd7c151af02ef.

          '
        required: true
        type: string
      responses:
        200:
          headers:
            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. \
                \       \n"
          description: ''
          schema:
            $ref: '#/definitions/GETInvoiceTaxationItemsResponse'
          examples:
            application/json:
              data:
              - balance: 10
                paymentAmount: 0
                creditAmount: 0
                id: 2c98901a68ff26800168ffce84e3102c
                taxAmount: 10
                name: test
                exemptAmount: 0
                jurisdiction: test
                locationCode: code - 001
                taxCode: taxcode
                taxCodeDescription: description
                taxDate: 2019-02-18
                taxRate: 2
                taxRateDescription: test
                taxRateType: FlatFee
              - balance: 10
                paymentAmount: 0
                creditAmount: 0
                id: 2c98901a68ff26800168ffce85d6102e
                taxAmount: 10
                name: test
                exemptAmount: 0
                jurisdiction: test
                locationCode: code - 001
                taxCode: taxcode
                taxCodeDescription: description
                taxDate: 2019-02-18
                taxRate: 2
                taxRateDescription: test
                taxRateType: FlatFee
              success: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/invoices/{invoiceId}/items/{itemId}/taxation-items"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/invoices/{invoiceId}/items/{itemId}/taxation-items');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/invoices/{invoiceId}/items/{itemId}/taxation-items")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/invoices/{invoiceId}/items/{itemId}/taxation-items", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/invoices/{invoiceId}/items/{itemId}/taxation-items")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/invoices/{invoiceId}/items/{itemId}/taxation-items");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/invoices/{invoiceId}/reverse:
    put:
      summary: Reverse invoice
      operationId: PUT_ReverseInvoice
      description: "**Note:** This feature is only available if you have the Invoice\
        \ Settlement feature enabled. The Invoice Settlement feature is in **Limited\
        \ Availability**. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/).\n\nReverses a posted\
        \ invoice. \n\n**Restrictions**\n\nYou are not allowed to reverse an invoice\
        \ if one of the following restrictions is met:\n\n* Payments and credit memos\
        \ are applied to the invoice.\n* The invoice is split.\n* The invoice is not\
        \ in Posted status.\n* The total amount of the invoice is less than 0 (a negative\
        \ invoice).\n* Using Tax Connector for Extension Platform to calculate taxes.\n\
        \nSee [Reverse Posted Invoices](https://knowledgecenter.zuora.com/CB_Billing/IA_Invoices/Reverse_Posted_Invoices)\
        \ for more information.\n"
      tags:
      - Invoices
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: invoiceId
        in: path
        required: true
        type: string
        description: 'The ID of the invoice. For example, 2c92c8955bd63cc1015bd7c151af02ab.

          '
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PutReverseInvoiceType'
      responses:
        '200':
          examples:
            application/json:
              creditMemo:
                id: 402890555a40ca7f015a5b099b0e307a
              success: true
          description: ''
          schema:
            $ref: '#/definitions/PutReverseInvoiceResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"applyEffectiveDate\"\
          : \"2017-02-20\", \n    \"memoDate\": \"2017-02-20\"\n}' \"https://rest.zuora.com/v1/invoices/{invoiceId}/reverse\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/invoices/{invoiceId}/reverse');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"applyEffectiveDate\": \"2017-02-20\"\
          , \n    \"memoDate\": \"2017-02-20\"\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"applyEffectiveDate\": \"2017-02-20\", \n    \"memoDate\": \"2017-02-20\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/invoices/{invoiceId}/reverse")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"applyEffectiveDate\": \"2017-02-20\", \n    \"memoDate\": \"2017-02-20\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/invoices/{invoiceId}/reverse", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/invoices/{invoiceId}/reverse")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"applyEffectiveDate\": \"2017-02-20\", \n    \"memoDate\": \"2017-02-20\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/invoices/{invoiceId}/reverse");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"applyEffectiveDate\": \"2017-02-20\", \n    \"memoDate\": \"2017-02-20\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/invoices/{invoiceId}/write-off:
    put:
      summary: Write off invoice
      operationId: PUT_WriteOffInvoice
      description: "**Note:** This feature is only available if you have the Invoice\
        \ Settlement feature enabled. The Invoice Settlement feature is in **Limited\
        \ Availability**. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/).\n\nWrites off a posted\
        \ invoice. \n\nBy writing off an invoice, a credit memo is created and applied\
        \ to the invoice. The generated credit memo items and credit memo taxation\
        \ items are applied to invoice items and invoice taxation items based on the\
        \ configured default application rule. If an invoice is written off, the balance\
        \ of each invoice item and invoice taxation item must be zero.\n\nAn invoice\
        \ cannot be written off in the following situations:\n  - The balance of an\
        \ invoice has been changed.\n"
      tags:
      - Invoices
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: invoiceId
        in: path
        required: true
        type: string
        description: 'The unique ID of an invoice. For example, 2c92c8955bd63cc1015bd7c151af02ab.

          '
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUTWriteOffInvoiceRequest'
      responses:
        '200':
          examples:
            application/json:
              creditMemo:
                id: 402890555a40ca7f015a5b099b0e307a
              success: true
          description: ''
          schema:
            $ref: '#/definitions/PUTWriteOffInvoiceResponse'
      x-code-samples:
      - lang: Curl
        source: |-
          curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3" -H "Content-Type: application/json" -d '{
              "memoDate": "2019-01-02"
          }' "https://rest.zuora.com/v1/invoices/{invoiceId}/write-off"
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/invoices/{invoiceId}/write-off');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{
              "memoDate": "2019-01-02"
          }');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"memoDate\": \"2019-01-02\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/invoices/{invoiceId}/write-off")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"memoDate\": \"2019-01-02\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/invoices/{invoiceId}/write-off", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/invoices/{invoiceId}/write-off")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"memoDate\": \"2019-01-02\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/invoices/{invoiceId}/write-off");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"memoDate\": \"2019-01-02\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/journal-runs:
    post:
      summary: Create journal run
      operationId: POST_JournalRun
      description: 'This REST API reference describes how to create a journal run.
        Request and response field descriptions and sample code are provided.

        '
      tags:
      - Journal Runs
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTJournalRunType'
      responses:
        '200':
          examples:
            application/json:
              journalRunNumber: JR-00000008
              success: true
          description: ''
          schema:
            $ref: '#/definitions/POSTJournalRunResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"accountingPeriodName\"\
          : \"Nov-2014\", \n    \"journalEntryDate\": \"2014-11-04\", \n    \"transactionTypes\"\
          : [\n        {\n            \"type\": \"Invoice Item\"\n        }, \n  \
          \      {\n            \"type\": \"Revenue Event Item\"\n        }\n    ]\n\
          }' \"https://rest.zuora.com/v1/journal-runs\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/journal-runs');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"accountingPeriodName\": \"Nov-2014\"\
          , \n    \"journalEntryDate\": \"2014-11-04\", \n    \"transactionTypes\"\
          : [\n        {\n            \"type\": \"Invoice Item\"\n        }, \n  \
          \      {\n            \"type\": \"Revenue Event Item\"\n        }\n    ]\n\
          }');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"accountingPeriodName\": \"Nov-2014\", \n    \"journalEntryDate\": \"2014-11-04\", \n    \"transactionTypes\": [\n        {\n            \"type\": \"Invoice Item\"\n        }, \n        {\n            \"type\": \"Revenue Event Item\"\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/journal-runs")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"accountingPeriodName\": \"Nov-2014\", \n    \"journalEntryDate\": \"2014-11-04\", \n    \"transactionTypes\": [\n        {\n            \"type\": \"Invoice Item\"\n        }, \n        {\n            \"type\": \"Revenue Event Item\"\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/journal-runs", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/journal-runs")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"accountingPeriodName\": \"Nov-2014\", \n    \"journalEntryDate\": \"2014-11-04\", \n    \"transactionTypes\": [\n        {\n            \"type\": \"Invoice Item\"\n        }, \n        {\n            \"type\": \"Revenue Event Item\"\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/journal-runs");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"accountingPeriodName\": \"Nov-2014\", \n    \"journalEntryDate\": \"2014-11-04\", \n    \"transactionTypes\": [\n        {\n            \"type\": \"Invoice Item\"\n        }, \n        {\n            \"type\": \"Revenue Event Item\"\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/journal-runs/{jr-number}:
    get:
      summary: Get journal run
      operationId: GET_JournalRun
      description: 'This REST API reference describes how to get information about
        a journal run. Request and response field descriptions and sample code are
        provided.

        '
      tags:
      - Journal Runs
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: jr-number
        in: path
        description: 'Journal run number. Must be a valid journal run number in the
          format `JR-00000001`.

          '
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              number: JR-00000002
              status: Completed
              executedOn: '2014-11-15 22:05:12'
              segmentationRuleName: s1
              totalJournalEntryCount: 2
              targetStartDate: '2016-03-01'
              targetEndDate: '2016-03-31'
              journalEntryDate: '2016-02-02'
              transactionTypes:
              - type: Invoice Item
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETJournalRunType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/journal-runs/{jr-number}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/journal-runs/{jr-number}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/journal-runs/{jr-number}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/journal-runs/{jr-number}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/journal-runs/{jr-number}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/journal-runs/{jr-number}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    delete:
      summary: Delete journal run
      operationId: DELETE_JournalRun
      description: "This reference describes how to delete a journal run using the\
        \ REST API.\n                      \n You can only delete journal runs that\
        \ have already been canceled.\n                      \n You must have the\
        \ \"Delete Cancelled Journal Run\" Zuora Finance user permission enabled to\
        \ delete journal runs.\n"
      tags:
      - Journal Runs
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: jr-number
        in: path
        required: true
        type: string
        description: 'Journal run number. Must be a valid journal run number in the
          format `JR-00000001`.

          '
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/journal-runs/{jr-number}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/journal-runs/{jr-number}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/journal-runs/{jr-number}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/journal-runs/{jr-number}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/journal-runs/{jr-number}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/journal-runs/{jr-number}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/journal-runs/{jr-number}/cancel:
    put:
      summary: Cancel journal run
      operationId: PUT_JournalRun
      description: "This reference describes how to cancel a journal run using the\
        \ REST API.\n          \nThe summary journal entries in the journal run are\
        \ canceled asynchronously. See the \"Example\" section below for details.\n\
        \          \nYou must have the \"Cancel Journal Run\" Zuora Finance user permission\
        \ enabled to cancel journal runs.\n\n## Notes\nWhen you cancel a journal run,\
        \ the summary journal entries associated with that journal run are canceled\
        \ asynchronously. A response of `{ \"success\": true }` means only that the\
        \ specified journal run has a status of \"Pending\", \"Error\", or \"Completed\"\
        \ and therefore can be canceled, but does not mean that the whole journal\
        \ run was successfully canceled.\n\nFor example, let's say you want to cancel\
        \ journal run JR-00000075. The journal run status is \"Completed\" and it\
        \ contains ten journal entries. One of the journal entries has its Transferred\
        \ to Accounting status set to \"Yes\", meaning that the entry cannot be canceled.\
        \ The workflow might go as follows:\n1. You make an API call to cancel the\
        \ journal run.\n2. The journal run status is \"Completed\", so you receive\
        \ a response of `{ \"success\": true }`.\n3. Zuora begins asynchronously canceling\
        \ journal entries associated with the journal run. The journal entry whose\
        \ Transferred to Accounting status is \"Yes\" fails to be canceled. The cancelation\
        \ process continues, and the other journal entries are successfully canceled.\n\
        4. The journal run status remains as \"Completed\". The status does not change\
        \ to \"Canceled\" because the journal run still contains a journey entry that\
        \ is not canceled.\n"
      tags:
      - Journal Runs
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: jr-number
        in: path
        required: true
        type: string
        description: "Journal run number. Must be a valid journal run number in the\
          \ format JR-00000001. \nYou can only cancel a journal run whose status is\
          \ \"Pending\", \"Error\", or \"Completed\".\n"
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/journal-runs/{jr-number}/cancel"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/journal-runs/{jr-number}/cancel');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/journal-runs/{jr-number}/cancel")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/journal-runs/{jr-number}/cancel", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/journal-runs/{jr-number}/cancel")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/journal-runs/{jr-number}/cancel");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/bulk:
    post:
      summary: Perform mass action
      operationId: POST_MassUpdater
      description: "This reference describes how to perform a mass action through\
        \ the REST API. \n\nUsing this API method, you send a multipart/form-data\
        \ request containing a `.csv` file with data about the mass action you want\
        \ to perform. Zuora returns a key and then asynchronously processes the mass\
        \ action. You can use the key to get details about the result of the mass\
        \ action.\n"
      consumes:
      - multipart/form-data
      tags:
      - Mass Updater
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: file
        in: formData
        required: true
        type: file
        description: |
          File containing data about the mass action you want to perform. The file requirements are the same as when uploading a file through the Mass Updater in the Zuora UI. The file must be a .csv file or a zipped .csv file.

          The maximum file size is 4 MB.

          The data in the file must be formatted according to the mass action type you want to perform.
      - name: params
        in: formData
        required: true
        type: string
        description: |
          Container for the following fields. You must format this parameter as a JSON object.

          * `actionType` (string, **Required**) - Type of mass action you want to perform. The following mass actions are supported: `UpdateAccountingCode`, `CreateRevenueSchedule`, `UpdateRevenueSchedule`, `DeleteRevenueSchedule`, `ImportFXRate`, and `MPU`.

          * `checksum` (string) - An MD5 checksum that is used to validate the integrity of
            the uploaded file. The checksum is a 32-character string.
      responses:
        '200':
          examples:
            application/json:
              success: true
              bulkKey: 402892f04c97b89a014c97bb30a50003
          description: ''
          schema:
            $ref: '#/definitions/POSTMassUpdateResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X POST -H "Authorization: Bearer f21f017e4724445d8647b1f0de7ed6f1"
          -F "file=@CreateRevenueSchedules.csv" -F "params="{\"actionType\": \"CreateRevenueSchedule\"}"
          "https://rest.zuora.com/v1/bulk"

          '
  /v1/bulk/{bulk-key}:
    get:
      summary: Get mass action result
      operationId: GET_MassUpdater
      description: "This reference describes how to get information about the result\
        \ of a mass action through the REST API. \n"
      tags:
      - Mass Updater
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: bulk-key
        in: path
        description: 'String of 32 characters that identifies a mass action. You get
          the bulk-key after performing a mass action through the REST API.

          '
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              actionType: UpdateAccountingCode
              inputSize: 354
              uploadedBy: smith@example.com
              uploadedOn: '2015-04-07 14:22:09'
              status: Completed
              startedOn: '2015-04-07 14:22:11'
              endedOn: '2015-04-07 14:32:01'
              outputSize: 350
              outputURL: https://rest.zuora.com/api/file/402892c84c9285b1014c9293f5320007
              outputType: (url:.csv.zip)
              totalCount: 3
              processedCount: 3
              errorCount: 1
              successCount: 2
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETMassUpdateType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/bulk/{bulk-key}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/bulk/{bulk-key}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/bulk/{bulk-key}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/bulk/{bulk-key}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/bulk/{bulk-key}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/bulk/{bulk-key}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/bulk/{bulk-key}/stop:
    put:
      summary: Stop mass action
      operationId: PUT_MassUpdater
      description: |
        This reference describes how to stop a mass action through the REST API. You can stop a mass action when its status is Pending or Processing. After you have stopped a mass action, you can get the mass action result to see details of the mass action.

        - If you stop a mass action when its status is Pending, no response file is generated because no records have been processed.

        - If you stop a mass action when its status is Processing, a response file is generated. You can check the response file to see which records have been processed and which have not. In the response file, the **Success** column has the value `Y` (successful) or `N` (failed) for processed records, and a blank value for unprocessed records.

        Records that have already been processed when a mass action is stopped are not rolled back.
      tags:
      - Mass Updater
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: bulk-key
        in: path
        required: true
        type: string
        description: 'String of 32 characters that identifies a mass action. You get
          the bulk-key after performing a mass action through the REST API.

          '
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/bulk/{bulk-key}/stop"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/bulk/{bulk-key}/stop');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/bulk/{bulk-key}/stop")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/bulk/{bulk-key}/stop", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/bulk/{bulk-key}/stop")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/bulk/{bulk-key}/stop");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/entities:
    post:
      summary: 'Multi-entity: Create entity'
      operationId: POST_Entities
      description: "**Note:** The Multi-entity feature is in **Limited Availability**.\
        \ If you wish to have access to the feature, submit a request at [Zuora Global\
        \ Support](http://support.zuora.com/). \n\nCreates an entity in a multi-entity\
        \ hierarchy.\n\n## User Access Permission\nYou must make the call as a global\
        \ entity administrator.\n\n## Notes\n* We recommend that you assign only one\
        \ administrator to manage the entity hierarchy, because an administrator of\
        \ the global entity by default can only access to the entities that are created\
        \ by themselves.\n"
      tags:
      - Entities
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/CreateEntityType'
      responses:
        '200':
          examples:
            application/json:
              id: 8a80825556ff28a4015709096c5d6f5d
              name: Acme-Asia
              displayName: Acme-Asia
              locale: zh_CN
              timezone: Asia/Harbin
              status: Unprovisioned
              parentId: 8a808255557baba1015580e12fa5083a
              tenantId: '6398'
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CreateEntityResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"displayName\": \"Acme-Asia\"\
          , \n    \"locale\": \"zh_CN\", \n    \"name\": \"Acme-Asia\", \n    \"parentId\"\
          : \"8a808255557baba1015580e12fa5083a\", \n    \"timezone\": \"Asia/Harbin\"\
          \n}' \"https://rest.zuora.com/v1/entities\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/entities');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"displayName\": \"Acme-Asia\", \n    \"\
          locale\": \"zh_CN\", \n    \"name\": \"Acme-Asia\", \n    \"parentId\":\
          \ \"8a808255557baba1015580e12fa5083a\", \n    \"timezone\": \"Asia/Harbin\"\
          \n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"displayName\": \"Acme-Asia\", \n    \"locale\": \"zh_CN\", \n    \"name\": \"Acme-Asia\", \n    \"parentId\": \"8a808255557baba1015580e12fa5083a\", \n    \"timezone\": \"Asia/Harbin\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/entities")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"displayName\": \"Acme-Asia\", \n    \"locale\": \"zh_CN\", \n    \"name\": \"Acme-Asia\", \n    \"parentId\": \"8a808255557baba1015580e12fa5083a\", \n    \"timezone\": \"Asia/Harbin\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/entities", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/entities")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"displayName\": \"Acme-Asia\", \n    \"locale\": \"zh_CN\", \n    \"name\": \"Acme-Asia\", \n    \"parentId\": \"8a808255557baba1015580e12fa5083a\", \n    \"timezone\": \"Asia/Harbin\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/entities");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"displayName\": \"Acme-Asia\", \n    \"locale\": \"zh_CN\", \n    \"name\": \"Acme-Asia\", \n    \"parentId\": \"8a808255557baba1015580e12fa5083a\", \n    \"timezone\": \"Asia/Harbin\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      summary: 'Multi-entity: Get entities'
      operationId: GET_Entities
      description: "**Note:** The Multi-entity feature is in **Limited Availability**.\
        \ If you wish to have access to the feature, submit a request at [Zuora Global\
        \ Support](http://support.zuora.com/). \n\n\nRetrieves detailed information\
        \ of certain entities in a multi-entity hierarchy.\n\n\nYou can retrieve:\n\
        \n - Provisioned entities\n  \n - Unprovisioned entities\n  \n - Both provisioned\
        \ and unprovisioned entities\n\n## User Access Permission\n\nYou can make\
        \ the call as any entity user.\n"
      tags:
      - Entities
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: provisioned
        in: query
        description: |
          Specify whether to retrieve provisioned or unprovisioned entities:

          - `true`: Provisioned entities

          - `false`: Unprovisioned entities


          If you do not specify this field in the request, both the provisioned and unprovisioned entities are returned.
        required: false
        type: string
      responses:
        '200':
          examples:
            application/json:
              entities:
              - id: 8a808255557baba1015580e12fa5083a
                name: Acme Corporation
                displayName: Acme Corporation
                locale: en_US
                timezone: GMT
                status: Provisioned
                parentId: null
                tenantId: '6398'
              - id: 8a80825555a3c7a10155b460f53858e6
                name: Acme-Americas
                displayName: Acme-Americas
                locale: en_US
                timezone: America/Los_Angeles
                status: Provisioned
                parentId: 8a808255557baba1015580e12fa5083a
                tenantId: '6398'
              - id: 8a80825555a3c7a10155b46120d058e7
                name: Acme-US
                displayName: Acme-US
                locale: en_US
                timezone: America/Los_Angeles
                status: Provisioned
                parentId: 8a80825555a3c7a10155b460f53858e6
                tenantId: '6398'
              - id: 8a80825556ff28a4015708ba29312ecc
                name: Acme-Europe
                displayName: Acme-Europe
                locale: en_US
                timezone: Europe/Paris
                status: Provisioned
                parentId: 8a808255557baba1015580e12fa5083a
                tenantId: '6398'
              - id: 8a80825556ff28a4015708bac1d8305f
                name: Acme-UK
                displayName: Acme-UK
                locale: en_US
                timezone: Europe/London
                status: Unprovisioned
                parentId: 8a80825556ff28a4015708ba29312ecc
                tenantId: '6398'
              - id: 8a80825556ff28a4015708bb21963060
                name: Acme-France
                displayName: Acme-France
                locale: en_US
                timezone: Europe/Paris
                status: Unprovisioned
                parentId: 8a80825556ff28a4015708ba29312ecc
                tenantId: '6398'
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETEntitiesResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/entities"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/entities');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/entities")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/entities", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/entities")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/entities");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/entities/{id}:
    put:
      summary: 'Multi-entity: Update entity'
      operationId: PUT_Entities
      description: "**Note:** The Multi-entity feature is in **Limited Availability**.\
        \ If you wish to have access to the feature, submit a request at [Zuora Global\
        \ Support](http://support.zuora.com/). \n\nEdits the following information\
        \ about an unprovisioned entity:\n\n - Name\n \n - Display name\n \n - Locale\n\
        \ \n - Timezone\n\n## User Access Permission\nYou must make the call as a\
        \ global entity administrator.\n\n## Notes\n* You are not allowed to edit\
        \ the locale and time zone of the provisioned entities through the REST API.\n\
        * You are not allowed to edit the display name of the global entity.\n"
      tags:
      - Entities
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: id
        in: path
        required: true
        type: string
        description: The Id of the entity that you want to edit. You can get the entity
          Id from the GET Entities call.
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/UpdateEntityType'
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/UpdateEntityResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"displayName\": \"Acme-Italy\"\
          , \n    \"locale\": \"en_GB\", \n    \"name\": \"Acme-Italy\", \n    \"\
          timezone\": \"Europe/Rome\"\n}' \"https://rest.zuora.com/v1/entities/{id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/entities/{id}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"displayName\": \"Acme-Italy\", \n   \
          \ \"locale\": \"en_GB\", \n    \"name\": \"Acme-Italy\", \n    \"timezone\"\
          : \"Europe/Rome\"\n}');\n\ntry {\n  $response = $request->send();\n\n  echo\
          \ $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"displayName\": \"Acme-Italy\", \n    \"locale\": \"en_GB\", \n    \"name\": \"Acme-Italy\", \n    \"timezone\": \"Europe/Rome\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/entities/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"displayName\": \"Acme-Italy\", \n    \"locale\": \"en_GB\", \n    \"name\": \"Acme-Italy\", \n    \"timezone\": \"Europe/Rome\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/entities/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/entities/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"displayName\": \"Acme-Italy\", \n    \"locale\": \"en_GB\", \n    \"name\": \"Acme-Italy\", \n    \"timezone\": \"Europe/Rome\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/entities/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"displayName\": \"Acme-Italy\", \n    \"locale\": \"en_GB\", \n    \"name\": \"Acme-Italy\", \n    \"timezone\": \"Europe/Rome\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      summary: 'Multi-entity: Get entity by Id'
      operationId: GET_EntityById
      description: "**Note:** The Multi-entity feature is in **Limited Availability**.\
        \ If you wish to have access to the feature, submit a request at [Zuora Global\
        \ Support](http://support.zuora.com/). \n\nRetrieves detailed information\
        \ about a specified entity.\n\n## User Access Permission\nYou can make the\
        \ call as any entity user.     \n"
      tags:
      - Entities
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: id
        in: path
        required: true
        type: string
        description: Specify the Id of the entity that you want to retrieve. You can
          get the entity Id from the GET Entities call.
      responses:
        '200':
          examples:
            application/json:
              id: 8a80825555a3c7a10155b460f53858e6
              name: Acme-Americas
              displayName: Acme-Americas
              locale: en_US
              timezone: America/Los_Angeles
              status: Provisioned
              parentId: 8a808255557baba1015580e12fa5083a
              tenantId: '6398'
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETEntitiesResponseTypeWithId'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/entities/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/entities/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/entities/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/entities/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/entities/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/entities/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    delete:
      summary: 'Multi-entity: Delete entity'
      operationId: DELETE_Entities
      description: "**Note:** The Multi-entity feature is in **Limited Availability**.\
        \ If you wish to have access to the feature, submit a request at [Zuora Global\
        \ Support](http://support.zuora.com/). \n\nRemoves an entity and its sub-entities\
        \ from a multi-entity hierarchy. You can only remove unprovisioned entities.\
        \ An error occurred when you remove a provisioned entity.\n\n## User Access\
        \ Permission\nYou must make the call as a global entity administrator.   \n"
      tags:
      - Entities
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: id
        in: path
        required: true
        type: string
        description: Specify the Id of the entity that you want to delete. You can
          get the entity Id from the GET Entities call.
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/DELETEntityResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/entities/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/entities/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/entities/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/entities/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/entities/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/entities/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/entities/{id}/provision:
    put:
      summary: 'Multi-entity: Provision entity'
      operationId: PUT_ProvisionEntity
      description: "**Note:** The Multi-entity feature is in **Limited Availability**.\
        \ If you wish to have access to the feature, submit a request at [Zuora Global\
        \ Support](http://support.zuora.com/). \n\nProvisions an entity. You can only\
        \ provision an entity if its parent entity is provisioned.\n\n## User Access\
        \ Permission\nYou must make the call as a global entity administrator. \n\n\
        ## Notes\n* Zuora does not allow you to remove a provisioned entity from the\
        \ multi-entity hierarchy. So before you provision an entity, make sure that\
        \ you put the entity in the correct place in the multi-entity hierarchy. \n"
      tags:
      - Entities
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: id
        in: path
        required: true
        type: string
        description: Specify the Id of the entity that you want to provision.  You
          can get the entity Id from the GET Entities call.
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/ProvisionEntityResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/entities/{id}/provision"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/entities/{id}/provision');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/entities/{id}/provision")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/entities/{id}/provision", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/entities/{id}/provision")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/entities/{id}/provision");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/entity-connections:
    get:
      summary: 'Multi-entity: Get connections'
      operationId: GET_EntityConnections
      tags:
      - Entity Connections
      description: "**Note:** The Multi-entity feature is in **Limited Availability**.\
        \ If you wish to have access to the feature, submit a request at [Zuora Global\
        \ Support](http://support.zuora.com/).\n\nRetrieves information about certain\
        \ connections for a specified entity. You can specify the entity to retrieve\
        \ in the `Zuora-Entity-Ids` request header.\n\nYou can retrieve:\n - Inbound\
        \ connections\n - Outbound connections\n - Both inbound and outbound connections\n\
        \n## User Access Permission\nYou can make the call as any entity user. \n"
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize_entityConnection'
      - name: type
        in: query
        required: false
        type: string
        enum:
        - inbound
        - outbound
        description: |
          Specifies whether to retrieve inbound or outbound connections for an entity.

          Possible values:
           - `inbound`: All the incoming connections to the entity.
           - `outbound`: All the outgoing connections from the entity.

          If you do not specify this field in the request, both the inbound and outbound connections are returned.
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/GETEntityConnectionsResponseType'
          examples:
            application/json:
              entityConnections:
              - id: 8a80825555a3c7a10155b54a63821c0d
                sourceEntityId: 8a80825555a3c7a10155b46120d058e7
                targetEntityId: 8a808255557baba1015580e12fa5083a
                status: Connected
              - id: 8a80825555a3c7a10155b466736c5c3f
                sourceEntityId: 8a808255557baba1015580e12fa5083a
                targetEntityId: 8a80825555a3c7a10155b460f53858e6
                status: Connected
              - id: 8a808255575bdae401576a914a140420
                sourceEntityId: 8a808255557baba1015580e12fa5083a
                targetEntityId: 8a80825556ff28a4015708ba29312ecc
                status: Connected
              success: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/entity-connections"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/entity-connections');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/entity-connections")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/entity-connections", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/entity-connections")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/entity-connections");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    post:
      summary: 'Multi-entity: Initiate connection'
      operationId: POST_EntityConnections
      tags:
      - Entity Connections
      description: |
        **Note:** The Multi-entity feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

        Initiates a connection request from a source entity to a target entity.

        ## User Access Permission
        You must make the call as a source entity administrator. Also, this administrator must have permission to access to the target entity.
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: Request
        in: body
        description: ''
        schema:
          $ref: '#/definitions/POSTEntityConnectionsType'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/POSTEntityConnectionsResponseType'
          examples:
            application/json:
              id: 8a808255575bdae401576a914a140420
              success: true
      x-code-samples:
      - lang: Curl
        source: |-
          curl -X POST -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3" -H "Content-Type: application/json" -d '{
              "targetEntityId": "8a80825556ff28a4015708ba29312ecc"
          }' "https://rest.zuora.com/v1/entity-connections"
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/entity-connections');
          $request->setMethod(HTTP_METH_POST);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{
              "targetEntityId": "8a80825556ff28a4015708ba29312ecc"
          }');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"targetEntityId\": \"8a80825556ff28a4015708ba29312ecc\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/entity-connections")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"targetEntityId\": \"8a80825556ff28a4015708ba29312ecc\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/entity-connections", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/entity-connections")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"targetEntityId\": \"8a80825556ff28a4015708ba29312ecc\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/entity-connections");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"targetEntityId\": \"8a80825556ff28a4015708ba29312ecc\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/entity-connections/{connection-id}/accept:
    put:
      summary: 'Multi-entity: Accept connection'
      operationId: PUT_EntityConnectionsAccept
      tags:
      - Entity Connections
      description: |
        **Note:** The Multi-entity feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

        Accepts a connection request.

        ## User Access Permission
        You must make the call as an entity administrator to accept a connection request.
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: connection-id
        in: path
        required: true
        type: string
        description: 'The ID of the connection that you want to accept.

          '
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PUTEntityConnectionsAcceptResponseType'
          examples:
            application/json:
              success: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/entity-connections/{connection-id}/accept"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/entity-connections/{connection-id}/accept');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/entity-connections/{connection-id}/accept")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/entity-connections/{connection-id}/accept", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/entity-connections/{connection-id}/accept")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/entity-connections/{connection-id}/accept");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/entity-connections/{connection-id}/deny:
    put:
      summary: 'Multi-entity: Deny connection'
      operationId: PUT_EntityConnectionsDeny
      tags:
      - Entity Connections
      description: |
        **Note:** The Multi-entity feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

        Denies a connection request.

        ## User Access Permission
        You must make the call as an entity administrator to deny a connection request.
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: connection-id
        in: path
        required: true
        type: string
        description: 'The ID of the connection that you want to deny.

          '
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PUTEntityConnectionsDenyResponseType'
          examples:
            application/json:
              success: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/entity-connections/{connection-id}/deny"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/entity-connections/{connection-id}/deny');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/entity-connections/{connection-id}/deny")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/entity-connections/{connection-id}/deny", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/entity-connections/{connection-id}/deny")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/entity-connections/{connection-id}/deny");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/entity-connections/{connection-id}/disconnect:
    put:
      summary: 'Multi-entity: Disconnect connection'
      operationId: PUT_EntityConnectionsDisconnect
      tags:
      - Entity Connections
      description: |
        **Note:** The Multi-entity feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

        Disconnects an established connection. If you have shared objects from a global entity to a target entity, disconnecting the connection will break the mapping relationship between these entities and cannot be recovered later.

        ## User Access Permission
        You must make the call as an administrator of the target entity or source entity.
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: connection-id
        in: path
        required: true
        type: string
        description: 'The ID of the connection that you want to disconnect.

          '
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/PUTEntityConnectionsDisconnectResponseType'
          examples:
            application/json:
              success: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/entity-connections/{connection-id}/disconnect"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/entity-connections/{connection-id}/disconnect');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/entity-connections/{connection-id}/disconnect")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/entity-connections/{connection-id}/disconnect", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/entity-connections/{connection-id}/disconnect")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/entity-connections/{connection-id}/disconnect");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/users/{username}/request-access:
    put:
      summary: 'Multi-entity: Send user access requests'
      operationId: PUT_SendUserAccessRequests
      description: "**Note:** The Multi-entity feature is in **Limited Availability**.\
        \ If you wish to have access to the feature, submit a request at [Zuora Global\
        \ Support](http://support.zuora.com/). \n\nSends access requests to the entities\
        \ that a user wants to access.\n\n## User Access Permission\nYou must make\
        \ the call as an administrator of the entity, in which the request user is\
        \ created. Also, this administrator must have the permission to access the\
        \ entities that the request user wants to access.\n"
      tags:
      - Users
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: username
        in: path
        required: true
        type: string
        description: 'Specify the login name of the user who wants to access other
          entities.

          '
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUTSendUserAccessRequestType'
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/PUTSendUserAccessRequestResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"targetEntityIds\":\
          \ [\n        \"8a80825555a3c7a10155b46120d058e7\", \n        \"8a80825556ff28a4015708b93df82ba7\"\
          \n    ]\n}' \"https://rest.zuora.com/v1/users/{username}/request-access\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/users/{username}/request-access');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"targetEntityIds\": [\n        \"8a80825555a3c7a10155b46120d058e7\"\
          , \n        \"8a80825556ff28a4015708b93df82ba7\"\n    ]\n}');\n\ntry {\n\
          \  $response = $request->send();\n\n  echo $response->getBody();\n} catch\
          \ (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"targetEntityIds\": [\n        \"8a80825555a3c7a10155b46120d058e7\", \n        \"8a80825556ff28a4015708b93df82ba7\"\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/users/{username}/request-access")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"targetEntityIds\": [\n        \"8a80825555a3c7a10155b46120d058e7\", \n        \"8a80825556ff28a4015708b93df82ba7\"\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/users/{username}/request-access", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/users/{username}/request-access")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"targetEntityIds\": [\n        \"8a80825555a3c7a10155b46120d058e7\", \n        \"8a80825556ff28a4015708b93df82ba7\"\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/users/{username}/request-access");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"targetEntityIds\": [\n        \"8a80825555a3c7a10155b46120d058e7\", \n        \"8a80825556ff28a4015708b93df82ba7\"\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/users/{username}/accept-access:
    put:
      summary: 'Multi-entity: Accept user access'
      operationId: PUT_AcceptUserAccess
      description: "**Note:** The Multi-entity feature is in **Limited Availability**.\
        \ If you wish to have access to the feature, submit a request at [Zuora Global\
        \ Support](http://support.zuora.com/). \n\nAccepts user access to an entity.\n\
        \n## User Access Permission\nYou must make the calls as an administrator of\
        \ the entity that you want to accept the user access to. \n"
      tags:
      - Users
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: username
        in: path
        description: 'Specify the login name of the user that you want to accept the
          access request for.

          '
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/PUTAcceptUserAccessResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/users/{username}/accept-access"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/users/{username}/accept-access');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/users/{username}/accept-access")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/users/{username}/accept-access", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/users/{username}/accept-access")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/users/{username}/accept-access");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/users/{username}/deny-access:
    put:
      summary: 'Multi-entity: Deny user access'
      operationId: PUT_DenyUserAccess
      description: "**Note:** The Multi-entity feature is in **Limited Availability**.\
        \ If you wish to have access to the feature, submit a request at [Zuora Global\
        \ Support](http://support.zuora.com/). \n\nDenies a user access to an entity.\
        \ \n\n## User Access Permission\nYou must make the calls as an administrator\
        \ of the entity that you want to deny the user access to.\n"
      tags:
      - Users
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: username
        in: path
        required: true
        type: string
        description: 'Specify the login name of the user that you want to deny the
          access.

          '
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/PUTDenyUserAccessResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/users/{username}/deny-access"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/users/{username}/deny-access');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/users/{username}/deny-access")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/users/{username}/deny-access", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/users/{username}/deny-access")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/users/{username}/deny-access");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/users/{username}/accessible-entities:
    get:
      summary: 'Multi-entity: Get entities that a user can access'
      operationId: GET_EntitiesUserAccessible
      description: "**Note:** The Multi-entity feature is in **Limited Availability**.\
        \ If you wish to have access to the feature, submit a request at [Zuora Global\
        \ Support](http://support.zuora.com/). \n\nRetrieves detailed information\
        \ about all the entities that a user has permission to access.\n\n## User\
        \ Access Permission\nYou can make the call as any entity user.\n"
      tags:
      - Users
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: username
        in: path
        required: true
        type: string
        description: 'Specify the login user name that you want to retrieve.

          '
      responses:
        '200':
          examples:
            application/json:
              entities:
              - id: 8a808255557baba1015580e12fa5083a
                name: Acme Corporation
                displayName: Acme Corporation
                locale: en_US
                timezone: GMT
                status: Provisioned
                parentId: null
                tenantId: '6398'
              - id: 8a80825555a3c7a10155b460f53858e6
                name: Acme-Americas
                displayName: Acme-Americas
                locale: en_US
                timezone: America/Los_Angeles
                status: Provisioned
                parentId: 8a808255557baba1015580e12fa5083a
                tenantId: '6398'
              - id: 8a80825555a3c7a10155b46120d058e7
                name: Acme-US
                displayName: Acme-US
                locale: en_US
                timezone: America/Los_Angeles
                status: Provisioned
                parentId: 8a80825555a3c7a10155b460f53858e6
                tenantId: '6398'
              - id: 8a80825556ff28a4015708b93df82ba7
                name: Acme-Canada
                displayName: Acme-Canada
                locale: en_US
                timezone: America/Toronto
                status: Provisioned
                parentId: 8a80825555a3c7a10155b460f53858e6
                tenantId: '6398'
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETEntitiesUserAccessibleResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/users/{username}/accessible-entities"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/users/{username}/accessible-entities');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/users/{username}/accessible-entities")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/users/{username}/accessible-entities", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/users/{username}/accessible-entities")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/users/{username}/accessible-entities");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /notifications/notification-definitions:
    post:
      summary: Create a notification definition
      operationId: POST_Create_Notification_Definition
      tags:
      - Notifications
      description: "Creates a notification definition. If a filter rule is specified,\
        \ it will be evaluated to\nsee if the notification definition is qualified\
        \ to handle the incoming events \nduring runtime. If the notification is qualified,\
        \ it will send the email and\ninvoke the callout if it has an email template\
        \ or a callout.\n"
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth_Notifications'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: entity
        in: body
        description: The request body used to create the notification definition.
        required: true
        schema:
          $ref: '#/definitions/POSTPublicNotificationDefinitionRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/GETPublicNotificationDefinitionResponse'
          headers:
            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.

                '
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"ConstraintViolated",
                "message":"The email template is defined on a different EventType other than the notification's"
              }
          headers:
            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.

                '
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"404",
                "message":"HTTP 404 Not Found"
              }
          headers:
            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.

                '
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"405",
                "message":"HTTP 405 Method Not Allowed"
              }
          headers:
            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.

                '
        '415':
          description: Unsupported Media Type
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"415",
                "message":"HTTP 415 Unsupported Media Type"
              }
          headers:
            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.

                '
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"500",
                "message":"A temporary problem in the service occurred, you can retry later."
              }
          headers:
            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.

                '
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"active\": true, \n\
          \    \"callout\": {\n        \"active\": true, \n        \"calloutAuth\"\
          : {\n            \"domain\": \"example_domain\", \n            \"password\"\
          : \"example_password\", \n            \"preemptive\": true, \n         \
          \   \"username\": \"example_user\"\n        }, \n        \"calloutBaseurl\"\
          : \"https://www.example.com/callout/AccountEdit\", \n        \"calloutParams\"\
          : {\n            \"AccountName\": \"<Account.Name>\", \n            \"AccountNumber\"\
          : \"<Account.Number>\"\n        }, \n        \"calloutRetry\": true, \n\
          \        \"description\": \"Callout when an account is edited\", \n    \
          \    \"eventTypeName\": \"AccountEdit\", \n        \"httpMethod\": \"POST\"\
          , \n        \"name\": \"Callout for Account Edited\", \n        \"requiredAuth\"\
          : true\n    }, \n    \"calloutActive\": true, \n    \"communicationProfileId\"\
          : \"6e569e1e05f040eda51a927b140c0ac5\", \n    \"description\": \"Notification\
          \ sent out when an account is edited\", \n    \"emailActive\": true, \n\
          \    \"emailTemplateId\": \"6e569e1e05f040eda51a927b140c0ac6\", \n    \"\
          eventTypeName\": \"AccountEdit\", \n    \"filterRule\": {\n        \"condition\"\
          : \"Account.Balance >= _VIP_BALANCE_AMOUNT && Account.Status == _ACCOUNT_STATUS\"\
          , \n        \"description\": \"Filter rule to test if an account is a VIP\
          \ account\", \n        \"parameters\": {\n            \"_ACCOUNT_STATUS\"\
          : {\n                \"description\": \"The status of the VIP Account\"\
          , \n                \"displayName\": \"VIP Account Status\", \n        \
          \        \"options\": [\n                    \"Draft\", \n             \
          \       \"Active\", \n                    \"Canceled\"\n               \
          \ ], \n                \"valueType\": \"STRING\"\n            }, \n    \
          \        \"_VIP_BALANCE_AMOUNT\": {\n                \"description\": \"\
          The minimum account balance\", \n                \"displayName\": \"VIP\
          \ Account Balance\", \n                \"options\": null, \n           \
          \     \"valueType\": \"BIG_DECIMAL\"\n            }\n        }\n    }, \n\
          \    \"filterRuleParams\": {\n        \"_EDITED_FROM\": \"UI\", \n     \
          \   \"_VIP_ACCOUNT_BALANCE\": \"100000\"\n    }, \n    \"name\": \"Account\
          \ Edit Notification\"\n}' \"https://rest.zuora.com/notifications/notification-definitions\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/notifications/notification-definitions');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"active\": true, \n    \"callout\": {\n\
          \        \"active\": true, \n        \"calloutAuth\": {\n            \"\
          domain\": \"example_domain\", \n            \"password\": \"example_password\"\
          , \n            \"preemptive\": true, \n            \"username\": \"example_user\"\
          \n        }, \n        \"calloutBaseurl\": \"https://www.example.com/callout/AccountEdit\"\
          , \n        \"calloutParams\": {\n            \"AccountName\": \"<Account.Name>\"\
          , \n            \"AccountNumber\": \"<Account.Number>\"\n        }, \n \
          \       \"calloutRetry\": true, \n        \"description\": \"Callout when\
          \ an account is edited\", \n        \"eventTypeName\": \"AccountEdit\",\
          \ \n        \"httpMethod\": \"POST\", \n        \"name\": \"Callout for\
          \ Account Edited\", \n        \"requiredAuth\": true\n    }, \n    \"calloutActive\"\
          : true, \n    \"communicationProfileId\": \"6e569e1e05f040eda51a927b140c0ac5\"\
          , \n    \"description\": \"Notification sent out when an account is edited\"\
          , \n    \"emailActive\": true, \n    \"emailTemplateId\": \"6e569e1e05f040eda51a927b140c0ac6\"\
          , \n    \"eventTypeName\": \"AccountEdit\", \n    \"filterRule\": {\n  \
          \      \"condition\": \"Account.Balance >= _VIP_BALANCE_AMOUNT && Account.Status\
          \ == _ACCOUNT_STATUS\", \n        \"description\": \"Filter rule to test\
          \ if an account is a VIP account\", \n        \"parameters\": {\n      \
          \      \"_ACCOUNT_STATUS\": {\n                \"description\": \"The status\
          \ of the VIP Account\", \n                \"displayName\": \"VIP Account\
          \ Status\", \n                \"options\": [\n                    \"Draft\"\
          , \n                    \"Active\", \n                    \"Canceled\"\n\
          \                ], \n                \"valueType\": \"STRING\"\n      \
          \      }, \n            \"_VIP_BALANCE_AMOUNT\": {\n                \"description\"\
          : \"The minimum account balance\", \n                \"displayName\": \"\
          VIP Account Balance\", \n                \"options\": null, \n         \
          \       \"valueType\": \"BIG_DECIMAL\"\n            }\n        }\n    },\
          \ \n    \"filterRuleParams\": {\n        \"_EDITED_FROM\": \"UI\", \n  \
          \      \"_VIP_ACCOUNT_BALANCE\": \"100000\"\n    }, \n    \"name\": \"Account\
          \ Edit Notification\"\n}');\n\ntry {\n  $response = $request->send();\n\n\
          \  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"active\": true, \n    \"callout\": {\n        \"active\": true, \n        \"calloutAuth\": {\n            \"domain\": \"example_domain\", \n            \"password\": \"example_password\", \n            \"preemptive\": true, \n            \"username\": \"example_user\"\n        }, \n        \"calloutBaseurl\": \"https://www.example.com/callout/AccountEdit\", \n        \"calloutParams\": {\n            \"AccountName\": \"<Account.Name>\", \n            \"AccountNumber\": \"<Account.Number>\"\n        }, \n        \"calloutRetry\": true, \n        \"description\": \"Callout when an account is edited\", \n        \"eventTypeName\": \"AccountEdit\", \n        \"httpMethod\": \"POST\", \n        \"name\": \"Callout for Account Edited\", \n        \"requiredAuth\": true\n    }, \n    \"calloutActive\": true, \n    \"communicationProfileId\": \"6e569e1e05f040eda51a927b140c0ac5\", \n    \"description\": \"Notification sent out when an account is edited\", \n    \"emailActive\": true, \n    \"emailTemplateId\": \"6e569e1e05f040eda51a927b140c0ac6\", \n    \"eventTypeName\": \"AccountEdit\", \n    \"filterRule\": {\n        \"condition\": \"Account.Balance >= _VIP_BALANCE_AMOUNT && Account.Status == _ACCOUNT_STATUS\", \n        \"description\": \"Filter rule to test if an account is a VIP account\", \n        \"parameters\": {\n            \"_ACCOUNT_STATUS\": {\n                \"description\": \"The status of the VIP Account\", \n                \"displayName\": \"VIP Account Status\", \n                \"options\": [\n                    \"Draft\", \n                    \"Active\", \n                    \"Canceled\"\n                ], \n                \"valueType\": \"STRING\"\n            }, \n            \"_VIP_BALANCE_AMOUNT\": {\n                \"description\": \"The minimum account balance\", \n                \"displayName\": \"VIP Account Balance\", \n                \"options\": null, \n                \"valueType\": \"BIG_DECIMAL\"\n            }\n        }\n    }, \n    \"filterRuleParams\": {\n        \"_EDITED_FROM\": \"UI\", \n        \"_VIP_ACCOUNT_BALANCE\": \"100000\"\n    }, \n    \"name\": \"Account Edit Notification\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/notifications/notification-definitions")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"active\": true, \n    \"callout\": {\n        \"active\": true, \n        \"calloutAuth\": {\n            \"domain\": \"example_domain\", \n            \"password\": \"example_password\", \n            \"preemptive\": true, \n            \"username\": \"example_user\"\n        }, \n        \"calloutBaseurl\": \"https://www.example.com/callout/AccountEdit\", \n        \"calloutParams\": {\n            \"AccountName\": \"<Account.Name>\", \n            \"AccountNumber\": \"<Account.Number>\"\n        }, \n        \"calloutRetry\": true, \n        \"description\": \"Callout when an account is edited\", \n        \"eventTypeName\": \"AccountEdit\", \n        \"httpMethod\": \"POST\", \n        \"name\": \"Callout for Account Edited\", \n        \"requiredAuth\": true\n    }, \n    \"calloutActive\": true, \n    \"communicationProfileId\": \"6e569e1e05f040eda51a927b140c0ac5\", \n    \"description\": \"Notification sent out when an account is edited\", \n    \"emailActive\": true, \n    \"emailTemplateId\": \"6e569e1e05f040eda51a927b140c0ac6\", \n    \"eventTypeName\": \"AccountEdit\", \n    \"filterRule\": {\n        \"condition\": \"Account.Balance >= _VIP_BALANCE_AMOUNT && Account.Status == _ACCOUNT_STATUS\", \n        \"description\": \"Filter rule to test if an account is a VIP account\", \n        \"parameters\": {\n            \"_ACCOUNT_STATUS\": {\n                \"description\": \"The status of the VIP Account\", \n                \"displayName\": \"VIP Account Status\", \n                \"options\": [\n                    \"Draft\", \n                    \"Active\", \n                    \"Canceled\"\n                ], \n                \"valueType\": \"STRING\"\n            }, \n            \"_VIP_BALANCE_AMOUNT\": {\n                \"description\": \"The minimum account balance\", \n                \"displayName\": \"VIP Account Balance\", \n                \"options\": null, \n                \"valueType\": \"BIG_DECIMAL\"\n            }\n        }\n    }, \n    \"filterRuleParams\": {\n        \"_EDITED_FROM\": \"UI\", \n        \"_VIP_ACCOUNT_BALANCE\": \"100000\"\n    }, \n    \"name\": \"Account Edit Notification\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/notifications/notification-definitions", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/notifications/notification-definitions")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"active\": true, \n    \"callout\": {\n        \"active\": true, \n        \"calloutAuth\": {\n            \"domain\": \"example_domain\", \n            \"password\": \"example_password\", \n            \"preemptive\": true, \n            \"username\": \"example_user\"\n        }, \n        \"calloutBaseurl\": \"https://www.example.com/callout/AccountEdit\", \n        \"calloutParams\": {\n            \"AccountName\": \"<Account.Name>\", \n            \"AccountNumber\": \"<Account.Number>\"\n        }, \n        \"calloutRetry\": true, \n        \"description\": \"Callout when an account is edited\", \n        \"eventTypeName\": \"AccountEdit\", \n        \"httpMethod\": \"POST\", \n        \"name\": \"Callout for Account Edited\", \n        \"requiredAuth\": true\n    }, \n    \"calloutActive\": true, \n    \"communicationProfileId\": \"6e569e1e05f040eda51a927b140c0ac5\", \n    \"description\": \"Notification sent out when an account is edited\", \n    \"emailActive\": true, \n    \"emailTemplateId\": \"6e569e1e05f040eda51a927b140c0ac6\", \n    \"eventTypeName\": \"AccountEdit\", \n    \"filterRule\": {\n        \"condition\": \"Account.Balance >= _VIP_BALANCE_AMOUNT && Account.Status == _ACCOUNT_STATUS\", \n        \"description\": \"Filter rule to test if an account is a VIP account\", \n        \"parameters\": {\n            \"_ACCOUNT_STATUS\": {\n                \"description\": \"The status of the VIP Account\", \n                \"displayName\": \"VIP Account Status\", \n                \"options\": [\n                    \"Draft\", \n                    \"Active\", \n                    \"Canceled\"\n                ], \n                \"valueType\": \"STRING\"\n            }, \n            \"_VIP_BALANCE_AMOUNT\": {\n                \"description\": \"The minimum account balance\", \n                \"displayName\": \"VIP Account Balance\", \n                \"options\": null, \n                \"valueType\": \"BIG_DECIMAL\"\n            }\n        }\n    }, \n    \"filterRuleParams\": {\n        \"_EDITED_FROM\": \"UI\", \n        \"_VIP_ACCOUNT_BALANCE\": \"100000\"\n    }, \n    \"name\": \"Account Edit Notification\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/notifications/notification-definitions");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"active\": true, \n    \"callout\": {\n        \"active\": true, \n        \"calloutAuth\": {\n            \"domain\": \"example_domain\", \n            \"password\": \"example_password\", \n            \"preemptive\": true, \n            \"username\": \"example_user\"\n        }, \n        \"calloutBaseurl\": \"https://www.example.com/callout/AccountEdit\", \n        \"calloutParams\": {\n            \"AccountName\": \"<Account.Name>\", \n            \"AccountNumber\": \"<Account.Number>\"\n        }, \n        \"calloutRetry\": true, \n        \"description\": \"Callout when an account is edited\", \n        \"eventTypeName\": \"AccountEdit\", \n        \"httpMethod\": \"POST\", \n        \"name\": \"Callout for Account Edited\", \n        \"requiredAuth\": true\n    }, \n    \"calloutActive\": true, \n    \"communicationProfileId\": \"6e569e1e05f040eda51a927b140c0ac5\", \n    \"description\": \"Notification sent out when an account is edited\", \n    \"emailActive\": true, \n    \"emailTemplateId\": \"6e569e1e05f040eda51a927b140c0ac6\", \n    \"eventTypeName\": \"AccountEdit\", \n    \"filterRule\": {\n        \"condition\": \"Account.Balance >= _VIP_BALANCE_AMOUNT && Account.Status == _ACCOUNT_STATUS\", \n        \"description\": \"Filter rule to test if an account is a VIP account\", \n        \"parameters\": {\n            \"_ACCOUNT_STATUS\": {\n                \"description\": \"The status of the VIP Account\", \n                \"displayName\": \"VIP Account Status\", \n                \"options\": [\n                    \"Draft\", \n                    \"Active\", \n                    \"Canceled\"\n                ], \n                \"valueType\": \"STRING\"\n            }, \n            \"_VIP_BALANCE_AMOUNT\": {\n                \"description\": \"The minimum account balance\", \n                \"displayName\": \"VIP Account Balance\", \n                \"options\": null, \n                \"valueType\": \"BIG_DECIMAL\"\n            }\n        }\n    }, \n    \"filterRuleParams\": {\n        \"_EDITED_FROM\": \"UI\", \n        \"_VIP_ACCOUNT_BALANCE\": \"100000\"\n    }, \n    \"name\": \"Account Edit Notification\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      summary: Query notification definitions
      operationId: GET_Query_Notification_Definitions
      tags:
      - Notifications
      description: 'Queries notification definitions with the specified filters.

        '
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth_Notifications'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: start
        in: query
        description: The first index of the query result.
        allowEmptyValue: true
        default: 1
        type: integer
        format: int32
      - name: limit
        in: query
        description: The maximum number of results the query should return.
        allowEmptyValue: true
        default: 20
        type: integer
        format: int32
        minimum: 1
        maximum: 100
      - name: profileId
        in: query
        description: Id of the profile.
        allowEmptyValue: true
        type: string
        format: uuid
      - name: eventTypeName
        in: query
        description: The name of the event.
        allowEmptyValue: true
        type: string
      - name: emailTemplateId
        in: query
        description: The ID of the email template.
        allowEmptyValue: true
        type: string
        format: uuid
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties:
              next:
                type: string
                description: The URI to query the next page of data, e.g. '/notification-definitions?start=1&limit=10'.
                  The start equals request's start+limit, and the limit equals the
                  request's limit. If the current page is the last page, this value
                  is null.
                example: /notification-definitions?start=1&limit=10
              data:
                type: array
                items:
                  $ref: '#/definitions/GETPublicNotificationDefinitionResponse'
          headers:
            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.

                '
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"404",
                "message":"HTTP 404 Not Found"
              }
          headers:
            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.

                '
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"405",
                "message":"HTTP 405 Method Not Allowed"
              }
          headers:
            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.

                '
        '415':
          description: Unsupported Media Type
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"415",
                "message":"HTTP 415 Unsupported Media Type"
              }
          headers:
            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.

                '
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"500",
                "message":"A temporary problem in the service occurred, you can retry later."
              }
          headers:
            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.

                '
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/notifications/notification-definitions"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/notifications/notification-definitions');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/notifications/notification-definitions")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/notifications/notification-definitions", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/notifications/notification-definitions")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/notifications/notification-definitions");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /notifications/notification-definitions/{id}:
    put:
      summary: Update a notification definition
      operationId: PUT_Update_Notification_Definition
      tags:
      - Notifications
      description: 'Updates a notification definition.

        '
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth_Notifications'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: id
        in: path
        description: The ID of the notification definition to be updated.
        required: true
        type: string
        format: uuid
      - name: PUTPublicNotificationDefinitionRequest
        in: body
        description: The request body of the notification definition to be updated.
        required: true
        schema:
          $ref: '#/definitions/PUTPublicNotificationDefinitionRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/GETPublicNotificationDefinitionResponse'
          headers:
            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.

                '
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"ConstraintViolated",
                "message":"The email template is defined on a different EventType other than the notification's"
              }
          headers:
            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.

                '
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"404",
                "message":"HTTP 404 Not Found"
              }
          headers:
            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.

                '
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"405",
                "message":"HTTP 405 Method Not Allowed"
              }
          headers:
            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.

                '
        '415':
          description: Unsupported Media Type
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"415",
                "message":"HTTP 415 Unsupported Media Type"
              }
          headers:
            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.

                '
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"500",
                "message":"A temporary problem in the service occurred, you can retry later."
              }
          headers:
            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.

                '
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"active\": true, \n\
          \    \"callout\": {\n        \"active\": true, \n        \"calloutAuth\"\
          : {\n            \"domain\": \"example_domain\", \n            \"password\"\
          : \"example_password\", \n            \"preemptive\": true, \n         \
          \   \"username\": \"example_user\"\n        }, \n        \"calloutBaseurl\"\
          : \"https://www.example.com/callout/AccountEdit\", \n        \"calloutParams\"\
          : {\n            \"AccountName\": \"<Account.Name>\", \n            \"AccountNumber\"\
          : \"<Account.Number>\"\n        }, \n        \"calloutRetry\": true, \n\
          \        \"description\": \"Callout when an account is edited\", \n    \
          \    \"httpMethod\": \"POST\", \n        \"name\": \"Callout for Account\
          \ Edited\", \n        \"requiredAuth\": true\n    }, \n    \"calloutActive\"\
          : true, \n    \"communicationProfileId\": \"6e569e1e05f040eda51a927b140c0ac5\"\
          , \n    \"description\": \"Notification sent out when an account is edited\"\
          , \n    \"emailActive\": true, \n    \"emailTemplateId\": \"6e569e1e05f040eda51a927b140c0ac6\"\
          , \n    \"filterRule\": {\n        \"condition\": \"Account.Balance >= _VIP_BALANCE_AMOUNT\
          \ && Account.Status == _ACCOUNT_STATUS\", \n        \"description\": \"\
          Filter rule to test if an account is a VIP account\", \n        \"parameters\"\
          : {\n            \"_ACCOUNT_STATUS\": {\n                \"description\"\
          : \"The status of the VIP Account\", \n                \"displayName\":\
          \ \"VIP Account Status\", \n                \"options\": [\n           \
          \         \"Draft\", \n                    \"Active\", \n              \
          \      \"Canceled\"\n                ], \n                \"valueType\"\
          : \"STRING\"\n            }, \n            \"_VIP_BALANCE_AMOUNT\": {\n\
          \                \"description\": \"The minimum account balance\", \n  \
          \              \"displayName\": \"VIP Account Balance\", \n            \
          \    \"options\": null, \n                \"valueType\": \"BIG_DECIMAL\"\
          \n            }\n        }\n    }, \n    \"filterRuleParams\": {\n     \
          \   \"_EDITED_FROM\": \"UI\", \n        \"_VIP_ACCOUNT_BALANCE\": \"100000\"\
          \n    }, \n    \"name\": \"Account Edit Notification\"\n}' \"https://rest.zuora.com/notifications/notification-definitions/{id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/notifications/notification-definitions/{id}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"active\": true, \n    \"callout\": {\n\
          \        \"active\": true, \n        \"calloutAuth\": {\n            \"\
          domain\": \"example_domain\", \n            \"password\": \"example_password\"\
          , \n            \"preemptive\": true, \n            \"username\": \"example_user\"\
          \n        }, \n        \"calloutBaseurl\": \"https://www.example.com/callout/AccountEdit\"\
          , \n        \"calloutParams\": {\n            \"AccountName\": \"<Account.Name>\"\
          , \n            \"AccountNumber\": \"<Account.Number>\"\n        }, \n \
          \       \"calloutRetry\": true, \n        \"description\": \"Callout when\
          \ an account is edited\", \n        \"httpMethod\": \"POST\", \n       \
          \ \"name\": \"Callout for Account Edited\", \n        \"requiredAuth\":\
          \ true\n    }, \n    \"calloutActive\": true, \n    \"communicationProfileId\"\
          : \"6e569e1e05f040eda51a927b140c0ac5\", \n    \"description\": \"Notification\
          \ sent out when an account is edited\", \n    \"emailActive\": true, \n\
          \    \"emailTemplateId\": \"6e569e1e05f040eda51a927b140c0ac6\", \n    \"\
          filterRule\": {\n        \"condition\": \"Account.Balance >= _VIP_BALANCE_AMOUNT\
          \ && Account.Status == _ACCOUNT_STATUS\", \n        \"description\": \"\
          Filter rule to test if an account is a VIP account\", \n        \"parameters\"\
          : {\n            \"_ACCOUNT_STATUS\": {\n                \"description\"\
          : \"The status of the VIP Account\", \n                \"displayName\":\
          \ \"VIP Account Status\", \n                \"options\": [\n           \
          \         \"Draft\", \n                    \"Active\", \n              \
          \      \"Canceled\"\n                ], \n                \"valueType\"\
          : \"STRING\"\n            }, \n            \"_VIP_BALANCE_AMOUNT\": {\n\
          \                \"description\": \"The minimum account balance\", \n  \
          \              \"displayName\": \"VIP Account Balance\", \n            \
          \    \"options\": null, \n                \"valueType\": \"BIG_DECIMAL\"\
          \n            }\n        }\n    }, \n    \"filterRuleParams\": {\n     \
          \   \"_EDITED_FROM\": \"UI\", \n        \"_VIP_ACCOUNT_BALANCE\": \"100000\"\
          \n    }, \n    \"name\": \"Account Edit Notification\"\n}');\n\ntry {\n\
          \  $response = $request->send();\n\n  echo $response->getBody();\n} catch\
          \ (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"active\": true, \n    \"callout\": {\n        \"active\": true, \n        \"calloutAuth\": {\n            \"domain\": \"example_domain\", \n            \"password\": \"example_password\", \n            \"preemptive\": true, \n            \"username\": \"example_user\"\n        }, \n        \"calloutBaseurl\": \"https://www.example.com/callout/AccountEdit\", \n        \"calloutParams\": {\n            \"AccountName\": \"<Account.Name>\", \n            \"AccountNumber\": \"<Account.Number>\"\n        }, \n        \"calloutRetry\": true, \n        \"description\": \"Callout when an account is edited\", \n        \"httpMethod\": \"POST\", \n        \"name\": \"Callout for Account Edited\", \n        \"requiredAuth\": true\n    }, \n    \"calloutActive\": true, \n    \"communicationProfileId\": \"6e569e1e05f040eda51a927b140c0ac5\", \n    \"description\": \"Notification sent out when an account is edited\", \n    \"emailActive\": true, \n    \"emailTemplateId\": \"6e569e1e05f040eda51a927b140c0ac6\", \n    \"filterRule\": {\n        \"condition\": \"Account.Balance >= _VIP_BALANCE_AMOUNT && Account.Status == _ACCOUNT_STATUS\", \n        \"description\": \"Filter rule to test if an account is a VIP account\", \n        \"parameters\": {\n            \"_ACCOUNT_STATUS\": {\n                \"description\": \"The status of the VIP Account\", \n                \"displayName\": \"VIP Account Status\", \n                \"options\": [\n                    \"Draft\", \n                    \"Active\", \n                    \"Canceled\"\n                ], \n                \"valueType\": \"STRING\"\n            }, \n            \"_VIP_BALANCE_AMOUNT\": {\n                \"description\": \"The minimum account balance\", \n                \"displayName\": \"VIP Account Balance\", \n                \"options\": null, \n                \"valueType\": \"BIG_DECIMAL\"\n            }\n        }\n    }, \n    \"filterRuleParams\": {\n        \"_EDITED_FROM\": \"UI\", \n        \"_VIP_ACCOUNT_BALANCE\": \"100000\"\n    }, \n    \"name\": \"Account Edit Notification\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/notifications/notification-definitions/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"active\": true, \n    \"callout\": {\n        \"active\": true, \n        \"calloutAuth\": {\n            \"domain\": \"example_domain\", \n            \"password\": \"example_password\", \n            \"preemptive\": true, \n            \"username\": \"example_user\"\n        }, \n        \"calloutBaseurl\": \"https://www.example.com/callout/AccountEdit\", \n        \"calloutParams\": {\n            \"AccountName\": \"<Account.Name>\", \n            \"AccountNumber\": \"<Account.Number>\"\n        }, \n        \"calloutRetry\": true, \n        \"description\": \"Callout when an account is edited\", \n        \"httpMethod\": \"POST\", \n        \"name\": \"Callout for Account Edited\", \n        \"requiredAuth\": true\n    }, \n    \"calloutActive\": true, \n    \"communicationProfileId\": \"6e569e1e05f040eda51a927b140c0ac5\", \n    \"description\": \"Notification sent out when an account is edited\", \n    \"emailActive\": true, \n    \"emailTemplateId\": \"6e569e1e05f040eda51a927b140c0ac6\", \n    \"filterRule\": {\n        \"condition\": \"Account.Balance >= _VIP_BALANCE_AMOUNT && Account.Status == _ACCOUNT_STATUS\", \n        \"description\": \"Filter rule to test if an account is a VIP account\", \n        \"parameters\": {\n            \"_ACCOUNT_STATUS\": {\n                \"description\": \"The status of the VIP Account\", \n                \"displayName\": \"VIP Account Status\", \n                \"options\": [\n                    \"Draft\", \n                    \"Active\", \n                    \"Canceled\"\n                ], \n                \"valueType\": \"STRING\"\n            }, \n            \"_VIP_BALANCE_AMOUNT\": {\n                \"description\": \"The minimum account balance\", \n                \"displayName\": \"VIP Account Balance\", \n                \"options\": null, \n                \"valueType\": \"BIG_DECIMAL\"\n            }\n        }\n    }, \n    \"filterRuleParams\": {\n        \"_EDITED_FROM\": \"UI\", \n        \"_VIP_ACCOUNT_BALANCE\": \"100000\"\n    }, \n    \"name\": \"Account Edit Notification\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/notifications/notification-definitions/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/notifications/notification-definitions/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"active\": true, \n    \"callout\": {\n        \"active\": true, \n        \"calloutAuth\": {\n            \"domain\": \"example_domain\", \n            \"password\": \"example_password\", \n            \"preemptive\": true, \n            \"username\": \"example_user\"\n        }, \n        \"calloutBaseurl\": \"https://www.example.com/callout/AccountEdit\", \n        \"calloutParams\": {\n            \"AccountName\": \"<Account.Name>\", \n            \"AccountNumber\": \"<Account.Number>\"\n        }, \n        \"calloutRetry\": true, \n        \"description\": \"Callout when an account is edited\", \n        \"httpMethod\": \"POST\", \n        \"name\": \"Callout for Account Edited\", \n        \"requiredAuth\": true\n    }, \n    \"calloutActive\": true, \n    \"communicationProfileId\": \"6e569e1e05f040eda51a927b140c0ac5\", \n    \"description\": \"Notification sent out when an account is edited\", \n    \"emailActive\": true, \n    \"emailTemplateId\": \"6e569e1e05f040eda51a927b140c0ac6\", \n    \"filterRule\": {\n        \"condition\": \"Account.Balance >= _VIP_BALANCE_AMOUNT && Account.Status == _ACCOUNT_STATUS\", \n        \"description\": \"Filter rule to test if an account is a VIP account\", \n        \"parameters\": {\n            \"_ACCOUNT_STATUS\": {\n                \"description\": \"The status of the VIP Account\", \n                \"displayName\": \"VIP Account Status\", \n                \"options\": [\n                    \"Draft\", \n                    \"Active\", \n                    \"Canceled\"\n                ], \n                \"valueType\": \"STRING\"\n            }, \n            \"_VIP_BALANCE_AMOUNT\": {\n                \"description\": \"The minimum account balance\", \n                \"displayName\": \"VIP Account Balance\", \n                \"options\": null, \n                \"valueType\": \"BIG_DECIMAL\"\n            }\n        }\n    }, \n    \"filterRuleParams\": {\n        \"_EDITED_FROM\": \"UI\", \n        \"_VIP_ACCOUNT_BALANCE\": \"100000\"\n    }, \n    \"name\": \"Account Edit Notification\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/notifications/notification-definitions/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"active\": true, \n    \"callout\": {\n        \"active\": true, \n        \"calloutAuth\": {\n            \"domain\": \"example_domain\", \n            \"password\": \"example_password\", \n            \"preemptive\": true, \n            \"username\": \"example_user\"\n        }, \n        \"calloutBaseurl\": \"https://www.example.com/callout/AccountEdit\", \n        \"calloutParams\": {\n            \"AccountName\": \"<Account.Name>\", \n            \"AccountNumber\": \"<Account.Number>\"\n        }, \n        \"calloutRetry\": true, \n        \"description\": \"Callout when an account is edited\", \n        \"httpMethod\": \"POST\", \n        \"name\": \"Callout for Account Edited\", \n        \"requiredAuth\": true\n    }, \n    \"calloutActive\": true, \n    \"communicationProfileId\": \"6e569e1e05f040eda51a927b140c0ac5\", \n    \"description\": \"Notification sent out when an account is edited\", \n    \"emailActive\": true, \n    \"emailTemplateId\": \"6e569e1e05f040eda51a927b140c0ac6\", \n    \"filterRule\": {\n        \"condition\": \"Account.Balance >= _VIP_BALANCE_AMOUNT && Account.Status == _ACCOUNT_STATUS\", \n        \"description\": \"Filter rule to test if an account is a VIP account\", \n        \"parameters\": {\n            \"_ACCOUNT_STATUS\": {\n                \"description\": \"The status of the VIP Account\", \n                \"displayName\": \"VIP Account Status\", \n                \"options\": [\n                    \"Draft\", \n                    \"Active\", \n                    \"Canceled\"\n                ], \n                \"valueType\": \"STRING\"\n            }, \n            \"_VIP_BALANCE_AMOUNT\": {\n                \"description\": \"The minimum account balance\", \n                \"displayName\": \"VIP Account Balance\", \n                \"options\": null, \n                \"valueType\": \"BIG_DECIMAL\"\n            }\n        }\n    }, \n    \"filterRuleParams\": {\n        \"_EDITED_FROM\": \"UI\", \n        \"_VIP_ACCOUNT_BALANCE\": \"100000\"\n    }, \n    \"name\": \"Account Edit Notification\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      summary: Get a notification definition
      operationId: GET_Get_Notification_Definition
      tags:
      - Notifications
      description: Queries the notification definition of the given ID.
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth_Notifications'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: id
        in: path
        description: The ID of the notification definition.
        required: true
        type: string
        format: uuid
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/GETPublicNotificationDefinitionResponse'
          headers:
            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.

                '
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"404",
                "message":"HTTP 404 Not Found"
              }
          headers:
            Zuora-Request-Id:
              type: string
              description: The Zuora request ID passed from the request or generated
                by the API Gateway.
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"405",
                "message":"HTTP 405 Method Not Allowed"
              }
          headers:
            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.

                '
        '415':
          description: Unsupported Media Type
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"415",
                "message":"HTTP 415 Unsupported Media Type"
              }
          headers:
            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.

                '
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"500",
                "message":"A temporary problem in the service occurred, you can retry later."
              }
          headers:
            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.

                '
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/notifications/notification-definitions/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/notifications/notification-definitions/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/notifications/notification-definitions/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/notifications/notification-definitions/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/notifications/notification-definitions/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/notifications/notification-definitions/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    delete:
      summary: Delete a notification definition
      operationId: DELETE_Delete_Notification_Definition
      tags:
      - Notifications
      description: Deletes a notification definition.
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth_Notifications'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: id
        in: path
        description: The ID of the notification definition to be deleted.
        required: true
        type: string
        format: uuid
      responses:
        '204':
          description: No Content
          headers:
            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.

                '
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"ObjectNotFound",
                "message":"The notification definition with id 6e569e1e05f040eda51a927b140c0ac2 does not exist"
              }
          headers:
            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.

                '
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"404",
                "message":"HTTP 404 Not Found"
              }
          headers:
            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.

                '
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"405",
                "message":"HTTP 405 Method Not Allowed"
              }
          headers:
            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.

                '
        '415':
          description: Unsupported Media Type
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"415",
                "message":"HTTP 415 Unsupported Media Type"
              }
          headers:
            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.

                '
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"500",
                "message":"A temporary problem in the service occurred, you can retry later."
              }
          headers:
            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.

                '
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/notifications/notification-definitions/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/notifications/notification-definitions/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/notifications/notification-definitions/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/notifications/notification-definitions/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/notifications/notification-definitions/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/notifications/notification-definitions/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /notifications/email-templates:
    post:
      summary: Create an email template
      operationId: POST_Create_Email_Template
      tags:
      - Notifications
      description: 'Creates an email template.

        '
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth_Notifications'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: POSTPublicEmailTemplateRequest
        in: body
        description: The request body to create an email template.
        required: true
        schema:
          $ref: '#/definitions/POSTPublicEmailTemplateRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/GETPublicEmailTemplateResponse'
          headers:
            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.

                '
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"ObjectNotFound",
                "message":"eventType {com.zuora.notification, AccountEdit} does not exist"
              }
          headers:
            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.

                '
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"404",
                "message":"HTTP 404 Not Found"
              }
          headers:
            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.

                '
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"405",
                "message":"HTTP 405 Method Not Allowed"
              }
          headers:
            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.

                '
        '415':
          description: Unsupported Media Type
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"415",
                "message":"HTTP 415 Unsupported Media Type"
              }
          headers:
            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.

                '
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"500",
                "message":"A temporary problem in the service occurred, you can retry later."
              }
          headers:
            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.

                '
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"active\": true, \n\
          \    \"bccEmailAddress\": \"user@example.com\", \n    \"ccEmailAddress\"\
          : \"user@example.com\", \n    \"ccEmailType\": \"SpecificEmails\", \n  \
          \  \"description\": \"Email when an account is edited\", \n    \"emailBody\"\
          : \"Dear user,<p>the account <Account.Name> has been edited. <p>Example\
          \ Co. Ltd.\", \n    \"emailSubject\": \"Account <Account.Number> has been\
          \ edited\", \n    \"encodingType\": \"UTF8\", \n    \"eventTypeName\": \"\
          AccountEdit\", \n    \"fromEmailAddress\": null, \n    \"fromEmailType\"\
          : \"TenantEmail\", \n    \"fromName\": \"Example Co. Ltd.\", \n    \"isHtml\"\
          : true, \n    \"name\": \"Account Edit Email\", \n    \"replyToEmailAddress\"\
          : null, \n    \"replyToEmailType\": \"TenantEmail\", \n    \"toEmailAddress\"\
          : null, \n    \"toEmailType\": \"BillToContact\"\n}' \"https://rest.zuora.com/notifications/email-templates\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/notifications/email-templates');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"active\": true, \n    \"bccEmailAddress\"\
          : \"user@example.com\", \n    \"ccEmailAddress\": \"user@example.com\",\
          \ \n    \"ccEmailType\": \"SpecificEmails\", \n    \"description\": \"Email\
          \ when an account is edited\", \n    \"emailBody\": \"Dear user,<p>the account\
          \ <Account.Name> has been edited. <p>Example Co. Ltd.\", \n    \"emailSubject\"\
          : \"Account <Account.Number> has been edited\", \n    \"encodingType\":\
          \ \"UTF8\", \n    \"eventTypeName\": \"AccountEdit\", \n    \"fromEmailAddress\"\
          : null, \n    \"fromEmailType\": \"TenantEmail\", \n    \"fromName\": \"\
          Example Co. Ltd.\", \n    \"isHtml\": true, \n    \"name\": \"Account Edit\
          \ Email\", \n    \"replyToEmailAddress\": null, \n    \"replyToEmailType\"\
          : \"TenantEmail\", \n    \"toEmailAddress\": null, \n    \"toEmailType\"\
          : \"BillToContact\"\n}');\n\ntry {\n  $response = $request->send();\n\n\
          \  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"active\": true, \n    \"bccEmailAddress\": \"user@example.com\", \n    \"ccEmailAddress\": \"user@example.com\", \n    \"ccEmailType\": \"SpecificEmails\", \n    \"description\": \"Email when an account is edited\", \n    \"emailBody\": \"Dear user,<p>the account <Account.Name> has been edited. <p>Example Co. Ltd.\", \n    \"emailSubject\": \"Account <Account.Number> has been edited\", \n    \"encodingType\": \"UTF8\", \n    \"eventTypeName\": \"AccountEdit\", \n    \"fromEmailAddress\": null, \n    \"fromEmailType\": \"TenantEmail\", \n    \"fromName\": \"Example Co. Ltd.\", \n    \"isHtml\": true, \n    \"name\": \"Account Edit Email\", \n    \"replyToEmailAddress\": null, \n    \"replyToEmailType\": \"TenantEmail\", \n    \"toEmailAddress\": null, \n    \"toEmailType\": \"BillToContact\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/notifications/email-templates")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"active\": true, \n    \"bccEmailAddress\": \"user@example.com\", \n    \"ccEmailAddress\": \"user@example.com\", \n    \"ccEmailType\": \"SpecificEmails\", \n    \"description\": \"Email when an account is edited\", \n    \"emailBody\": \"Dear user,<p>the account <Account.Name> has been edited. <p>Example Co. Ltd.\", \n    \"emailSubject\": \"Account <Account.Number> has been edited\", \n    \"encodingType\": \"UTF8\", \n    \"eventTypeName\": \"AccountEdit\", \n    \"fromEmailAddress\": null, \n    \"fromEmailType\": \"TenantEmail\", \n    \"fromName\": \"Example Co. Ltd.\", \n    \"isHtml\": true, \n    \"name\": \"Account Edit Email\", \n    \"replyToEmailAddress\": null, \n    \"replyToEmailType\": \"TenantEmail\", \n    \"toEmailAddress\": null, \n    \"toEmailType\": \"BillToContact\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/notifications/email-templates", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/notifications/email-templates")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"active\": true, \n    \"bccEmailAddress\": \"user@example.com\", \n    \"ccEmailAddress\": \"user@example.com\", \n    \"ccEmailType\": \"SpecificEmails\", \n    \"description\": \"Email when an account is edited\", \n    \"emailBody\": \"Dear user,<p>the account <Account.Name> has been edited. <p>Example Co. Ltd.\", \n    \"emailSubject\": \"Account <Account.Number> has been edited\", \n    \"encodingType\": \"UTF8\", \n    \"eventTypeName\": \"AccountEdit\", \n    \"fromEmailAddress\": null, \n    \"fromEmailType\": \"TenantEmail\", \n    \"fromName\": \"Example Co. Ltd.\", \n    \"isHtml\": true, \n    \"name\": \"Account Edit Email\", \n    \"replyToEmailAddress\": null, \n    \"replyToEmailType\": \"TenantEmail\", \n    \"toEmailAddress\": null, \n    \"toEmailType\": \"BillToContact\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/notifications/email-templates");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"active\": true, \n    \"bccEmailAddress\": \"user@example.com\", \n    \"ccEmailAddress\": \"user@example.com\", \n    \"ccEmailType\": \"SpecificEmails\", \n    \"description\": \"Email when an account is edited\", \n    \"emailBody\": \"Dear user,<p>the account <Account.Name> has been edited. <p>Example Co. Ltd.\", \n    \"emailSubject\": \"Account <Account.Number> has been edited\", \n    \"encodingType\": \"UTF8\", \n    \"eventTypeName\": \"AccountEdit\", \n    \"fromEmailAddress\": null, \n    \"fromEmailType\": \"TenantEmail\", \n    \"fromName\": \"Example Co. Ltd.\", \n    \"isHtml\": true, \n    \"name\": \"Account Edit Email\", \n    \"replyToEmailAddress\": null, \n    \"replyToEmailType\": \"TenantEmail\", \n    \"toEmailAddress\": null, \n    \"toEmailType\": \"BillToContact\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      summary: Query email templates
      operationId: GET_Query_Email_Templates
      tags:
      - Notifications
      description: 'Queries email templates.

        '
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth_Notifications'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: start
        in: query
        description: The first index of the query result.
        allowEmptyValue: true
        default: 1
        type: integer
        format: int32
      - name: limit
        in: query
        description: The maximum number of results the query should return.
        allowEmptyValue: true
        default: 20
        type: integer
        format: int32
        minimum: 1
        maximum: 100
      - name: eventTypeName
        in: query
        description: The name of the event.
        allowEmptyValue: true
        type: string
      - name: name
        in: query
        description: The name of the email template.
        allowEmptyValue: true
        type: string
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties:
              next:
                type: string
                description: The URI to query the next page of data, e.g. '/notification-definitions?start=1&limit=10'.
                  The start equals request's start+limit, and the limit equals the
                  request's limit. If the current page is the last page, this value
                  is null.
                example: /notification-definitions?start=1&limit=10
              data:
                type: array
                items:
                  $ref: '#/definitions/GETPublicEmailTemplateResponse'
          headers:
            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.

                '
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"404",
                "message":"HTTP 404 Not Found"
              }
          headers:
            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.

                '
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"405",
                "message":"HTTP 405 Method Not Allowed"
              }
          headers:
            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.

                '
        '415':
          description: Unsupported Media Type
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"415",
                "message":"HTTP 415 Unsupported Media Type"
              }
          headers:
            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.

                '
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"500",
                "message":"A temporary problem in the service occurred, you can retry later."
              }
          headers:
            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.

                '
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/notifications/email-templates"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/notifications/email-templates');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/notifications/email-templates")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/notifications/email-templates", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/notifications/email-templates")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/notifications/email-templates");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /notifications/email-templates/{id}:
    put:
      summary: Update an email template
      operationId: PUT_Update_Email_Template
      tags:
      - Notifications
      description: 'Updates an email template.

        '
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth_Notifications'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: id
        in: path
        description: The ID of the email template to be updated.
        required: true
        type: string
        format: uuid
      - name: PUTPublicEmailTemplateRequest
        in: body
        description: The request body to update an email template.
        required: true
        schema:
          $ref: '#/definitions/PUTPublicEmailTemplateRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/GETPublicEmailTemplateResponse'
          headers:
            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.

                '
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"ObjectNotFound",
                "message":"eventType {com.zuora.notification, AccountEdit} does not exist"
              }
          headers:
            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.

                '
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"404",
                "message":"HTTP 404 Not Found"
              }
          headers:
            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.

                '
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"405",
                "message":"HTTP 405 Method Not Allowed"
              }
          headers:
            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.

                '
        '415':
          description: Unsupported Media Type
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"415",
                "message":"HTTP 415 Unsupported Media Type"
              }
          headers:
            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.

                '
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"500",
                "message":"A temporary problem in the service occurred, you can retry later."
              }
          headers:
            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.

                '
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"active\": true, \n\
          \    \"bccEmailAddress\": \"user@example.com\", \n    \"ccEmailAddress\"\
          : \"user@example.com\", \n    \"ccEmailType\": \"SpecificEmails\", \n  \
          \  \"description\": \"Email when an account is edited\", \n    \"emailBody\"\
          : \"Dear user,<p>the account <Account.Name> has been edited. <p>Example\
          \ Co. Ltd.\", \n    \"emailSubject\": \"Account <Account.Number> has been\
          \ edited\", \n    \"encodingType\": \"UTF8\", \n    \"fromEmailAddress\"\
          : null, \n    \"fromEmailType\": \"TenantEmail\", \n    \"fromName\": \"\
          Example Co. Ltd.\", \n    \"isHtml\": true, \n    \"name\": \"Account Edit\
          \ Email\", \n    \"replyToEmailAddress\": null, \n    \"replyToEmailType\"\
          : \"TenantEmail\", \n    \"toEmailAddress\": null, \n    \"toEmailType\"\
          : \"BillToContact\"\n}' \"https://rest.zuora.com/notifications/email-templates/{id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/notifications/email-templates/{id}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"active\": true, \n    \"bccEmailAddress\"\
          : \"user@example.com\", \n    \"ccEmailAddress\": \"user@example.com\",\
          \ \n    \"ccEmailType\": \"SpecificEmails\", \n    \"description\": \"Email\
          \ when an account is edited\", \n    \"emailBody\": \"Dear user,<p>the account\
          \ <Account.Name> has been edited. <p>Example Co. Ltd.\", \n    \"emailSubject\"\
          : \"Account <Account.Number> has been edited\", \n    \"encodingType\":\
          \ \"UTF8\", \n    \"fromEmailAddress\": null, \n    \"fromEmailType\": \"\
          TenantEmail\", \n    \"fromName\": \"Example Co. Ltd.\", \n    \"isHtml\"\
          : true, \n    \"name\": \"Account Edit Email\", \n    \"replyToEmailAddress\"\
          : null, \n    \"replyToEmailType\": \"TenantEmail\", \n    \"toEmailAddress\"\
          : null, \n    \"toEmailType\": \"BillToContact\"\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"active\": true, \n    \"bccEmailAddress\": \"user@example.com\", \n    \"ccEmailAddress\": \"user@example.com\", \n    \"ccEmailType\": \"SpecificEmails\", \n    \"description\": \"Email when an account is edited\", \n    \"emailBody\": \"Dear user,<p>the account <Account.Name> has been edited. <p>Example Co. Ltd.\", \n    \"emailSubject\": \"Account <Account.Number> has been edited\", \n    \"encodingType\": \"UTF8\", \n    \"fromEmailAddress\": null, \n    \"fromEmailType\": \"TenantEmail\", \n    \"fromName\": \"Example Co. Ltd.\", \n    \"isHtml\": true, \n    \"name\": \"Account Edit Email\", \n    \"replyToEmailAddress\": null, \n    \"replyToEmailType\": \"TenantEmail\", \n    \"toEmailAddress\": null, \n    \"toEmailType\": \"BillToContact\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/notifications/email-templates/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"active\": true, \n    \"bccEmailAddress\": \"user@example.com\", \n    \"ccEmailAddress\": \"user@example.com\", \n    \"ccEmailType\": \"SpecificEmails\", \n    \"description\": \"Email when an account is edited\", \n    \"emailBody\": \"Dear user,<p>the account <Account.Name> has been edited. <p>Example Co. Ltd.\", \n    \"emailSubject\": \"Account <Account.Number> has been edited\", \n    \"encodingType\": \"UTF8\", \n    \"fromEmailAddress\": null, \n    \"fromEmailType\": \"TenantEmail\", \n    \"fromName\": \"Example Co. Ltd.\", \n    \"isHtml\": true, \n    \"name\": \"Account Edit Email\", \n    \"replyToEmailAddress\": null, \n    \"replyToEmailType\": \"TenantEmail\", \n    \"toEmailAddress\": null, \n    \"toEmailType\": \"BillToContact\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/notifications/email-templates/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/notifications/email-templates/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"active\": true, \n    \"bccEmailAddress\": \"user@example.com\", \n    \"ccEmailAddress\": \"user@example.com\", \n    \"ccEmailType\": \"SpecificEmails\", \n    \"description\": \"Email when an account is edited\", \n    \"emailBody\": \"Dear user,<p>the account <Account.Name> has been edited. <p>Example Co. Ltd.\", \n    \"emailSubject\": \"Account <Account.Number> has been edited\", \n    \"encodingType\": \"UTF8\", \n    \"fromEmailAddress\": null, \n    \"fromEmailType\": \"TenantEmail\", \n    \"fromName\": \"Example Co. Ltd.\", \n    \"isHtml\": true, \n    \"name\": \"Account Edit Email\", \n    \"replyToEmailAddress\": null, \n    \"replyToEmailType\": \"TenantEmail\", \n    \"toEmailAddress\": null, \n    \"toEmailType\": \"BillToContact\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/notifications/email-templates/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"active\": true, \n    \"bccEmailAddress\": \"user@example.com\", \n    \"ccEmailAddress\": \"user@example.com\", \n    \"ccEmailType\": \"SpecificEmails\", \n    \"description\": \"Email when an account is edited\", \n    \"emailBody\": \"Dear user,<p>the account <Account.Name> has been edited. <p>Example Co. Ltd.\", \n    \"emailSubject\": \"Account <Account.Number> has been edited\", \n    \"encodingType\": \"UTF8\", \n    \"fromEmailAddress\": null, \n    \"fromEmailType\": \"TenantEmail\", \n    \"fromName\": \"Example Co. Ltd.\", \n    \"isHtml\": true, \n    \"name\": \"Account Edit Email\", \n    \"replyToEmailAddress\": null, \n    \"replyToEmailType\": \"TenantEmail\", \n    \"toEmailAddress\": null, \n    \"toEmailType\": \"BillToContact\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      summary: Get an email template
      operationId: GET_Get_Email_Template
      tags:
      - Notifications
      description: Queries the email template of the specified ID.
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth_Notifications'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: id
        in: path
        description: The ID of the email template.
        required: true
        type: string
        format: uuid
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/GETPublicEmailTemplateResponse'
          headers:
            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.

                '
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"ObjectNotFound",
                "message":"The email template with id 6e569e1e05f040eda51a927b140c0ac2 does not exist in this tenant"
              }
          headers:
            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.

                '
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"404",
                "message":"HTTP 404 Not Found"
              }
          headers:
            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.

                '
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"405",
                "message":"HTTP 405 Method Not Allowed"
              }
          headers:
            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.

                '
        '415':
          description: Unsupported Media Type
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"415",
                "message":"HTTP 415 Unsupported Media Type"
              }
          headers:
            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.

                '
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"500",
                "message":"A temporary problem in the service occurred, you can retry later."
              }
          headers:
            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.

                '
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/notifications/email-templates/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/notifications/email-templates/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/notifications/email-templates/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/notifications/email-templates/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/notifications/email-templates/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/notifications/email-templates/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    delete:
      summary: Delete an email template
      operationId: DELETE_Delete_Email_Template
      tags:
      - Notifications
      description: Deletes an email template.
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth_Notifications'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: id
        in: path
        description: The ID of the email template to be deleted.
        required: true
        type: string
        format: uuid
      responses:
        '204':
          description: No Content
          headers:
            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.

                '
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"ObjectNotFound",
                "message":"The email template with id 6e569e1e05f040eda51a927b140c0ac2 does not exist in this tenant"
              }
          headers:
            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.

                '
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"404",
                "message":"HTTP 404 Not Found"
              }
          headers:
            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.

                '
        '405':
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"405",
                "message":"HTTP 405 Method Not Allowed"
              }
          headers:
            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.

                '
        '415':
          description: Unsupported Media Type
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"415",
                "message":"HTTP 415 Unsupported Media Type"
              }
          headers:
            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.

                '
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ErrorResponse'
          examples:
            application/json: |-
              {
                "code":"500",
                "message":"A temporary problem in the service occurred, you can retry later."
              }
          headers:
            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.

                '
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/notifications/email-templates/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/notifications/email-templates/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/notifications/email-templates/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/notifications/email-templates/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/notifications/email-templates/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/notifications/email-templates/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/notification-history/callout:
    get:
      summary: Get callout notification histories
      operationId: GET_CalloutHistory
      description: 'This REST API reference describes how to get a notification history
        for callouts.

        '
      tags:
      - Notifications
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - name: endTime
        in: query
        type: string
        format: date-time
        description: The final date and time of records to be returned. Defaults to
          now. Use format yyyy-MM-ddTHH:mm:ss.
        required: false
      - name: startTime
        in: query
        type: string
        format: date-time
        description: The initial date and time of records to be returned. Defaults
          to (end time - 1 day). Use format yyyy-MM-ddTHH:mm:ss.
        required: false
      - name: objectId
        in: query
        type: string
        description: The ID of an object that triggered a callout notification.
        required: false
      - name: failedOnly
        in: query
        type: boolean
        description: If `true`, only return failed records. If `false`, return all
          records in the given date range. The default value is `true`.
        required: false
      - name: eventCategory
        in: query
        type: string
        description: |
          Category of records to be returned by event category.

          The following formats are supported:
          * `{Event Type Namespace}:{Event Type Name}` if the Configurable Event features are enabled in your Zuora tenant. For example: `user.notification:NewSubscriptionCreated`.
          * Otherwise, numeric code of the event category. For example, `1210`. See [Event Categories for Notifications](https://knowledgecenter.zuora.com/DC_Developers/AA_REST_API/Event_Categories_for_Notification_Histories) for more information.
        required: false
      - name: includeResponseContent
        in: query
        type: boolean
        description: ''
        required: false
      responses:
        '200':
          examples:
            application/json:
              calloutHistories:
              - responseCode: 405
                requestUrl: https://www.google.com
                requestMethod: POST
                eventCategory: 1210
                notification: New Subscription Created
                attemptedNum: 3
                createTime: '2015-01-13T03:33:51'
                eventContext:
                  <Account.Currency>: USD
                  <Subscription.SubscriptionDetailTable>:
                    Charge Name: recurringcharge
                    Charge Type: Recurring
                    Effective Start Date: 01 / 01 / 2016
                    Unit Price: 50.0
                    QTY: 5.0
                    Total: 250.0
                  <Account.CurrencySymbol>: $
                  <BillToContact.FirstName>: Mary
                  <Subscription.ServiceActivation>: 01/01/2016
                  <Subscription.InitialTerm>: '50'
                  <Subscription.RenewalTerm>: '0'
                  <Subscription.CustomerAcceptance>: 01/01/2016
                  <Account.Name>: test
                  <Subscription.SubscriptionName>: A-S00000003
                  <Account.ID>: 402881e54ade80c8014ade884c48000b
                  <BillToContact.WorkEmail>: smith@example.com
                  <Account.Number>: A00000001
                  <Subscription.TermStartDate>: 01/01/2016
                  <Event.Timestamp>: 2015-01-13T22:31:43.248+0800
                  <Subscription.AutoRenew>: 'No'
                  <Notification>:
                    id: 402892fa47866fe701478674a5c100eb
                    EmailTemplate: New Subscription Created Default Email Template
                    Event: New Subscription Created
                    Profile: Default Profile
                    emailAction: true
                    calloutAction: true
                    updatedOn: 01/12/2015 03:23:08
                    updatedBy: 402892fa47866fe7014786749d9b0002
                  <BillToContact.LastName>: Smith
                  <Object.ID>: 402881e54ae37f31014ae3b514e100fd
                  <Subscription.ContractEffective>: 01/01/2016
                  <Subscription.TCV>: $12,500.00
                  <Contact.ID>: 402881e54ade80c8014ade884c51000c
                  <Subscription.CMRR>: $250.00
                  <BillToContact.ID>: 402881e54ade80c8014ade884c51000c
                  <Event.Category>: SubscriptionCreated
                  <Subscription.TermSetting>: termed
                  <BillingAccount.ID>: 402881e54ade80c8014ade884c48000b
                  <Subscription.CreateDate>: 01/13/2015
                  <Subscription.TermEndDate>: 03/01/2020
                  <Subscription.ID>: 402881e54ae37f31014ae3b514e100fd
                  <Event.ID>: 402892fa47866fe701478674a4ff0093
                  <Subscription.CreatedBy>: smith@example.com
              nextPage: https://localhost:8080/apps/v1/notification-history/callout?page=2&pageSize=1&startTime=2015-01-12T00:00:00&endTime=2015-01-15T00:00:00&failedOnly=false&eventCategory=1000
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETCalloutHistoryVOsType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/notification-history/callout"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/notification-history/callout');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/notification-history/callout")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/notification-history/callout", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/notification-history/callout")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/notification-history/callout");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/notification-history/email:
    get:
      summary: Get email notification histories
      operationId: GET_EmailHistory
      description: "This REST API reference describes how to get a notification history\
        \ for notification emails.\n\n\n## Notes\nRequest parameters and their values\
        \ may be appended with a \"?\" following the HTTPS GET request.  Additional\
        \ request parameter are separated by \"&\". \n\nFor example:\n\n`GET https://rest.zuora.com/v1/notification-history/email?startTime=2015-01-12T00:00:00&endTime=2015-01-15T00:00:00&failedOnly=false&eventCategory=1000&pageSize=1`\n"
      tags:
      - Notifications
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - name: endTime
        in: query
        type: string
        format: date-time
        description: The end date and time of records to be returned. Defaults to
          now. Use format yyyy-MM-ddTHH:mm:ss. The maximum date range (endTime - startTime)
          is three days.
        required: false
      - name: startTime
        in: query
        type: string
        format: date-time
        description: The initial date and time of records to be returned. Defaults
          to (end time - 1 day). Use format yyyy-MM-ddTHH:mm:ss. The maximum date
          range (endTime - startTime) is three days.
        required: false
      - name: objectId
        in: query
        type: string
        description: The Id of an object that triggered an email notification.
        required: false
      - name: failedOnly
        in: query
        type: boolean
        description: If `true`, only returns failed records. When `false`, returns
          all records in the given date range. Defaults to `true` when not specified.
        required: false
      - name: eventCategory
        in: query
        type: string
        description: |
          Category of records to be returned by event category.

          The following formats are supported:
          * `{Event Type Namespace}:{Event Type Name}` if the Configurable Event features are enabled in your Zuora tenant. For example: `user.notification:NewSubscriptionCreated`.
          * Otherwise, numeric code of the event category. For example, `1210`. See [Event Categories for Notifications](https://knowledgecenter.zuora.com/DC_Developers/AA_REST_API/Event_Categories_for_Notification_Histories) for more information.
        required: false
      responses:
        '200':
          examples:
            application/json:
              emailHistories:
              - result: OK
                errorMessage: null
                eventCategory: 1210
                notification: New Subscription Created
                subject: New subscription A-S00000003 was created and activated
                toEmail: smith@example.com
                fromEmail: no-reply@example.com
                cc: bob@example.com,chris@example.com
                bcc: ceo@example.com,cto@example.com
                replyTo: supportexample.com
                sendTime: '2015-01-13T03:31:43'
              nextPage: https://localhost:8080/apps/v1/notification-history/email?page=2&pageSize=1&startTime=2015-01-12T00:00:00&endTime=2015-01-15T00:00:00&failedOnly=false&eventCategory=1000
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETEmailHistoryVOsType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/notification-history/email"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/notification-history/email');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/notification-history/email")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/notification-history/email", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/notification-history/email")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/notification-history/email");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /oauth/token:
    post:
      tags:
      - OAuth
      summary: Generate an OAuth token
      operationId: createToken
      description: |
        Generates a bearer token that enables an OAuth client to authenticate with the Zuora REST API. The OAuth client must have been created using the Zuora UI. See [Authentication](https://www.zuora.com/developer/api-reference/#section/Authentication) for more information.

        **Note:** When using this operation, do not set any authentication headers such as `Authorization`, `apiAccessKeyId`, or `apiSecretAccessKey`.

        You should not use this operation to generate a large number of bearer tokens in a short period of time; each token should be used until it expires. If you receive a 429 Too Many Requests response when using this operation, reduce the frequency of requests. This endpoint is rate limited by IP address. The rate limit is 100 requests per minute.
      consumes:
      - application/x-www-form-urlencoded
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: client_id
        in: formData
        minLength: 36
        maxLength: 36
        description: 'The Client ID of the OAuth client.

          '
        required: true
        type: string
      - name: client_secret
        in: formData
        maxLength: 42
        description: 'The Client Secret that was displayed when the OAuth client was
          created.

          '
        type: string
        required: true
      - name: grant_type
        in: formData
        required: true
        type: string
        description: 'The OAuth grant type that will be used to generate the token.
          The value of this parameter must be `client_credentials`.

          '
        enum:
        - client_credentials
      responses:
        200:
          headers:
            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.

                '
            X-RateLimit-Limit-minute:
              type: integer
              description: 'The rate limit of this operation, in requests per minute.

                '
            X-RateLimit-Remaining-minute:
              type: integer
              description: 'The number of requests that you may make in the next minute.

                '
          examples:
            application/json:
              access_token: c652cbc0ea384b9f81856a93a2a74538
              token_type: bearer
              expires_in: 3599
              scope: user.7c4d5433dc234c369a01b9719ecd059f entity.1a2b7a37-3e7d-4cb3-b0e2-883de9e766cc
                entity.c92ed977-510c-4c48-9b51-8d5e848671e9 service.echo.read tenant.19
              jti: c652cbc0ea384b9f81856a93a2a74539
          description: OK
          schema:
            $ref: '#/definitions/tokenResponse'
        429:
          headers:
            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.

                '
            X-RateLimit-Limit-minute:
              type: integer
              description: 'The rate limit of this operation, in requests per minute.

                '
            X-RateLimit-Remaining-minute:
              type: integer
              description: 'The number of requests that you may make in the next minute.

                '
          description: Too Many Requests
      x-code-samples:
      - lang: Curl
        source: 'curl -X POST -H "Content-Type: application/x-www-form-urlencoded"
          -d "client_id=b64e42ba-7e1a-4bc6-9146-5e1b420306b5" --data-urlencode "client_secret=dOFENLWU193EEoEsWjPZrcjLKVr5OrN1HC9Kqg"
          -d "grant_type=client_credentials" "https://rest.zuora.com/oauth/token"

          '
  /v1/operations/invoice-collect:
    post:
      summary: Invoice and collect
      operationId: POST_TransactionInvoicePayment
      description: "Generates and posts invoices and credit memos and collects payments\
        \ for posted invoices. Credit memos are only available if you have the Invoice\
        \ Settlement feature enabled and negative charges exist. Credit memos will\
        \ not be applied to invoices. If draft invoices and credit memos exist when\
        \ you run this operation, this operation will post the invoices and credit\
        \ memos. Note that draft credit memos created from an invoice or a product\
        \ rate plan charge will not be posted.\n\nYou can use this operation to generate\
        \ invoices and collect payments on the posted invoices,\n or else simply collect\
        \ payment on a specified existing\ninvoice. The customer's default payment\
        \ method is used, and the full\namount due is collected. The operation depends\
        \ on the parameters you\nspecify.\n\n- To generate one or more new invoices\
        \ for that customer and collect\npayment on the generated and other unpaid\
        \ invoice(s), leave the **invoiceId** field empty. \n\n- To collect payment\
        \ on an existing invoice, specify the invoice ID. \n\n\nThe operation is atomic;\
        \ if any part is unsuccessful, the entire\noperation is rolled back.\n\nWhen\
        \ an error occurs, gateway reason codes and error messages are returned the\
        \ error response of this operation. The following items are some gateway response\
        \ code examples.\n\n- Orbital: `05 Do Not Honor`; `14 Invalid Credit Card\
        \ Number`\n- Vantiv: `301 Invalid Account Number`; `304 Lost/Stolen Card`\
        \  \n- CyberSource2: `202 Expired card`; `231 Invalid account number`\n\n\
        For more reason code information, see the corresponding payment gateway documentation.\
        \ \n\n\n## Notes\n\nTimeouts may occur when using this method on an account\
        \ that\nhas an extremely high number of subscriptions.\n"
      tags:
      - Operations
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: zuora-version
        in: header
        required: false
        type: string
        description: "\nThe minor version of the Zuora REST API. \n\nYou need to set\
          \ this parameter if you use the following fields:\n* documentDate\n* targetDate\
          \            \n\nIf you have the Invoice Settlement feature enabled, you\
          \ need to specify this parameter. Otherwise, an error is returned.\n\n\n\
          See [Zuora REST API Versions](https://www.zuora.com/developer/api-reference/#section/API-Versions)\
          \ for more information.\n"
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTInvoiceCollectType'
      responses:
        '200':
          examples:
            application/json:
              invoices:
              - invoiceId: 4028925a4cb74ec9014cb7540988002e
                invoiceNumber: INV00000091
                invoiceAmount: 801.73
              creditMemos:
              - id: 402890555a7e9791015a879f064a0054
                memoNumber: CM00000012
                memoAmount: 801.73
              paymentId: 402892053e100406013e1024ab7c00e3
              amountCollected: 801.73
              success: true
          description: ''
          schema:
            $ref: '#/definitions/POSTInvoiceCollectResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"accountKey\": \"4028925a4cb74ec9014cb7520fc00005\"\
          , \n    \"invoiceId\": \"4028925a4cb74ec9014cb7540988002e\", \n    \"paymentGateway\"\
          : \"TestGateway\"\n}' \"https://rest.zuora.com/v1/operations/invoice-collect\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/operations/invoice-collect');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"accountKey\": \"4028925a4cb74ec9014cb7520fc00005\"\
          , \n    \"invoiceId\": \"4028925a4cb74ec9014cb7540988002e\", \n    \"paymentGateway\"\
          : \"TestGateway\"\n}');\n\ntry {\n  $response = $request->send();\n\n  echo\
          \ $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"accountKey\": \"4028925a4cb74ec9014cb7520fc00005\", \n    \"invoiceId\": \"4028925a4cb74ec9014cb7540988002e\", \n    \"paymentGateway\": \"TestGateway\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/operations/invoice-collect")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"accountKey\": \"4028925a4cb74ec9014cb7520fc00005\", \n    \"invoiceId\": \"4028925a4cb74ec9014cb7540988002e\", \n    \"paymentGateway\": \"TestGateway\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/operations/invoice-collect", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/operations/invoice-collect")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"accountKey\": \"4028925a4cb74ec9014cb7520fc00005\", \n    \"invoiceId\": \"4028925a4cb74ec9014cb7540988002e\", \n    \"paymentGateway\": \"TestGateway\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/operations/invoice-collect");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"accountKey\": \"4028925a4cb74ec9014cb7520fc00005\", \n    \"invoiceId\": \"4028925a4cb74ec9014cb7540988002e\", \n    \"paymentGateway\": \"TestGateway\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/operations/billing-preview:
    post:
      summary: Create billing preview
      operationId: POST_BillingPreview
      description: "**Note:** The Billing Preview feature is in **Limited Availability**.\
        \ If you wish to have access to the feature, submit a request at [Zuora Global\
        \ Support](http://support.zuora.com/). \n\n\nGenerates a preview of future\
        \ invoice items for one customer account. Use the BillingPreview call to calculate\
        \ how much a single customer will be invoiced from the most recent invoice\
        \ to a specific end of term date in the future.\n\nAdditionally, you can use\
        \ the BillingPreview service to access real-time data on an individual customer's\
        \ usage consumption. \n\nThe BillingPreview call does not calculate taxes\
        \ for charges in the subscription.\n\nIf you have the Invoice Settlement feature\
        \ enabled, you can also generate a preview of future credit memo items for\
        \ one customer account. The Invoice Settlement feature is in **Limited Availability**.\
        \ If you wish to have access to the feature, submit a request at [Zuora Global\
        \ Support](http://support.zuora.com/). \n"
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PostBillingPreviewParam'
      tags:
      - Operations
      responses:
        200:
          examples:
            application/json:
              accountId: 402890b75972406c0159724cd4d00011
              invoiceItems:
              - id: 93ac165212294c1a8bef1c8f99121461
                subscriptionName: A-S00000001
                subscriptionId: 402890b75972406c0159724e2e810029
                subscriptionNumber: A-S00000001
                serviceStartDate: '2017-05-01'
                serviceEndDate: '2017-05-31'
                chargeAmount: 100
                chargeDescription: ''
                chargeName: positive-charge
                chargeNumber: C-00000001
                chargeId: 402890b75972406c0159724e2eec0031
                productName: FA-freshAir
                quantity: 1
                taxAmount: 0
                unitOfMeasure: License
                chargeDate: '2017-01-06 16:38:26'
                chargeType: Recurring
                processingType: Charge
                appliedToItemId: null
              - id: 3e28d61d442f433797e268e2b7c11eeb
                subscriptionName: A-S00000001
                subscriptionId: c2d9a5768db440cbbf2709a55c614bed
                subscriptionNumber: A-S00000001
                serviceStartDate: '2017-05-01'
                serviceEndDate: '2017-05-31'
                chargeAmount: 10
                chargeDescription: ''
                chargeName: discount-charge
                chargeNumber: C-00000003
                chargeId: 402890b75972406c0159724e2eec0031
                productName: FA-freshAir
                quantity: 0
                taxAmount: 0
                unitOfMeasure: ''
                chargeDate: '2017-01-06 16:38:26'
                chargeType: Recurring
                processingType: Discount
                appliedToItemId: 93ac165212294c1a8bef1c8f99121461
              creditMemoItems:
              - id: cf6326638f3c4ddda3722734aebd7ba7
                subscriptionId: 402890b75972406c0159724e2e810029
                amount: 50
                amountWithoutTax: 50
                comment: ''
                sku: SKU-00000001
                skuName: negative_charge
                serviceStartDate: '2017-05-01'
                serviceEndDate: '2017-05-31'
                unitOfMeasure: License
                ratePlanChargeId: 402890b75972406c0159724e2ef10032
                quantity: 1
                chargeDate: '2017-01-06 16:38:26'
                chargeType: Recurring
                processingType: Charge
                subscriptionNumber: A-S00000001
                chargeNumber: C-00000002
              - id: 3e28d61d442f433797e268e2b7c11eeb
                subscriptionName: A-S00000001
                subscriptionId: c2d9a5768db440cbbf2709a55c614bed
                subscriptionNumber: A-S00000001
                serviceStartDate: '2017-05-01'
                serviceEndDate: '2017-05-31'
                chargeAmount: 5
                chargeDescription: ''
                chargeName: discount-charge
                chargeNumber: C-00000003
                chargeId: 402890b75972406c0159724e2eec0031
                productName: FA-freshAir
                quantity: 0
                taxAmount: 0
                unitOfMeasure: ''
                chargeDate: '2017-01-06 16:38:26'
                chargeType: Recurring
                processingType: Discount
                appliedToItemId: cf6326638f3c4ddda3722734aebd7ba7
              success: true
          description: ''
          schema:
            $ref: '#/definitions/BillingPreviewResult'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"accountId\": \"402890b75972406c0159724cd4d00011\"\
          , \n    \"assumeRenewal\": \"None\", \n    \"chargeTypeToExclude\": \"\"\
          , \n    \"includingEvergreenSubscription\": \"true\", \n    \"targetDate\"\
          : \"2017-05-10\"\n}' \"https://rest.zuora.com/v1/operations/billing-preview\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/operations/billing-preview');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"accountId\": \"402890b75972406c0159724cd4d00011\"\
          , \n    \"assumeRenewal\": \"None\", \n    \"chargeTypeToExclude\": \"\"\
          , \n    \"includingEvergreenSubscription\": \"true\", \n    \"targetDate\"\
          : \"2017-05-10\"\n}');\n\ntry {\n  $response = $request->send();\n\n  echo\
          \ $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"accountId\": \"402890b75972406c0159724cd4d00011\", \n    \"assumeRenewal\": \"None\", \n    \"chargeTypeToExclude\": \"\", \n    \"includingEvergreenSubscription\": \"true\", \n    \"targetDate\": \"2017-05-10\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/operations/billing-preview")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"accountId\": \"402890b75972406c0159724cd4d00011\", \n    \"assumeRenewal\": \"None\", \n    \"chargeTypeToExclude\": \"\", \n    \"includingEvergreenSubscription\": \"true\", \n    \"targetDate\": \"2017-05-10\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/operations/billing-preview", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/operations/billing-preview")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"accountId\": \"402890b75972406c0159724cd4d00011\", \n    \"assumeRenewal\": \"None\", \n    \"chargeTypeToExclude\": \"\", \n    \"includingEvergreenSubscription\": \"true\", \n    \"targetDate\": \"2017-05-10\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/operations/billing-preview");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"accountId\": \"402890b75972406c0159724cd4d00011\", \n    \"assumeRenewal\": \"None\", \n    \"chargeTypeToExclude\": \"\", \n    \"includingEvergreenSubscription\": \"true\", \n    \"targetDate\": \"2017-05-10\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/orders/preview:
    post:
      summary: Preview order
      operationId: POST_PreviewOrder
      description: "**Note:** This operation is only available if you have the [Orders](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AA_Overview_of_Orders#Orders)\
        \ feature enabled. The migration to Orders is in **Limited Availability**.\
        \ We are actively soliciting feedback from a small set of early adopters before\
        \ releasing as generally available. \n\n\nRetrieves the preview of the charge\
        \ metrics and invoice items of a specified order. This operation is only an\
        \ order preview and no order is created.\n\n**Note:** Zuora has the following\
        \ limits on Orders to prevent performance degradation. You can request a limit\
        \ increase by submitting a request at [Zuora\_Global Support](https://support.zuora.com).\n\
        * Up to 50 subscriptions are allowed in a single \"Preview order\" operation\
        \ call.\n* Up to 50 order actions are allowed in a single \"Preview order\"\
        \ operation call.\n* Up to 50 order actions are allowed on a single subscription\
        \ in a \"Preview order\" operation call.\n"
      tags:
      - Orders
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: body
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTOrderPreviewRequestType'
      responses:
        200:
          description: ''
          schema:
            $ref: '#/definitions/PostOrderPreviewResponseType'
          examples:
            application/json:
              success: true
              previewResult:
                chargeMetrics:
                - subscriptionNumber: A-S00000101
                  charges:
                  - productRatePlanId: 2c98901f6706718c016706b8c0720012
                    productRatePlanChargeId: 2c98901f6706718c016706b91c6e001f
                    originRatePlanId: 2c98919c67a5ae9d0167a6901c5a027f
                    chargeNumber: C-00000211
                    cmrr:
                      regular: 30
                      discount: null
                      regularDelta: 0
                      discountDelta: null
                    tcv:
                      regular: 11.61
                      discount: null
                      regularDelta: -348.39
                      discountDelta: null
                    tcb:
                      regular: 11.61
                      discount: null
                      regularDelta: -348.39
                      discountDelta: null
                - subscriptionNumber: A-S00000100
                  charges:
                  - productRatePlanId: 2c98901f6706718c016706b8c0720012
                    productRatePlanChargeId: 2c98901f6706718c016706b91c6e001f
                    originRatePlanId: 2c98919c67a5ae9d0167a68f8eb20262
                    chargeNumber: C-00000210
                    cmrr:
                      regular: 40
                      discount: null
                      regularDelta: 10
                      discountDelta: null
                    tcv:
                      regular: 480
                      discount: null
                      regularDelta: 120
                      discountDelta: null
                    tcb:
                      regular: 480
                      discount: null
                      regularDelta: 120
                      discountDelta: null
                - subscriptionNumber: A-S00000102
                  charges:
                  - productRatePlanId: 2c98901f6706718c016706b8c0720012
                    productRatePlanChargeId: 2c98901f6706718c016706b91c6e001f
                    originRatePlanId: 2c98919c67a5ae9d0167a69089bd029c
                    chargeNumber: C-00000212
                    cmrr:
                      regular: 30
                      discount: null
                      regularDelta: 30
                      discountDelta: null
                    tcv:
                      regular: 359.61
                      discount: null
                      regularDelta: 348
                      discountDelta: null
                    tcb:
                      regular: 360
                      discount: null
                      regularDelta: 348.39
                      discountDelta: null
                invoices:
                - amount: 141.93
                  amountWithoutTax: 141.93
                  taxAmount: 0
                  targetDate: '2019-01-01'
                  invoiceItems:
                  - serviceStartDate: '2018-12-01'
                    serviceEndDate: '2018-12-12'
                    amountWithoutTax: 11.61
                    taxAmount: 0
                    chargeDescription: ''
                    chargeName: Charge
                    chargeNumber: C-00000212
                    processingType: Charge
                    productName: Product
                    productRatePlanChargeId: 2c98901f6706718c016706b91c6e001f
                    subscriptionNumber: A-S00000102
                    additionalInfo:
                      quantity: 2
                      unitOfMeasure: Each
                  - serviceStartDate: '2018-12-23'
                    serviceEndDate: '2018-12-31'
                    amountWithoutTax: 8.71
                    taxAmount: 0
                    chargeDescription: ''
                    chargeName: Charge
                    chargeNumber: C-00000212
                    processingType: Charge
                    productName: Product
                    productRatePlanChargeId: 2c98901f6706718c016706b91c6e001f
                    subscriptionNumber: A-S00000102
                    additionalInfo:
                      quantity: 2
                      unitOfMeasure: Each
                  - serviceStartDate: '2019-01-01'
                    serviceEndDate: '2019-01-31'
                    amountWithoutTax: 30
                    taxAmount: 0
                    chargeDescription: ''
                    chargeName: Charge
                    chargeNumber: C-00000212
                    processingType: Charge
                    productName: Product
                    productRatePlanChargeId: 2c98901f6706718c016706b91c6e001f
                    subscriptionNumber: A-S00000102
                    additionalInfo:
                      quantity: 2
                      unitOfMeasure: Each
                  - serviceStartDate: '2018-12-01'
                    serviceEndDate: '2018-12-12'
                    amountWithoutTax: 11.61
                    taxAmount: 0
                    chargeDescription: ''
                    chargeName: Charge
                    chargeNumber: C-00000211
                    processingType: Charge
                    productName: Product
                    productRatePlanChargeId: 2c98901f6706718c016706b91c6e001f
                    subscriptionNumber: A-S00000101
                    additionalInfo:
                      quantity: 2
                      unitOfMeasure: Each
                  - serviceStartDate: '2018-12-01'
                    serviceEndDate: '2018-12-31'
                    amountWithoutTax: 40
                    taxAmount: 0
                    chargeDescription: ''
                    chargeName: Charge
                    chargeNumber: C-00000210
                    processingType: Charge
                    productName: Product
                    productRatePlanChargeId: 2c98901f6706718c016706b91c6e001f
                    subscriptionNumber: A-S00000100
                    additionalInfo:
                      quantity: 2
                      unitOfMeasure: Each
                  - serviceStartDate: '2019-01-01'
                    serviceEndDate: '2019-01-31'
                    amountWithoutTax: 40
                    taxAmount: 0
                    chargeDescription: ''
                    chargeName: Charge
                    chargeNumber: C-00000210
                    processingType: Charge
                    productName: Product
                    productRatePlanChargeId: 2c98901f6706718c016706b91c6e001f
                    subscriptionNumber: A-S00000100
                    additionalInfo:
                      quantity: 2
                      unitOfMeasure: Each
                orderMetrics:
                - orderActions:
                  - sequence: 0
                    type: UpdateProduct
                    orderItems: []
                    orderMetrics:
                    - productRatePlanChargeId: 2c98901f6706718c016706b91c6e001f
                      originRatePlanId: 2c98919c67a5ae9d0167a68f8eb20262
                      tcb:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 120
                        endDate: '2019-11-30'
                        orderItemId: 2c98919c67a5ae9d0167a68f8edf026a
                        termNumber: 1
                        generatedReason: ChangePrice
                        type: Regular
                        startDate: '2018-12-01'
                      productRatePlanId: 2c98901f6706718c016706b8c0720012
                      tcv:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 120
                        endDate: '2019-11-30'
                        orderItemId: 2c98919c67a5ae9d0167a68f8edf026a
                        termNumber: 1
                        generatedReason: ChangePrice
                        type: Regular
                        startDate: '2018-12-01'
                      chargeNumber: C-00000210
                      mrr:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 10
                        endDate: '2019-11-30'
                        orderItemId: 2c98919c67a5ae9d0167a68f8edf026a
                        termNumber: 1
                        generatedReason: ChangePrice
                        type: Regular
                        startDate: '2018-12-01'
                  subscriptionNumber: A-S00000100
                - orderActions:
                  - sequence: 0
                    type: Suspend
                    orderItems: []
                    orderMetrics:
                    - productRatePlanChargeId: 2c98901f6706718c016706b91c6e001f
                      originRatePlanId: 2c98919c67a5ae9d0167a6901c5a027f
                      tcb:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: -348.39
                        endDate: '2019-11-30'
                        orderItemId: 2c98919c67a5ae9d0167a6901c8d0287
                        termNumber: 1
                        generatedReason: Contraction
                        type: Regular
                        startDate: '2018-12-13'
                      quantity:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: -2
                        endDate: '2019-11-30'
                        orderItemId: 2c98919c67a5ae9d0167a6901c8d0287
                        termNumber: 1
                        generatedReason: Contraction
                        startDate: '2018-12-13'
                      productRatePlanId: 2c98901f6706718c016706b8c0720012
                      tcv:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: -348
                        endDate: '2019-11-30'
                        orderItemId: 2c98919c67a5ae9d0167a6901c8d0287
                        termNumber: 1
                        generatedReason: Contraction
                        type: Regular
                        startDate: '2018-12-13'
                      chargeNumber: C-00000211
                      elp:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: -348.39
                        endDate: '2019-11-30'
                        orderItemId: 2c98919c67a5ae9d0167a6901c8d0287
                        termNumber: 1
                        generatedReason: Contraction
                        type: Regular
                        startDate: '2018-12-13'
                      mrr:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: -30
                        endDate: '2019-11-30'
                        orderItemId: 2c98919c67a5ae9d0167a6901c8d0287
                        termNumber: 1
                        generatedReason: Contraction
                        type: Regular
                        startDate: '2018-12-13'
                  subscriptionNumber: A-S00000101
                - orderActions:
                  - sequence: 0
                    type: Resume
                    orderItems:
                    - quantity: 2
                      endDate: '2019-11-30'
                      orderActionId: preview-2c98919c67a5ae9d0167a69a85a202f3
                      id: preview-preview-2c98919c67a5ae9d0167a69a8af40329
                      startDate: '2018-12-23'
                      scId: preview-CSZ-0000000-internal
                    orderMetrics:
                    - productRatePlanChargeId: 2c98901f6706718c016706b91c6e001f
                      originRatePlanId: 2c98919c67a5ae9d0167a69089bd029c
                      tcb:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 338.71
                        endDate: '2019-11-30'
                        orderItemId: preview-2c98919c67a5ae9d0167a69a8af40329
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2018-12-23'
                      quantity:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 2
                        endDate: '2019-11-30'
                        orderItemId: preview-2c98919c67a5ae9d0167a69a8af40329
                        termNumber: 1
                        generatedReason: Extension
                        startDate: '2018-12-23'
                      productRatePlanId: 2c98901f6706718c016706b8c0720012
                      tcv:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 338
                        endDate: '2019-11-30'
                        orderItemId: preview-2c98919c67a5ae9d0167a69a8af40329
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2018-12-23'
                      chargeNumber: C-00000212
                      elp:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 338.71
                        endDate: '2019-11-30'
                        orderItemId: preview-2c98919c67a5ae9d0167a69a8af40329
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2018-12-23'
                      mrr:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 30
                        endDate: '2019-11-30'
                        orderItemId: preview-2c98919c67a5ae9d0167a69a8af40329
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2018-12-23'
                  - sequence: 1
                    type: TermsAndConditions
                    orderItems:
                    - quantity: 2
                      endDate: '2019-12-10'
                      orderActionId: preview-5bf336bd11724faabb0114a1f916d4c5
                      id: preview-preview-2c98919c67a5ae9d0167a69a8af8032a
                      startDate: '2019-12-01'
                      scId: preview-2c98919c67a5ae9d0167a69a8ad70324
                    orderMetrics:
                    - productRatePlanChargeId: 2c98901f6706718c016706b91c6e001f
                      originRatePlanId: 2c98919c67a5ae9d0167a69089bd029c
                      tcb:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 9.68
                        endDate: '2019-12-10'
                        orderItemId: preview-2c98919c67a5ae9d0167a69a8af8032a
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2019-12-01'
                      quantity:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 2
                        endDate: '2019-12-10'
                        orderItemId: preview-2c98919c67a5ae9d0167a69a8af8032a
                        termNumber: 1
                        generatedReason: Extension
                        startDate: '2019-12-01'
                      productRatePlanId: 2c98901f6706718c016706b8c0720012
                      tcv:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 9.68
                        endDate: '2019-12-10'
                        orderItemId: preview-2c98919c67a5ae9d0167a69a8af8032a
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2019-12-01'
                      chargeNumber: C-00000212
                      elp:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 9.68
                        endDate: '2019-12-10'
                        orderItemId: preview-2c98919c67a5ae9d0167a69a8af8032a
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2019-12-01'
                      mrr:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 30
                        endDate: '2019-12-10'
                        orderItemId: preview-2c98919c67a5ae9d0167a69a8af8032a
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2019-12-01'
                  subscriptionNumber: A-S00000102
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"customFields\": {},\
          \ \n    \"description\": \"This is a description for the Order.\", \n  \
          \  \"existingAccountNumber\": \"A00000101\", \n    \"orderDate\": \"2018-10-01\"\
          , \n    \"previewOptions\": {\n        \"previewThruType\": \"SpecificDate\"\
          , \n        \"previewTypes\": [\n            \"OrderMetrics\", \n      \
          \      \"BillingDocs\", \n            \"ChargeMetrics\"\n        ], \n \
          \       \"specificPreviewThruDate\": \"2019-01-01\"\n    }, \n    \"subscriptions\"\
          : [\n        {\n            \"orderActions\": [\n                {\n   \
          \                 \"triggerDates\": [\n                        {\n     \
          \                       \"name\": \"ContractEffective\", \n            \
          \                \"triggerDate\": \"2018-12-01\"\n                     \
          \   }, \n                        {\n                            \"name\"\
          : \"ServiceActivation\", \n                            \"triggerDate\":\
          \ \"2018-12-01\"\n                        }, \n                        {\n\
          \                            \"name\": \"CustomerAcceptance\", \n      \
          \                      \"triggerDate\": \"2018-12-01\"\n               \
          \         }\n                    ], \n                    \"type\": \"UpdateProduct\"\
          , \n                    \"updateProduct\": {\n                        \"\
          chargeUpdates\": [\n                            {\n                    \
          \            \"chargeNumber\": \"C-00000210\", \n                      \
          \          \"pricing\": {\n                                    \"recurringPerUnit\"\
          : {\n                                        \"listPrice\": 20\n       \
          \                             }\n                                }\n   \
          \                         }\n                        ], \n             \
          \           \"ratePlanId\": \"2c98919c67a5ae9d0167a68f8eb20262\"\n     \
          \               }\n                }\n            ], \n            \"subscriptionNumber\"\
          : \"A-S00000100\"\n        }, \n        {\n            \"orderActions\"\
          : [\n                {\n                    \"suspend\": {\n           \
          \             \"suspendPolicy\": \"Today\"\n                    }, \n  \
          \                  \"triggerDates\": [\n                        {\n    \
          \                        \"name\": \"ContractEffective\", \n           \
          \                 \"triggerDate\": \"2018-12-01\"\n                    \
          \    }, \n                        {\n                            \"name\"\
          : \"ServiceActivation\", \n                            \"triggerDate\":\
          \ \"2018-12-01\"\n                        }, \n                        {\n\
          \                            \"name\": \"CustomerAcceptance\", \n      \
          \                      \"triggerDate\": \"2018-12-01\"\n               \
          \         }\n                    ], \n                    \"type\": \"Suspend\"\
          \n                }\n            ], \n            \"subscriptionNumber\"\
          : \"A-S00000101\"\n        }, \n        {\n            \"orderActions\"\
          : [\n                {\n                    \"resume\": {\n            \
          \            \"extendsTerm\": true, \n                        \"resumePeriods\"\
          : 10, \n                        \"resumePeriodsType\": \"Day\", \n     \
          \                   \"resumePolicy\": \"FixedPeriodsFromSuspendDate\"\n\
          \                    }, \n                    \"triggerDates\": [\n    \
          \                    {\n                            \"name\": \"ContractEffective\"\
          , \n                            \"triggerDate\": \"2018-12-12\"\n      \
          \                  }, \n                        {\n                    \
          \        \"name\": \"ServiceActivation\", \n                           \
          \ \"triggerDate\": \"2018-12-12\"\n                        }, \n       \
          \                 {\n                            \"name\": \"CustomerAcceptance\"\
          , \n                            \"triggerDate\": \"2018-12-12\"\n      \
          \                  }\n                    ], \n                    \"type\"\
          : \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\"\
          : \"A-S00000102\"\n        }\n    ]\n}' \"https://rest.zuora.com/v1/orders/preview\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/orders/preview');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"customFields\": {}, \n    \"description\"\
          : \"This is a description for the Order.\", \n    \"existingAccountNumber\"\
          : \"A00000101\", \n    \"orderDate\": \"2018-10-01\", \n    \"previewOptions\"\
          : {\n        \"previewThruType\": \"SpecificDate\", \n        \"previewTypes\"\
          : [\n            \"OrderMetrics\", \n            \"BillingDocs\", \n   \
          \         \"ChargeMetrics\"\n        ], \n        \"specificPreviewThruDate\"\
          : \"2019-01-01\"\n    }, \n    \"subscriptions\": [\n        {\n       \
          \     \"orderActions\": [\n                {\n                    \"triggerDates\"\
          : [\n                        {\n                            \"name\": \"\
          ContractEffective\", \n                            \"triggerDate\": \"2018-12-01\"\
          \n                        }, \n                        {\n             \
          \               \"name\": \"ServiceActivation\", \n                    \
          \        \"triggerDate\": \"2018-12-01\"\n                        }, \n\
          \                        {\n                            \"name\": \"CustomerAcceptance\"\
          , \n                            \"triggerDate\": \"2018-12-01\"\n      \
          \                  }\n                    ], \n                    \"type\"\
          : \"UpdateProduct\", \n                    \"updateProduct\": {\n      \
          \                  \"chargeUpdates\": [\n                            {\n\
          \                                \"chargeNumber\": \"C-00000210\", \n  \
          \                              \"pricing\": {\n                        \
          \            \"recurringPerUnit\": {\n                                 \
          \       \"listPrice\": 20\n                                    }\n     \
          \                           }\n                            }\n         \
          \               ], \n                        \"ratePlanId\": \"2c98919c67a5ae9d0167a68f8eb20262\"\
          \n                    }\n                }\n            ], \n          \
          \  \"subscriptionNumber\": \"A-S00000100\"\n        }, \n        {\n   \
          \         \"orderActions\": [\n                {\n                    \"\
          suspend\": {\n                        \"suspendPolicy\": \"Today\"\n   \
          \                 }, \n                    \"triggerDates\": [\n       \
          \                 {\n                            \"name\": \"ContractEffective\"\
          , \n                            \"triggerDate\": \"2018-12-01\"\n      \
          \                  }, \n                        {\n                    \
          \        \"name\": \"ServiceActivation\", \n                           \
          \ \"triggerDate\": \"2018-12-01\"\n                        }, \n       \
          \                 {\n                            \"name\": \"CustomerAcceptance\"\
          , \n                            \"triggerDate\": \"2018-12-01\"\n      \
          \                  }\n                    ], \n                    \"type\"\
          : \"Suspend\"\n                }\n            ], \n            \"subscriptionNumber\"\
          : \"A-S00000101\"\n        }, \n        {\n            \"orderActions\"\
          : [\n                {\n                    \"resume\": {\n            \
          \            \"extendsTerm\": true, \n                        \"resumePeriods\"\
          : 10, \n                        \"resumePeriodsType\": \"Day\", \n     \
          \                   \"resumePolicy\": \"FixedPeriodsFromSuspendDate\"\n\
          \                    }, \n                    \"triggerDates\": [\n    \
          \                    {\n                            \"name\": \"ContractEffective\"\
          , \n                            \"triggerDate\": \"2018-12-12\"\n      \
          \                  }, \n                        {\n                    \
          \        \"name\": \"ServiceActivation\", \n                           \
          \ \"triggerDate\": \"2018-12-12\"\n                        }, \n       \
          \                 {\n                            \"name\": \"CustomerAcceptance\"\
          , \n                            \"triggerDate\": \"2018-12-12\"\n      \
          \                  }\n                    ], \n                    \"type\"\
          : \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\"\
          : \"A-S00000102\"\n        }\n    ]\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"customFields\": {}, \n    \"description\": \"This is a description for the Order.\", \n    \"existingAccountNumber\": \"A00000101\", \n    \"orderDate\": \"2018-10-01\", \n    \"previewOptions\": {\n        \"previewThruType\": \"SpecificDate\", \n        \"previewTypes\": [\n            \"OrderMetrics\", \n            \"BillingDocs\", \n            \"ChargeMetrics\"\n        ], \n        \"specificPreviewThruDate\": \"2019-01-01\"\n    }, \n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }\n                    ], \n                    \"type\": \"UpdateProduct\", \n                    \"updateProduct\": {\n                        \"chargeUpdates\": [\n                            {\n                                \"chargeNumber\": \"C-00000210\", \n                                \"pricing\": {\n                                    \"recurringPerUnit\": {\n                                        \"listPrice\": 20\n                                    }\n                                }\n                            }\n                        ], \n                        \"ratePlanId\": \"2c98919c67a5ae9d0167a68f8eb20262\"\n                    }\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000100\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"suspend\": {\n                        \"suspendPolicy\": \"Today\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }\n                    ], \n                    \"type\": \"Suspend\"\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000101\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"resume\": {\n                        \"extendsTerm\": true, \n                        \"resumePeriods\": 10, \n                        \"resumePeriodsType\": \"Day\", \n                        \"resumePolicy\": \"FixedPeriodsFromSuspendDate\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }\n                    ], \n                    \"type\": \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000102\"\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/orders/preview")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"customFields\": {}, \n    \"description\": \"This is a description for the Order.\", \n    \"existingAccountNumber\": \"A00000101\", \n    \"orderDate\": \"2018-10-01\", \n    \"previewOptions\": {\n        \"previewThruType\": \"SpecificDate\", \n        \"previewTypes\": [\n            \"OrderMetrics\", \n            \"BillingDocs\", \n            \"ChargeMetrics\"\n        ], \n        \"specificPreviewThruDate\": \"2019-01-01\"\n    }, \n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }\n                    ], \n                    \"type\": \"UpdateProduct\", \n                    \"updateProduct\": {\n                        \"chargeUpdates\": [\n                            {\n                                \"chargeNumber\": \"C-00000210\", \n                                \"pricing\": {\n                                    \"recurringPerUnit\": {\n                                        \"listPrice\": 20\n                                    }\n                                }\n                            }\n                        ], \n                        \"ratePlanId\": \"2c98919c67a5ae9d0167a68f8eb20262\"\n                    }\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000100\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"suspend\": {\n                        \"suspendPolicy\": \"Today\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }\n                    ], \n                    \"type\": \"Suspend\"\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000101\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"resume\": {\n                        \"extendsTerm\": true, \n                        \"resumePeriods\": 10, \n                        \"resumePeriodsType\": \"Day\", \n                        \"resumePolicy\": \"FixedPeriodsFromSuspendDate\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }\n                    ], \n                    \"type\": \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000102\"\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/orders/preview", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/orders/preview")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"customFields\": {}, \n    \"description\": \"This is a description for the Order.\", \n    \"existingAccountNumber\": \"A00000101\", \n    \"orderDate\": \"2018-10-01\", \n    \"previewOptions\": {\n        \"previewThruType\": \"SpecificDate\", \n        \"previewTypes\": [\n            \"OrderMetrics\", \n            \"BillingDocs\", \n            \"ChargeMetrics\"\n        ], \n        \"specificPreviewThruDate\": \"2019-01-01\"\n    }, \n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }\n                    ], \n                    \"type\": \"UpdateProduct\", \n                    \"updateProduct\": {\n                        \"chargeUpdates\": [\n                            {\n                                \"chargeNumber\": \"C-00000210\", \n                                \"pricing\": {\n                                    \"recurringPerUnit\": {\n                                        \"listPrice\": 20\n                                    }\n                                }\n                            }\n                        ], \n                        \"ratePlanId\": \"2c98919c67a5ae9d0167a68f8eb20262\"\n                    }\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000100\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"suspend\": {\n                        \"suspendPolicy\": \"Today\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }\n                    ], \n                    \"type\": \"Suspend\"\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000101\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"resume\": {\n                        \"extendsTerm\": true, \n                        \"resumePeriods\": 10, \n                        \"resumePeriodsType\": \"Day\", \n                        \"resumePolicy\": \"FixedPeriodsFromSuspendDate\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }\n                    ], \n                    \"type\": \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000102\"\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/orders/preview");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"customFields\": {}, \n    \"description\": \"This is a description for the Order.\", \n    \"existingAccountNumber\": \"A00000101\", \n    \"orderDate\": \"2018-10-01\", \n    \"previewOptions\": {\n        \"previewThruType\": \"SpecificDate\", \n        \"previewTypes\": [\n            \"OrderMetrics\", \n            \"BillingDocs\", \n            \"ChargeMetrics\"\n        ], \n        \"specificPreviewThruDate\": \"2019-01-01\"\n    }, \n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }\n                    ], \n                    \"type\": \"UpdateProduct\", \n                    \"updateProduct\": {\n                        \"chargeUpdates\": [\n                            {\n                                \"chargeNumber\": \"C-00000210\", \n                                \"pricing\": {\n                                    \"recurringPerUnit\": {\n                                        \"listPrice\": 20\n                                    }\n                                }\n                            }\n                        ], \n                        \"ratePlanId\": \"2c98919c67a5ae9d0167a68f8eb20262\"\n                    }\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000100\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"suspend\": {\n                        \"suspendPolicy\": \"Today\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }\n                    ], \n                    \"type\": \"Suspend\"\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000101\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"resume\": {\n                        \"extendsTerm\": true, \n                        \"resumePeriods\": 10, \n                        \"resumePeriodsType\": \"Day\", \n                        \"resumePolicy\": \"FixedPeriodsFromSuspendDate\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }\n                    ], \n                    \"type\": \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000102\"\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/async/orders/preview:
    post:
      summary: Preview order asynchronously
      operationId: POST_PreviewOrderAsynchronously
      description: "**Note:** This operation is only available if you have the [Orders](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AA_Overview_of_Orders#Orders)\
        \ feature enabled. This operation is in **Limited Availability**. \n\n\nIn\
        \ the case where a normal \"Preview order\" operation call will time out,\
        \ use this operation instead to preview an order asynchronously. A job will\
        \ be previewing the order in the back end; the job ID will be returned for\
        \ tracking the job status and result.\n"
      tags:
      - Orders
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: body
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTOrderPreviewRequestType'
      responses:
        202:
          description: Accepted
          examples:
            application/json:
              jobId: 2c90a02d676688200167770ce20601b6
          headers:
            Location:
              type: string
              description: URL for accessing the job result, in the format of `/async-jobs/{jobId}`.
                For example, `/async-jobs/2c90a02d676688200167770ce20601b6`
          schema:
            type: object
            properties:
              jobId:
                type: string
                format: UUID
                description: The ID of an asynchronous job that will be returned for
                  tracking the status and result of the job.
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"customFields\": {},\
          \ \n    \"description\": \"This is a description for the Order.\", \n  \
          \  \"existingAccountNumber\": \"A00000101\", \n    \"orderDate\": \"2018-10-01\"\
          , \n    \"previewOptions\": {\n        \"previewThruType\": \"SpecificDate\"\
          , \n        \"previewTypes\": [\n            \"OrderMetrics\", \n      \
          \      \"BillingDocs\", \n            \"ChargeMetrics\"\n        ], \n \
          \       \"specificPreviewThruDate\": \"2019-01-01\"\n    }, \n    \"subscriptions\"\
          : [\n        {\n            \"orderActions\": [\n                {\n   \
          \                 \"triggerDates\": [\n                        {\n     \
          \                       \"name\": \"ContractEffective\", \n            \
          \                \"triggerDate\": \"2018-12-01\"\n                     \
          \   }, \n                        {\n                            \"name\"\
          : \"ServiceActivation\", \n                            \"triggerDate\":\
          \ \"2018-12-01\"\n                        }, \n                        {\n\
          \                            \"name\": \"CustomerAcceptance\", \n      \
          \                      \"triggerDate\": \"2018-12-01\"\n               \
          \         }\n                    ], \n                    \"type\": \"UpdateProduct\"\
          , \n                    \"updateProduct\": {\n                        \"\
          chargeUpdates\": [\n                            {\n                    \
          \            \"chargeNumber\": \"C-00000210\", \n                      \
          \          \"pricing\": {\n                                    \"recurringPerUnit\"\
          : {\n                                        \"listPrice\": 20\n       \
          \                             }\n                                }\n   \
          \                         }\n                        ], \n             \
          \           \"ratePlanId\": \"2c98919c67a5ae9d0167a68f8eb20262\"\n     \
          \               }\n                }\n            ], \n            \"subscriptionNumber\"\
          : \"A-S00000100\"\n        }, \n        {\n            \"orderActions\"\
          : [\n                {\n                    \"suspend\": {\n           \
          \             \"suspendPolicy\": \"Today\"\n                    }, \n  \
          \                  \"triggerDates\": [\n                        {\n    \
          \                        \"name\": \"ContractEffective\", \n           \
          \                 \"triggerDate\": \"2018-12-01\"\n                    \
          \    }, \n                        {\n                            \"name\"\
          : \"ServiceActivation\", \n                            \"triggerDate\":\
          \ \"2018-12-01\"\n                        }, \n                        {\n\
          \                            \"name\": \"CustomerAcceptance\", \n      \
          \                      \"triggerDate\": \"2018-12-01\"\n               \
          \         }\n                    ], \n                    \"type\": \"Suspend\"\
          \n                }\n            ], \n            \"subscriptionNumber\"\
          : \"A-S00000101\"\n        }, \n        {\n            \"orderActions\"\
          : [\n                {\n                    \"resume\": {\n            \
          \            \"extendsTerm\": true, \n                        \"resumePeriods\"\
          : 10, \n                        \"resumePeriodsType\": \"Day\", \n     \
          \                   \"resumePolicy\": \"FixedPeriodsFromSuspendDate\"\n\
          \                    }, \n                    \"triggerDates\": [\n    \
          \                    {\n                            \"name\": \"ContractEffective\"\
          , \n                            \"triggerDate\": \"2018-12-12\"\n      \
          \                  }, \n                        {\n                    \
          \        \"name\": \"ServiceActivation\", \n                           \
          \ \"triggerDate\": \"2018-12-12\"\n                        }, \n       \
          \                 {\n                            \"name\": \"CustomerAcceptance\"\
          , \n                            \"triggerDate\": \"2018-12-12\"\n      \
          \                  }\n                    ], \n                    \"type\"\
          : \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\"\
          : \"A-S00000102\"\n        }\n    ]\n}' \"https://rest.zuora.com/v1/async/orders/preview\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/async/orders/preview');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"customFields\": {}, \n    \"description\"\
          : \"This is a description for the Order.\", \n    \"existingAccountNumber\"\
          : \"A00000101\", \n    \"orderDate\": \"2018-10-01\", \n    \"previewOptions\"\
          : {\n        \"previewThruType\": \"SpecificDate\", \n        \"previewTypes\"\
          : [\n            \"OrderMetrics\", \n            \"BillingDocs\", \n   \
          \         \"ChargeMetrics\"\n        ], \n        \"specificPreviewThruDate\"\
          : \"2019-01-01\"\n    }, \n    \"subscriptions\": [\n        {\n       \
          \     \"orderActions\": [\n                {\n                    \"triggerDates\"\
          : [\n                        {\n                            \"name\": \"\
          ContractEffective\", \n                            \"triggerDate\": \"2018-12-01\"\
          \n                        }, \n                        {\n             \
          \               \"name\": \"ServiceActivation\", \n                    \
          \        \"triggerDate\": \"2018-12-01\"\n                        }, \n\
          \                        {\n                            \"name\": \"CustomerAcceptance\"\
          , \n                            \"triggerDate\": \"2018-12-01\"\n      \
          \                  }\n                    ], \n                    \"type\"\
          : \"UpdateProduct\", \n                    \"updateProduct\": {\n      \
          \                  \"chargeUpdates\": [\n                            {\n\
          \                                \"chargeNumber\": \"C-00000210\", \n  \
          \                              \"pricing\": {\n                        \
          \            \"recurringPerUnit\": {\n                                 \
          \       \"listPrice\": 20\n                                    }\n     \
          \                           }\n                            }\n         \
          \               ], \n                        \"ratePlanId\": \"2c98919c67a5ae9d0167a68f8eb20262\"\
          \n                    }\n                }\n            ], \n          \
          \  \"subscriptionNumber\": \"A-S00000100\"\n        }, \n        {\n   \
          \         \"orderActions\": [\n                {\n                    \"\
          suspend\": {\n                        \"suspendPolicy\": \"Today\"\n   \
          \                 }, \n                    \"triggerDates\": [\n       \
          \                 {\n                            \"name\": \"ContractEffective\"\
          , \n                            \"triggerDate\": \"2018-12-01\"\n      \
          \                  }, \n                        {\n                    \
          \        \"name\": \"ServiceActivation\", \n                           \
          \ \"triggerDate\": \"2018-12-01\"\n                        }, \n       \
          \                 {\n                            \"name\": \"CustomerAcceptance\"\
          , \n                            \"triggerDate\": \"2018-12-01\"\n      \
          \                  }\n                    ], \n                    \"type\"\
          : \"Suspend\"\n                }\n            ], \n            \"subscriptionNumber\"\
          : \"A-S00000101\"\n        }, \n        {\n            \"orderActions\"\
          : [\n                {\n                    \"resume\": {\n            \
          \            \"extendsTerm\": true, \n                        \"resumePeriods\"\
          : 10, \n                        \"resumePeriodsType\": \"Day\", \n     \
          \                   \"resumePolicy\": \"FixedPeriodsFromSuspendDate\"\n\
          \                    }, \n                    \"triggerDates\": [\n    \
          \                    {\n                            \"name\": \"ContractEffective\"\
          , \n                            \"triggerDate\": \"2018-12-12\"\n      \
          \                  }, \n                        {\n                    \
          \        \"name\": \"ServiceActivation\", \n                           \
          \ \"triggerDate\": \"2018-12-12\"\n                        }, \n       \
          \                 {\n                            \"name\": \"CustomerAcceptance\"\
          , \n                            \"triggerDate\": \"2018-12-12\"\n      \
          \                  }\n                    ], \n                    \"type\"\
          : \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\"\
          : \"A-S00000102\"\n        }\n    ]\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"customFields\": {}, \n    \"description\": \"This is a description for the Order.\", \n    \"existingAccountNumber\": \"A00000101\", \n    \"orderDate\": \"2018-10-01\", \n    \"previewOptions\": {\n        \"previewThruType\": \"SpecificDate\", \n        \"previewTypes\": [\n            \"OrderMetrics\", \n            \"BillingDocs\", \n            \"ChargeMetrics\"\n        ], \n        \"specificPreviewThruDate\": \"2019-01-01\"\n    }, \n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }\n                    ], \n                    \"type\": \"UpdateProduct\", \n                    \"updateProduct\": {\n                        \"chargeUpdates\": [\n                            {\n                                \"chargeNumber\": \"C-00000210\", \n                                \"pricing\": {\n                                    \"recurringPerUnit\": {\n                                        \"listPrice\": 20\n                                    }\n                                }\n                            }\n                        ], \n                        \"ratePlanId\": \"2c98919c67a5ae9d0167a68f8eb20262\"\n                    }\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000100\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"suspend\": {\n                        \"suspendPolicy\": \"Today\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }\n                    ], \n                    \"type\": \"Suspend\"\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000101\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"resume\": {\n                        \"extendsTerm\": true, \n                        \"resumePeriods\": 10, \n                        \"resumePeriodsType\": \"Day\", \n                        \"resumePolicy\": \"FixedPeriodsFromSuspendDate\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }\n                    ], \n                    \"type\": \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000102\"\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/async/orders/preview")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"customFields\": {}, \n    \"description\": \"This is a description for the Order.\", \n    \"existingAccountNumber\": \"A00000101\", \n    \"orderDate\": \"2018-10-01\", \n    \"previewOptions\": {\n        \"previewThruType\": \"SpecificDate\", \n        \"previewTypes\": [\n            \"OrderMetrics\", \n            \"BillingDocs\", \n            \"ChargeMetrics\"\n        ], \n        \"specificPreviewThruDate\": \"2019-01-01\"\n    }, \n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }\n                    ], \n                    \"type\": \"UpdateProduct\", \n                    \"updateProduct\": {\n                        \"chargeUpdates\": [\n                            {\n                                \"chargeNumber\": \"C-00000210\", \n                                \"pricing\": {\n                                    \"recurringPerUnit\": {\n                                        \"listPrice\": 20\n                                    }\n                                }\n                            }\n                        ], \n                        \"ratePlanId\": \"2c98919c67a5ae9d0167a68f8eb20262\"\n                    }\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000100\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"suspend\": {\n                        \"suspendPolicy\": \"Today\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }\n                    ], \n                    \"type\": \"Suspend\"\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000101\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"resume\": {\n                        \"extendsTerm\": true, \n                        \"resumePeriods\": 10, \n                        \"resumePeriodsType\": \"Day\", \n                        \"resumePolicy\": \"FixedPeriodsFromSuspendDate\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }\n                    ], \n                    \"type\": \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000102\"\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/async/orders/preview", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/async/orders/preview")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"customFields\": {}, \n    \"description\": \"This is a description for the Order.\", \n    \"existingAccountNumber\": \"A00000101\", \n    \"orderDate\": \"2018-10-01\", \n    \"previewOptions\": {\n        \"previewThruType\": \"SpecificDate\", \n        \"previewTypes\": [\n            \"OrderMetrics\", \n            \"BillingDocs\", \n            \"ChargeMetrics\"\n        ], \n        \"specificPreviewThruDate\": \"2019-01-01\"\n    }, \n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }\n                    ], \n                    \"type\": \"UpdateProduct\", \n                    \"updateProduct\": {\n                        \"chargeUpdates\": [\n                            {\n                                \"chargeNumber\": \"C-00000210\", \n                                \"pricing\": {\n                                    \"recurringPerUnit\": {\n                                        \"listPrice\": 20\n                                    }\n                                }\n                            }\n                        ], \n                        \"ratePlanId\": \"2c98919c67a5ae9d0167a68f8eb20262\"\n                    }\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000100\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"suspend\": {\n                        \"suspendPolicy\": \"Today\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }\n                    ], \n                    \"type\": \"Suspend\"\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000101\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"resume\": {\n                        \"extendsTerm\": true, \n                        \"resumePeriods\": 10, \n                        \"resumePeriodsType\": \"Day\", \n                        \"resumePolicy\": \"FixedPeriodsFromSuspendDate\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }\n                    ], \n                    \"type\": \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000102\"\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/async/orders/preview");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"customFields\": {}, \n    \"description\": \"This is a description for the Order.\", \n    \"existingAccountNumber\": \"A00000101\", \n    \"orderDate\": \"2018-10-01\", \n    \"previewOptions\": {\n        \"previewThruType\": \"SpecificDate\", \n        \"previewTypes\": [\n            \"OrderMetrics\", \n            \"BillingDocs\", \n            \"ChargeMetrics\"\n        ], \n        \"specificPreviewThruDate\": \"2019-01-01\"\n    }, \n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }\n                    ], \n                    \"type\": \"UpdateProduct\", \n                    \"updateProduct\": {\n                        \"chargeUpdates\": [\n                            {\n                                \"chargeNumber\": \"C-00000210\", \n                                \"pricing\": {\n                                    \"recurringPerUnit\": {\n                                        \"listPrice\": 20\n                                    }\n                                }\n                            }\n                        ], \n                        \"ratePlanId\": \"2c98919c67a5ae9d0167a68f8eb20262\"\n                    }\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000100\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"suspend\": {\n                        \"suspendPolicy\": \"Today\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-01\"\n                        }\n                    ], \n                    \"type\": \"Suspend\"\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000101\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"resume\": {\n                        \"extendsTerm\": true, \n                        \"resumePeriods\": 10, \n                        \"resumePeriodsType\": \"Day\", \n                        \"resumePolicy\": \"FixedPeriodsFromSuspendDate\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-12-12\"\n                        }\n                    ], \n                    \"type\": \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000102\"\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/orders:
    post:
      summary: Create order
      operationId: POST_Order
      description: "**Note:** This operation is only available if you have the [Orders](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AA_Overview_of_Orders#Orders)\
        \ feature enabled. The migration to Orders is in **Limited Availability**.\
        \ We are actively soliciting feedback from a small set of early adopters before\
        \ releasing as generally available. \n\nYou can use this operation to create\
        \ subscriptions and make changes to subscriptions by creating orders. The\
        \ following tutorials demonstrate how to use this operation:\n\n * [Add a\
        \ Product to a Subscription](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AC_Orders_Tutorials/A_Add_a_Product_to_a_Subscription)\n\
        \ * [Create a Ramp Deal](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AC_Orders_Tutorials/A_Create_a_Ramp_Deal)\n\
        \ * [Create a Subscription](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AC_Orders_Tutorials/A_Create_a_Subscription)\n\
        \ * [Change the Owner of a Subscription](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AC_Orders_Tutorials/C_Change_the_Owner_of_a_Subscription)\n\
        \ * [Change the Terms and Conditions of a Subscription](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AC_Orders_Tutorials/C_Change_the_Terms_and_Conditions_of_a_Subscription)\n\
        \ * [Renew a Subscription](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AC_Orders_Tutorials/C_Renew_a_Subscription)\n\
        \ * [Renew a Subscription and Upgrade a Product](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AC_Orders_Tutorials/C_Renew_a_Subscription_and_Upgrade_a_Product)\n\
        \ * [Replace a Product in a Subscription](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AC_Orders_Tutorials/C_Replace_a_Product_in_a_Subscription)\n\
        \ * [Update a Product in a Subscription](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AC_Orders_Tutorials/C_Update_a_Product_in_a_Subscription)\n\
        \ * [Cancel a Subscription](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AC_Orders_Tutorials/D_Cancel_a_Subscription)\n\
        \ * [Remove a Product from a Subscription](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AC_Orders_Tutorials/D_Remove_a_Product_from_a_Subscription)\n\
        \n\nCreating a draft order is currently not supported. See [Known Limitations\
        \ in Orders](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/C_Known_Limitations_in_Orders)\
        \ for additional limitations.\n\n**Note:** When you are to suspend a subcription\
        \ (via the `suspend` order action), if in the same \"Create order\" call you\
        \ are to perform other subsequent order actions on the supscription to suspend,\
        \ you must first resume the subscription (via a `resume` order action). \n\
        \n**Note:** When using this operation to create an account, create a subscription,\
        \ run billing, and collect payment in a single call, if the payment processing\
        \ fails then all the other steps will be rolled back. This means that the\
        \ invoice will not be generated, the subscription will not be created, and\
        \ the account will not be created.\n\n**Note:** Zuora has the following limits\
        \ on Orders to prevent performance degradation. You can request a limit increase\
        \ by submitting a request at [Zuora\_Global Support](https://support.zuora.com).\n\
        * Up to 50 subscriptions are allowed in a single \"Create order\" operation\
        \ call.\n* Up to 50 order actions are allowed in a single \"Create order\"\
        \ operation call.\n* Up to 50 order actions are allowed on a single subscription\
        \ in a \"Create order\" operation call.        \n"
      tags:
      - Orders
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: boolean
        in: query
        description: 'Specify whether to return IDs associated with the numbers returned
          in the Create Order operation.

          '
        name: returnIds
        required: false
        default: false
      - name: zuora-version
        in: header
        required: false
        type: string
        description: "\nThe minor version of the Zuora REST API. \n\nYou need to set\
          \ this parameter if you use the following fields:\n* subscriptions\n* subscriptionNumbers\n"
      - name: body
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTOrderRequestType'
      responses:
        200:
          description: ''
          examples:
            application/json:
              success: true
              orderNumber: OM-00002
              accountNumber: A00000001
              status: Pending
              subscriptions:
              - subscriptionNumber: SM-00001
                status: Pending Activation
              - subscriptionNumber: SM-00002
                status: Pending Acceptance
              - subscriptionNumber: SM-00003
                status: Active
              - subscriptionNumber: SM-00004
                status: Pending Acceptance
              - subscriptionNumber: SM-00005
                status: Suspended
              - subscriptionNumber: SM-00006
                status: Active
              invoiceNumbers:
              - INV00000001
              paymentNumber: P-00000002
              paidAmount: 300
          schema:
            $ref: '#/definitions/PostOrderResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"description\": \"This\
          \ is a description for the Order.\", \n    \"existingAccountNumber\": \"\
          A00000001\", \n    \"orderDate\": \"2017-01-01\", \n    \"orderNumber\"\
          : \"OM-00001\", \n    \"processingOptions\": {\n        \"applyCreditBalance\"\
          : true, \n        \"billingOptions\": {\n            \"targetDate\": \"\
          2017-08-01\"\n        }, \n        \"collectPayment\": true, \n        \"\
          runBilling\": true\n    }, \n    \"subscriptions\": [\n        {\n     \
          \       \"orderActions\": [\n                {\n                    \"createSubscription\"\
          : {\n                        \"subscribeToRatePlans\": [\n             \
          \               {\n                                \"productRatePlanId\"\
          : \"efbff07e6290dfb8016291003bd00dda\"\n                            }\n\
          \                        ], \n                        \"subscriptionNumber\"\
          : \"SM-00001\", \n                        \"terms\": {\n               \
          \             \"autoRenew\": true, \n                            \"initialTerm\"\
          : {\n                                \"period\": 12, \n                \
          \                \"periodType\": \"Month\", \n                         \
          \       \"startDate\": \"2017-01-01\", \n                              \
          \  \"termType\": \"TERMED\"\n                            }, \n         \
          \                   \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n\
          \                            \"renewalTerms\": [\n                     \
          \           {\n                                    \"period\": 12, \n  \
          \                                  \"periodType\": \"Month\"\n         \
          \                       }\n                            ]\n             \
          \           }\n                    }, \n                    \"triggerDates\"\
          : [\n                        {\n                            \"name\": \"\
          ContractEffective\", \n                            \"triggerDate\": \"2017-01-01\"\
          \n                        }\n                    ], \n                 \
          \   \"type\": \"CreateSubscription\"\n                }\n            ]\n\
          \        }, \n        {\n            \"orderActions\": [\n             \
          \   {\n                    \"createSubscription\": {\n                 \
          \       \"subscribeToRatePlans\": [\n                            {\n   \
          \                             \"productRatePlanId\": \"efbff07e6290dfb8016291003bd00dda\"\
          \n                            }\n                        ], \n         \
          \               \"subscriptionNumber\": \"SM-00002\", \n               \
          \         \"terms\": {\n                            \"autoRenew\": true,\
          \ \n                            \"initialTerm\": {\n                   \
          \             \"period\": 12, \n                                \"periodType\"\
          : \"Month\", \n                                \"startDate\": \"2017-02-01\"\
          , \n                                \"termType\": \"TERMED\"\n         \
          \                   }, \n                            \"renewalSetting\"\
          : \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\"\
          : [\n                                {\n                               \
          \     \"period\": 12, \n                                    \"periodType\"\
          : \"Month\"\n                                }\n                       \
          \     ]\n                        }\n                    }, \n          \
          \          \"triggerDates\": [\n                        {\n            \
          \                \"name\": \"ServiceActivation\", \n                   \
          \         \"triggerDate\": \"2017-02-01\"\n                        }\n \
          \                   ], \n                    \"type\": \"CreateSubscription\"\
          \n                }\n            ]\n        }, \n        {\n           \
          \ \"orderActions\": [\n                {\n                    \"createSubscription\"\
          : {\n                        \"subscribeToRatePlans\": [\n             \
          \               {\n                                \"productRatePlanId\"\
          : \"efbff07e6290dfb80162910024c80dd5\"\n                            }\n\
          \                        ], \n                        \"subscriptionNumber\"\
          : \"SM-00003\", \n                        \"terms\": {\n               \
          \             \"autoRenew\": true, \n                            \"initialTerm\"\
          : {\n                                \"period\": 12, \n                \
          \                \"periodType\": \"Month\", \n                         \
          \       \"startDate\": \"2017-01-01\", \n                              \
          \  \"termType\": \"TERMED\"\n                            }, \n         \
          \                   \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n\
          \                            \"renewalTerms\": [\n                     \
          \           {\n                                    \"period\": 12, \n  \
          \                                  \"periodType\": \"Month\"\n         \
          \                       }\n                            ]\n             \
          \           }\n                    }, \n                    \"triggerDates\"\
          : [\n                        {\n                            \"name\": \"\
          ServiceActivation\", \n                            \"triggerDate\": \"2017-03-01\"\
          \n                        }, \n                        {\n             \
          \               \"name\": \"CustomerAcceptance\", \n                   \
          \         \"triggerDate\": \"2017-04-01\"\n                        }\n \
          \                   ], \n                    \"type\": \"CreateSubscription\"\
          \n                }\n            ]\n        }, \n        {\n           \
          \ \"orderActions\": [\n                {\n                    \"createSubscription\"\
          : {\n                        \"subscribeToRatePlans\": [\n             \
          \               {\n                                \"chargeOverrides\":\
          \ [\n                                    {\n                           \
          \             \"productRatePlanChargeId\": \"efbff07e6290dfb80162910024d80dd7\"\
          , \n                                        \"startDate\": {\n         \
          \                                   \"triggerEvent\": \"SpecificDate\"\n\
          \                                        }\n                           \
          \         }\n                                ], \n                     \
          \           \"productRatePlanId\": \"efbff07e6290dfb80162910024c80dd5\"\
          , \n                                \"uniqueToken\": \"Sugar-free Monthly\"\
          \n                            }\n                        ], \n         \
          \               \"subscriptionNumber\": \"SM-00004\", \n               \
          \         \"terms\": {\n                            \"autoRenew\": true,\
          \ \n                            \"initialTerm\": {\n                   \
          \             \"period\": 12, \n                                \"periodType\"\
          : \"Month\", \n                                \"startDate\": \"2017-01-01\"\
          , \n                                \"termType\": \"TERMED\"\n         \
          \                   }, \n                            \"renewalSetting\"\
          : \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\"\
          : [\n                                {\n                               \
          \     \"period\": 12, \n                                    \"periodType\"\
          : \"Month\"\n                                }\n                       \
          \     ]\n                        }\n                    }, \n          \
          \          \"triggerDates\": [\n                        {\n            \
          \                \"name\": \"ServiceActivation\", \n                   \
          \         \"triggerDate\": \"2017-03-01\"\n                        }, \n\
          \                        {\n                            \"name\": \"CustomerAcceptance\"\
          , \n                            \"triggerDate\": \"2017-04-01\"\n      \
          \                  }\n                    ], \n                    \"type\"\
          : \"CreateSubscription\"\n                }\n            ]\n        }, \n\
          \        {\n            \"orderActions\": [\n                {\n       \
          \             \"suspend\": {\n                        \"suspendPeriods\"\
          : 2, \n                        \"suspendPeriodsType\": \"Week\", \n    \
          \                    \"suspendPolicy\": \"FixedPeriodsFromToday\"\n    \
          \                }, \n                    \"triggerDates\": [\n        \
          \                {\n                            \"name\": \"ContractEffective\"\
          , \n                            \"triggerDate\": \"2018-01-01\"\n      \
          \                  }, \n                        {\n                    \
          \        \"name\": \"ServiceActivation\", \n                           \
          \ \"triggerDate\": \"2018-01-01\"\n                        }, \n       \
          \                 {\n                            \"name\": \"CustomerAcceptance\"\
          , \n                            \"triggerDate\": \"2018-01-01\"\n      \
          \                  }\n                    ], \n                    \"type\"\
          : \"Suspend\"\n                }\n            ], \n            \"subscriptionNumber\"\
          : \"SM-00005\"\n        }, \n        {\n            \"orderActions\": [\n\
          \                {\n                    \"resume\": {\n                \
          \        \"extendsTerm\": true, \n                        \"resumePolicy\"\
          : \"SpecificDate\", \n                        \"resumeSpecificDate\": \"\
          2018-10-01\"\n                    }, \n                    \"triggerDates\"\
          : [\n                        {\n                            \"name\": \"\
          ContractEffective\", \n                            \"triggerDate\": \"2018-01-01\"\
          \n                        }, \n                        {\n             \
          \               \"name\": \"ServiceActivation\", \n                    \
          \        \"triggerDate\": \"2018-01-01\"\n                        }, \n\
          \                        {\n                            \"name\": \"CustomerAcceptance\"\
          , \n                            \"triggerDate\": \"2018-01-01\"\n      \
          \                  }\n                    ], \n                    \"type\"\
          : \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\"\
          : \"SM-00006\"\n        }\n    ]\n}' \"https://rest.zuora.com/v1/orders\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/orders');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"description\": \"This is a description\
          \ for the Order.\", \n    \"existingAccountNumber\": \"A00000001\", \n \
          \   \"orderDate\": \"2017-01-01\", \n    \"orderNumber\": \"OM-00001\",\
          \ \n    \"processingOptions\": {\n        \"applyCreditBalance\": true,\
          \ \n        \"billingOptions\": {\n            \"targetDate\": \"2017-08-01\"\
          \n        }, \n        \"collectPayment\": true, \n        \"runBilling\"\
          : true\n    }, \n    \"subscriptions\": [\n        {\n            \"orderActions\"\
          : [\n                {\n                    \"createSubscription\": {\n\
          \                        \"subscribeToRatePlans\": [\n                 \
          \           {\n                                \"productRatePlanId\": \"\
          efbff07e6290dfb8016291003bd00dda\"\n                            }\n    \
          \                    ], \n                        \"subscriptionNumber\"\
          : \"SM-00001\", \n                        \"terms\": {\n               \
          \             \"autoRenew\": true, \n                            \"initialTerm\"\
          : {\n                                \"period\": 12, \n                \
          \                \"periodType\": \"Month\", \n                         \
          \       \"startDate\": \"2017-01-01\", \n                              \
          \  \"termType\": \"TERMED\"\n                            }, \n         \
          \                   \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n\
          \                            \"renewalTerms\": [\n                     \
          \           {\n                                    \"period\": 12, \n  \
          \                                  \"periodType\": \"Month\"\n         \
          \                       }\n                            ]\n             \
          \           }\n                    }, \n                    \"triggerDates\"\
          : [\n                        {\n                            \"name\": \"\
          ContractEffective\", \n                            \"triggerDate\": \"2017-01-01\"\
          \n                        }\n                    ], \n                 \
          \   \"type\": \"CreateSubscription\"\n                }\n            ]\n\
          \        }, \n        {\n            \"orderActions\": [\n             \
          \   {\n                    \"createSubscription\": {\n                 \
          \       \"subscribeToRatePlans\": [\n                            {\n   \
          \                             \"productRatePlanId\": \"efbff07e6290dfb8016291003bd00dda\"\
          \n                            }\n                        ], \n         \
          \               \"subscriptionNumber\": \"SM-00002\", \n               \
          \         \"terms\": {\n                            \"autoRenew\": true,\
          \ \n                            \"initialTerm\": {\n                   \
          \             \"period\": 12, \n                                \"periodType\"\
          : \"Month\", \n                                \"startDate\": \"2017-02-01\"\
          , \n                                \"termType\": \"TERMED\"\n         \
          \                   }, \n                            \"renewalSetting\"\
          : \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\"\
          : [\n                                {\n                               \
          \     \"period\": 12, \n                                    \"periodType\"\
          : \"Month\"\n                                }\n                       \
          \     ]\n                        }\n                    }, \n          \
          \          \"triggerDates\": [\n                        {\n            \
          \                \"name\": \"ServiceActivation\", \n                   \
          \         \"triggerDate\": \"2017-02-01\"\n                        }\n \
          \                   ], \n                    \"type\": \"CreateSubscription\"\
          \n                }\n            ]\n        }, \n        {\n           \
          \ \"orderActions\": [\n                {\n                    \"createSubscription\"\
          : {\n                        \"subscribeToRatePlans\": [\n             \
          \               {\n                                \"productRatePlanId\"\
          : \"efbff07e6290dfb80162910024c80dd5\"\n                            }\n\
          \                        ], \n                        \"subscriptionNumber\"\
          : \"SM-00003\", \n                        \"terms\": {\n               \
          \             \"autoRenew\": true, \n                            \"initialTerm\"\
          : {\n                                \"period\": 12, \n                \
          \                \"periodType\": \"Month\", \n                         \
          \       \"startDate\": \"2017-01-01\", \n                              \
          \  \"termType\": \"TERMED\"\n                            }, \n         \
          \                   \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n\
          \                            \"renewalTerms\": [\n                     \
          \           {\n                                    \"period\": 12, \n  \
          \                                  \"periodType\": \"Month\"\n         \
          \                       }\n                            ]\n             \
          \           }\n                    }, \n                    \"triggerDates\"\
          : [\n                        {\n                            \"name\": \"\
          ServiceActivation\", \n                            \"triggerDate\": \"2017-03-01\"\
          \n                        }, \n                        {\n             \
          \               \"name\": \"CustomerAcceptance\", \n                   \
          \         \"triggerDate\": \"2017-04-01\"\n                        }\n \
          \                   ], \n                    \"type\": \"CreateSubscription\"\
          \n                }\n            ]\n        }, \n        {\n           \
          \ \"orderActions\": [\n                {\n                    \"createSubscription\"\
          : {\n                        \"subscribeToRatePlans\": [\n             \
          \               {\n                                \"chargeOverrides\":\
          \ [\n                                    {\n                           \
          \             \"productRatePlanChargeId\": \"efbff07e6290dfb80162910024d80dd7\"\
          , \n                                        \"startDate\": {\n         \
          \                                   \"triggerEvent\": \"SpecificDate\"\n\
          \                                        }\n                           \
          \         }\n                                ], \n                     \
          \           \"productRatePlanId\": \"efbff07e6290dfb80162910024c80dd5\"\
          , \n                                \"uniqueToken\": \"Sugar-free Monthly\"\
          \n                            }\n                        ], \n         \
          \               \"subscriptionNumber\": \"SM-00004\", \n               \
          \         \"terms\": {\n                            \"autoRenew\": true,\
          \ \n                            \"initialTerm\": {\n                   \
          \             \"period\": 12, \n                                \"periodType\"\
          : \"Month\", \n                                \"startDate\": \"2017-01-01\"\
          , \n                                \"termType\": \"TERMED\"\n         \
          \                   }, \n                            \"renewalSetting\"\
          : \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\"\
          : [\n                                {\n                               \
          \     \"period\": 12, \n                                    \"periodType\"\
          : \"Month\"\n                                }\n                       \
          \     ]\n                        }\n                    }, \n          \
          \          \"triggerDates\": [\n                        {\n            \
          \                \"name\": \"ServiceActivation\", \n                   \
          \         \"triggerDate\": \"2017-03-01\"\n                        }, \n\
          \                        {\n                            \"name\": \"CustomerAcceptance\"\
          , \n                            \"triggerDate\": \"2017-04-01\"\n      \
          \                  }\n                    ], \n                    \"type\"\
          : \"CreateSubscription\"\n                }\n            ]\n        }, \n\
          \        {\n            \"orderActions\": [\n                {\n       \
          \             \"suspend\": {\n                        \"suspendPeriods\"\
          : 2, \n                        \"suspendPeriodsType\": \"Week\", \n    \
          \                    \"suspendPolicy\": \"FixedPeriodsFromToday\"\n    \
          \                }, \n                    \"triggerDates\": [\n        \
          \                {\n                            \"name\": \"ContractEffective\"\
          , \n                            \"triggerDate\": \"2018-01-01\"\n      \
          \                  }, \n                        {\n                    \
          \        \"name\": \"ServiceActivation\", \n                           \
          \ \"triggerDate\": \"2018-01-01\"\n                        }, \n       \
          \                 {\n                            \"name\": \"CustomerAcceptance\"\
          , \n                            \"triggerDate\": \"2018-01-01\"\n      \
          \                  }\n                    ], \n                    \"type\"\
          : \"Suspend\"\n                }\n            ], \n            \"subscriptionNumber\"\
          : \"SM-00005\"\n        }, \n        {\n            \"orderActions\": [\n\
          \                {\n                    \"resume\": {\n                \
          \        \"extendsTerm\": true, \n                        \"resumePolicy\"\
          : \"SpecificDate\", \n                        \"resumeSpecificDate\": \"\
          2018-10-01\"\n                    }, \n                    \"triggerDates\"\
          : [\n                        {\n                            \"name\": \"\
          ContractEffective\", \n                            \"triggerDate\": \"2018-01-01\"\
          \n                        }, \n                        {\n             \
          \               \"name\": \"ServiceActivation\", \n                    \
          \        \"triggerDate\": \"2018-01-01\"\n                        }, \n\
          \                        {\n                            \"name\": \"CustomerAcceptance\"\
          , \n                            \"triggerDate\": \"2018-01-01\"\n      \
          \                  }\n                    ], \n                    \"type\"\
          : \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\"\
          : \"SM-00006\"\n        }\n    ]\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"description\": \"This is a description for the Order.\", \n    \"existingAccountNumber\": \"A00000001\", \n    \"orderDate\": \"2017-01-01\", \n    \"orderNumber\": \"OM-00001\", \n    \"processingOptions\": {\n        \"applyCreditBalance\": true, \n        \"billingOptions\": {\n            \"targetDate\": \"2017-08-01\"\n        }, \n        \"collectPayment\": true, \n        \"runBilling\": true\n    }, \n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb8016291003bd00dda\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00001\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2017-01-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb8016291003bd00dda\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00002\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-02-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-02-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb80162910024c80dd5\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00003\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-03-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2017-04-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"chargeOverrides\": [\n                                    {\n                                        \"productRatePlanChargeId\": \"efbff07e6290dfb80162910024d80dd7\", \n                                        \"startDate\": {\n                                            \"triggerEvent\": \"SpecificDate\"\n                                        }\n                                    }\n                                ], \n                                \"productRatePlanId\": \"efbff07e6290dfb80162910024c80dd5\", \n                                \"uniqueToken\": \"Sugar-free Monthly\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00004\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-03-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2017-04-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"suspend\": {\n                        \"suspendPeriods\": 2, \n                        \"suspendPeriodsType\": \"Week\", \n                        \"suspendPolicy\": \"FixedPeriodsFromToday\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }\n                    ], \n                    \"type\": \"Suspend\"\n                }\n            ], \n            \"subscriptionNumber\": \"SM-00005\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"resume\": {\n                        \"extendsTerm\": true, \n                        \"resumePolicy\": \"SpecificDate\", \n                        \"resumeSpecificDate\": \"2018-10-01\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }\n                    ], \n                    \"type\": \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\": \"SM-00006\"\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/orders")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"description\": \"This is a description for the Order.\", \n    \"existingAccountNumber\": \"A00000001\", \n    \"orderDate\": \"2017-01-01\", \n    \"orderNumber\": \"OM-00001\", \n    \"processingOptions\": {\n        \"applyCreditBalance\": true, \n        \"billingOptions\": {\n            \"targetDate\": \"2017-08-01\"\n        }, \n        \"collectPayment\": true, \n        \"runBilling\": true\n    }, \n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb8016291003bd00dda\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00001\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2017-01-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb8016291003bd00dda\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00002\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-02-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-02-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb80162910024c80dd5\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00003\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-03-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2017-04-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"chargeOverrides\": [\n                                    {\n                                        \"productRatePlanChargeId\": \"efbff07e6290dfb80162910024d80dd7\", \n                                        \"startDate\": {\n                                            \"triggerEvent\": \"SpecificDate\"\n                                        }\n                                    }\n                                ], \n                                \"productRatePlanId\": \"efbff07e6290dfb80162910024c80dd5\", \n                                \"uniqueToken\": \"Sugar-free Monthly\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00004\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-03-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2017-04-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"suspend\": {\n                        \"suspendPeriods\": 2, \n                        \"suspendPeriodsType\": \"Week\", \n                        \"suspendPolicy\": \"FixedPeriodsFromToday\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }\n                    ], \n                    \"type\": \"Suspend\"\n                }\n            ], \n            \"subscriptionNumber\": \"SM-00005\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"resume\": {\n                        \"extendsTerm\": true, \n                        \"resumePolicy\": \"SpecificDate\", \n                        \"resumeSpecificDate\": \"2018-10-01\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }\n                    ], \n                    \"type\": \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\": \"SM-00006\"\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/orders", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/orders")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"description\": \"This is a description for the Order.\", \n    \"existingAccountNumber\": \"A00000001\", \n    \"orderDate\": \"2017-01-01\", \n    \"orderNumber\": \"OM-00001\", \n    \"processingOptions\": {\n        \"applyCreditBalance\": true, \n        \"billingOptions\": {\n            \"targetDate\": \"2017-08-01\"\n        }, \n        \"collectPayment\": true, \n        \"runBilling\": true\n    }, \n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb8016291003bd00dda\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00001\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2017-01-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb8016291003bd00dda\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00002\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-02-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-02-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb80162910024c80dd5\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00003\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-03-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2017-04-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"chargeOverrides\": [\n                                    {\n                                        \"productRatePlanChargeId\": \"efbff07e6290dfb80162910024d80dd7\", \n                                        \"startDate\": {\n                                            \"triggerEvent\": \"SpecificDate\"\n                                        }\n                                    }\n                                ], \n                                \"productRatePlanId\": \"efbff07e6290dfb80162910024c80dd5\", \n                                \"uniqueToken\": \"Sugar-free Monthly\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00004\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-03-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2017-04-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"suspend\": {\n                        \"suspendPeriods\": 2, \n                        \"suspendPeriodsType\": \"Week\", \n                        \"suspendPolicy\": \"FixedPeriodsFromToday\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }\n                    ], \n                    \"type\": \"Suspend\"\n                }\n            ], \n            \"subscriptionNumber\": \"SM-00005\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"resume\": {\n                        \"extendsTerm\": true, \n                        \"resumePolicy\": \"SpecificDate\", \n                        \"resumeSpecificDate\": \"2018-10-01\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }\n                    ], \n                    \"type\": \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\": \"SM-00006\"\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/orders");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"description\": \"This is a description for the Order.\", \n    \"existingAccountNumber\": \"A00000001\", \n    \"orderDate\": \"2017-01-01\", \n    \"orderNumber\": \"OM-00001\", \n    \"processingOptions\": {\n        \"applyCreditBalance\": true, \n        \"billingOptions\": {\n            \"targetDate\": \"2017-08-01\"\n        }, \n        \"collectPayment\": true, \n        \"runBilling\": true\n    }, \n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb8016291003bd00dda\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00001\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2017-01-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb8016291003bd00dda\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00002\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-02-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-02-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb80162910024c80dd5\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00003\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-03-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2017-04-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"chargeOverrides\": [\n                                    {\n                                        \"productRatePlanChargeId\": \"efbff07e6290dfb80162910024d80dd7\", \n                                        \"startDate\": {\n                                            \"triggerEvent\": \"SpecificDate\"\n                                        }\n                                    }\n                                ], \n                                \"productRatePlanId\": \"efbff07e6290dfb80162910024c80dd5\", \n                                \"uniqueToken\": \"Sugar-free Monthly\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00004\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-03-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2017-04-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"suspend\": {\n                        \"suspendPeriods\": 2, \n                        \"suspendPeriodsType\": \"Week\", \n                        \"suspendPolicy\": \"FixedPeriodsFromToday\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }\n                    ], \n                    \"type\": \"Suspend\"\n                }\n            ], \n            \"subscriptionNumber\": \"SM-00005\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"resume\": {\n                        \"extendsTerm\": true, \n                        \"resumePolicy\": \"SpecificDate\", \n                        \"resumeSpecificDate\": \"2018-10-01\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }\n                    ], \n                    \"type\": \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\": \"SM-00006\"\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      summary: Get all orders
      operationId: GET_AllOrders
      description: "**Note:** This feature is only available if you have the [Order\
        \ Metrics](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AA_Overview_of_Orders#Order_Metrics)\
        \ feature enabled. The migration to Order Metrics is in **Limited Availability**.\
        \ We are actively soliciting feedback from a small set of early adopters before\
        \ releasing as generally available. If you have the [Orders](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders)\
        \ feature enabled, you already have the Order Metrics feature enabled.\n\n\
        \nRetrieves information about all orders in your tenant. By default, it returns\
        \ the first page of the orders. \n"
      tags:
      - Orders
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: page
        in: query
        description: "The page number of the orders retrieved. \n"
        required: false
        type: integer
        default: 1
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - name: dateFilterOption
        in: query
        description: 'The date type to filter on. This field value can be orderDate
          or updatedDate. Default is orderDate.

          '
        required: false
        type: string
      - name: startDate
        in: query
        description: 'The result will only contain the orders with the date of dateFilterOption
          later than or equal to this date.

          '
        required: false
        type: string
        format: date
      - name: endDate
        in: query
        description: 'The result will only contains orders with the date of dateFilterOption
          earlier than or equal to this date.

          '
        required: false
        type: string
        format: date
      responses:
        200:
          description: ''
          schema:
            $ref: '#/definitions/GetAllOrdersResponseType'
          examples:
            application/json:
              orders:
              - orderNumber: O-00000002
                orderDate: '2017-03-01'
                createdDate: '2018-03-14 15:12:58'
                createdBy: 2c989028622282520162235ab0f603ba
                updatedDate: '2018-03-14 15:12:58'
                updatedBy: 2c989028622282520162235ab0f603ba
                existingAccountNumber: accountA_Num
                currency: USD
                status: Completed
                description: This is a description for the Order.
                subscriptions:
                - subscriptionNumber: A-S00000001
                  customFields:
                    sub_cf_picklist__c: null
                  baseVersion: 1
                  newVersion: 2
                  orderActions:
                  - type: UpdateProduct
                    sequence: 0
                    triggerDates:
                    - triggerDate: '2017-03-01'
                      name: ContractEffective
                    - triggerDate: '2017-03-01'
                      name: ServiceActivation
                    - triggerDate: '2017-03-01'
                      name: CustomerAcceptance
                    updateProduct:
                      ratePlanId: 2c989028622282520162235acd1b05d2
                      uniqueToken: null
                      specificUpdateDate: null
                      newRatePlanId: 2c989028622282520162235ada870649
                      chargeUpdates:
                      - description: null
                        chargeNumber: C-00000001
                        uniqueToken: null
                        newRatePlanChargeId: 2c989028622282520162235adabc0651
                        pricing:
                          recurringVolume:
                            quantity: 7
                            tiers: []
                            priceChangeOption: null
                            priceIncreasePercentage: null
                        effectiveDate:
                          specificTriggerDate: null
                        billing:
                          billingPeriodAlignment: null
                        customFields:
                          srpc_cf_picklist__c: null
                      customFields: {}
                    customFields:
                      oa_cf_text__c: null
                    orderItems: []
                    orderMetrics:
                    - productRatePlanChargeId: 2c989028622282520162235aca7a05b9
                      originRatePlanId: 2c989028622282520162235acd1b05d2
                      tcb:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 1200
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: ChangePrice
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -120
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -5000
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: DecreaseQuantity
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 500
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                      quantity:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -5
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: DecreaseQuantity
                        startDate: '2017-03-01'
                      productRatePlanId: 2c989028622282520162235acd1005ca
                      tcv:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 1200
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: ChangePrice
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -120
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -5000
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: DecreaseQuantity
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 500
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                      chargeNumber: C-00000001
                      elp:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -3800
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: DecreaseQuantity
                        type: Regular
                        startDate: '2017-03-01'
                      mrr:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 120
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: ChangePrice
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -12
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -500
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: DecreaseQuantity
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 50
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                customFields:
                  order_cf_date__c: '2017-01-01'
              - orderNumber: O-00000001
                orderDate: '2017-01-01'
                createdDate: '2018-03-14 15:12:55'
                createdBy: 2c989028622282520162235ab0f603ba
                updatedDate: '2018-03-14 15:12:55'
                updatedBy: 2c989028622282520162235ab0f603ba
                existingAccountNumber: accountA_Num
                currency: USD
                status: Completed
                subscriptions:
                - subscriptionNumber: A-S00000001
                  customFields:
                    sub_cf_picklist__c: sub123
                  baseVersion: null
                  newVersion: 1
                  orderActions:
                  - type: CreateSubscription
                    sequence: 0
                    triggerDates:
                    - triggerDate: '2017-01-01'
                      name: ContractEffective
                    - triggerDate: '2017-01-01'
                      name: ServiceActivation
                    - triggerDate: '2017-01-01'
                      name: CustomerAcceptance
                    createSubscription:
                      subscriptionOwnerAccountNumber: accountA_Num
                      terms:
                        autoRenew: false
                        renewalSetting: RENEW_WITH_SPECIFIC_TERM
                        initialTerm:
                          startDate: '2017-01-01'
                          period: 12
                          periodType: Month
                          termType: TERMED
                        renewalTerms:
                        - period: 0
                          periodType: Month
                      invoiceSeparately: null
                      notes: null
                      subscribeToRatePlans:
                      - productRatePlanId: 2c989028622282520162235ac91605b3
                        newRatePlanId: 2c989028622282520162235acd1b05d2
                        uniqueToken: null
                        chargeOverrides:
                        - description: null
                          chargeNumber: C-00000001
                          productRateplanChargeId: 2c989028622282520162235aca7a05b9
                          uniqueToken: null
                          pricing:
                            recurringVolume:
                              quantity: 12
                              tiers: []
                              listPriceBase: Per_Billing_Period
                              priceChangeOption: null
                              priceIncreasePercentage: null
                          startDate:
                            specificTriggerDate: null
                          endDate:
                            endDateCondition: null
                            specificEndDate: null
                            upToPeriods: null
                            upToPeriodsType: null
                          billing:
                            billCycleDay: null
                            billingPeriod: null
                            billCycleType: null
                            billingTiming: null
                            billingPeriodAlignment: null
                            specificBillingPeriod: null
                            weeklyBillCycleDay: null
                          customFields:
                            srpc_cf_picklist__c: null
                        customFields: {}
                    customFields:
                      oa_cf_text__c: oa cf test
                    orderItems:
                    - id: 2c989028622282520162235acd7d05dc
                      startDate: '2017-01-01'
                      endDate: '2017-12-31'
                      quantity: 12
                      orderActionId: 2c989028622282520162235acbcc05c4
                      scId: 2c989028622282520162235acd1b05d3
                    orderMetrics:
                    - productRatePlanChargeId: 2c989028622282520162235aca7a05b9
                      originRatePlanId: 2c989028622282520162235acd1b05d2
                      tcb:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 12960
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2017-01-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -1296
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-01-01'
                      quantity:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 12
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: Extension
                        startDate: '2017-01-01'
                      productRatePlanId: 2c989028622282520162235acd1005ca
                      tcv:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 12960
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2017-01-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -1296
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-01-01'
                      chargeNumber: C-00000001
                      elp:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 12960
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2017-01-01'
                      mrr:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 1080
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2017-01-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -108
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-01-01'
                customFields:
                  order_cf_date__c: '2017-01-01'
              success: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/orders"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/orders');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/orders")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/orders", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/orders")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/orders");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/async/orders:
    post:
      summary: Create order asynchronously
      operationId: POST_CreateOrderAsynchronously
      description: "**Note:** This operation is only available if you have the [Orders](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AA_Overview_of_Orders#Orders)\
        \ feature enabled. This operation is in **Limited Availability**.\n\n\nIn\
        \ the case where a normal \"Create order\" operation call will time out, use\
        \ this operation instead to create an order asynchronously. A job will be\
        \ creating the order in the back end; the job ID will be returned for tracking\
        \ the job status and result. \n"
      tags:
      - Orders
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: zuora-version
        in: header
        required: false
        type: string
        description: "\nThe minor version of the Zuora REST API. \n\nYou need to set\
          \ this parameter if you use the following fields:\n* subscriptions\n* subscriptionNumbers\n"
      - name: body
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTOrderRequestType'
      responses:
        202:
          description: Accepted
          examples:
            application/json:
              jobId: 1bc24f315d7b48d3a20245bfe73bdceb
          headers:
            Location:
              type: string
              description: URL for accessing the job result, in the format of `/async-jobs/{jobId}`.
                For example, `/async-jobs/1bc24f315d7b48d3a20245bfe73bdceb`
          schema:
            type: object
            properties:
              jobId:
                type: string
                format: UUID
                description: The ID of an asynchronous job that will be returned for
                  tracking the status and result of the job.
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"description\": \"This\
          \ is a description for the Order.\", \n    \"existingAccountNumber\": \"\
          A00000001\", \n    \"orderDate\": \"2017-01-01\", \n    \"orderNumber\"\
          : \"OM-00001\", \n    \"processingOptions\": {\n        \"applyCreditBalance\"\
          : true, \n        \"billingOptions\": {\n            \"targetDate\": \"\
          2017-08-01\"\n        }, \n        \"collectPayment\": true, \n        \"\
          runBilling\": true\n    }, \n    \"subscriptions\": [\n        {\n     \
          \       \"orderActions\": [\n                {\n                    \"createSubscription\"\
          : {\n                        \"subscribeToRatePlans\": [\n             \
          \               {\n                                \"productRatePlanId\"\
          : \"efbff07e6290dfb8016291003bd00dda\"\n                            }\n\
          \                        ], \n                        \"subscriptionNumber\"\
          : \"SM-00001\", \n                        \"terms\": {\n               \
          \             \"autoRenew\": true, \n                            \"initialTerm\"\
          : {\n                                \"period\": 12, \n                \
          \                \"periodType\": \"Month\", \n                         \
          \       \"startDate\": \"2017-01-01\", \n                              \
          \  \"termType\": \"TERMED\"\n                            }, \n         \
          \                   \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n\
          \                            \"renewalTerms\": [\n                     \
          \           {\n                                    \"period\": 12, \n  \
          \                                  \"periodType\": \"Month\"\n         \
          \                       }\n                            ]\n             \
          \           }\n                    }, \n                    \"triggerDates\"\
          : [\n                        {\n                            \"name\": \"\
          ContractEffective\", \n                            \"triggerDate\": \"2017-01-01\"\
          \n                        }\n                    ], \n                 \
          \   \"type\": \"CreateSubscription\"\n                }\n            ]\n\
          \        }, \n        {\n            \"orderActions\": [\n             \
          \   {\n                    \"createSubscription\": {\n                 \
          \       \"subscribeToRatePlans\": [\n                            {\n   \
          \                             \"productRatePlanId\": \"efbff07e6290dfb8016291003bd00dda\"\
          \n                            }\n                        ], \n         \
          \               \"subscriptionNumber\": \"SM-00002\", \n               \
          \         \"terms\": {\n                            \"autoRenew\": true,\
          \ \n                            \"initialTerm\": {\n                   \
          \             \"period\": 12, \n                                \"periodType\"\
          : \"Month\", \n                                \"startDate\": \"2017-02-01\"\
          , \n                                \"termType\": \"TERMED\"\n         \
          \                   }, \n                            \"renewalSetting\"\
          : \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\"\
          : [\n                                {\n                               \
          \     \"period\": 12, \n                                    \"periodType\"\
          : \"Month\"\n                                }\n                       \
          \     ]\n                        }\n                    }, \n          \
          \          \"triggerDates\": [\n                        {\n            \
          \                \"name\": \"ServiceActivation\", \n                   \
          \         \"triggerDate\": \"2017-02-01\"\n                        }\n \
          \                   ], \n                    \"type\": \"CreateSubscription\"\
          \n                }\n            ]\n        }, \n        {\n           \
          \ \"orderActions\": [\n                {\n                    \"createSubscription\"\
          : {\n                        \"subscribeToRatePlans\": [\n             \
          \               {\n                                \"productRatePlanId\"\
          : \"efbff07e6290dfb80162910024c80dd5\"\n                            }\n\
          \                        ], \n                        \"subscriptionNumber\"\
          : \"SM-00003\", \n                        \"terms\": {\n               \
          \             \"autoRenew\": true, \n                            \"initialTerm\"\
          : {\n                                \"period\": 12, \n                \
          \                \"periodType\": \"Month\", \n                         \
          \       \"startDate\": \"2017-01-01\", \n                              \
          \  \"termType\": \"TERMED\"\n                            }, \n         \
          \                   \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n\
          \                            \"renewalTerms\": [\n                     \
          \           {\n                                    \"period\": 12, \n  \
          \                                  \"periodType\": \"Month\"\n         \
          \                       }\n                            ]\n             \
          \           }\n                    }, \n                    \"triggerDates\"\
          : [\n                        {\n                            \"name\": \"\
          ServiceActivation\", \n                            \"triggerDate\": \"2017-03-01\"\
          \n                        }, \n                        {\n             \
          \               \"name\": \"CustomerAcceptance\", \n                   \
          \         \"triggerDate\": \"2017-04-01\"\n                        }\n \
          \                   ], \n                    \"type\": \"CreateSubscription\"\
          \n                }\n            ]\n        }, \n        {\n           \
          \ \"orderActions\": [\n                {\n                    \"createSubscription\"\
          : {\n                        \"subscribeToRatePlans\": [\n             \
          \               {\n                                \"chargeOverrides\":\
          \ [\n                                    {\n                           \
          \             \"productRatePlanChargeId\": \"efbff07e6290dfb80162910024d80dd7\"\
          , \n                                        \"startDate\": {\n         \
          \                                   \"triggerEvent\": \"SpecificDate\"\n\
          \                                        }\n                           \
          \         }\n                                ], \n                     \
          \           \"productRatePlanId\": \"efbff07e6290dfb80162910024c80dd5\"\
          , \n                                \"uniqueToken\": \"Sugar-free Monthly\"\
          \n                            }\n                        ], \n         \
          \               \"subscriptionNumber\": \"SM-00004\", \n               \
          \         \"terms\": {\n                            \"autoRenew\": true,\
          \ \n                            \"initialTerm\": {\n                   \
          \             \"period\": 12, \n                                \"periodType\"\
          : \"Month\", \n                                \"startDate\": \"2017-01-01\"\
          , \n                                \"termType\": \"TERMED\"\n         \
          \                   }, \n                            \"renewalSetting\"\
          : \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\"\
          : [\n                                {\n                               \
          \     \"period\": 12, \n                                    \"periodType\"\
          : \"Month\"\n                                }\n                       \
          \     ]\n                        }\n                    }, \n          \
          \          \"triggerDates\": [\n                        {\n            \
          \                \"name\": \"ServiceActivation\", \n                   \
          \         \"triggerDate\": \"2017-03-01\"\n                        }, \n\
          \                        {\n                            \"name\": \"CustomerAcceptance\"\
          , \n                            \"triggerDate\": \"2017-04-01\"\n      \
          \                  }\n                    ], \n                    \"type\"\
          : \"CreateSubscription\"\n                }\n            ]\n        }, \n\
          \        {\n            \"orderActions\": [\n                {\n       \
          \             \"suspend\": {\n                        \"suspendPeriods\"\
          : 2, \n                        \"suspendPeriodsType\": \"Week\", \n    \
          \                    \"suspendPolicy\": \"FixedPeriodsFromToday\"\n    \
          \                }, \n                    \"triggerDates\": [\n        \
          \                {\n                            \"name\": \"ContractEffective\"\
          , \n                            \"triggerDate\": \"2018-01-01\"\n      \
          \                  }, \n                        {\n                    \
          \        \"name\": \"ServiceActivation\", \n                           \
          \ \"triggerDate\": \"2018-01-01\"\n                        }, \n       \
          \                 {\n                            \"name\": \"CustomerAcceptance\"\
          , \n                            \"triggerDate\": \"2018-01-01\"\n      \
          \                  }\n                    ], \n                    \"type\"\
          : \"Suspend\"\n                }\n            ], \n            \"subscriptionNumber\"\
          : \"SM-00005\"\n        }, \n        {\n            \"orderActions\": [\n\
          \                {\n                    \"resume\": {\n                \
          \        \"extendsTerm\": true, \n                        \"resumePolicy\"\
          : \"SpecificDate\", \n                        \"resumeSpecificDate\": \"\
          2018-10-01\"\n                    }, \n                    \"triggerDates\"\
          : [\n                        {\n                            \"name\": \"\
          ContractEffective\", \n                            \"triggerDate\": \"2018-01-01\"\
          \n                        }, \n                        {\n             \
          \               \"name\": \"ServiceActivation\", \n                    \
          \        \"triggerDate\": \"2018-01-01\"\n                        }, \n\
          \                        {\n                            \"name\": \"CustomerAcceptance\"\
          , \n                            \"triggerDate\": \"2018-01-01\"\n      \
          \                  }\n                    ], \n                    \"type\"\
          : \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\"\
          : \"SM-00006\"\n        }\n    ]\n}' \"https://rest.zuora.com/v1/async/orders\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/async/orders');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"description\": \"This is a description\
          \ for the Order.\", \n    \"existingAccountNumber\": \"A00000001\", \n \
          \   \"orderDate\": \"2017-01-01\", \n    \"orderNumber\": \"OM-00001\",\
          \ \n    \"processingOptions\": {\n        \"applyCreditBalance\": true,\
          \ \n        \"billingOptions\": {\n            \"targetDate\": \"2017-08-01\"\
          \n        }, \n        \"collectPayment\": true, \n        \"runBilling\"\
          : true\n    }, \n    \"subscriptions\": [\n        {\n            \"orderActions\"\
          : [\n                {\n                    \"createSubscription\": {\n\
          \                        \"subscribeToRatePlans\": [\n                 \
          \           {\n                                \"productRatePlanId\": \"\
          efbff07e6290dfb8016291003bd00dda\"\n                            }\n    \
          \                    ], \n                        \"subscriptionNumber\"\
          : \"SM-00001\", \n                        \"terms\": {\n               \
          \             \"autoRenew\": true, \n                            \"initialTerm\"\
          : {\n                                \"period\": 12, \n                \
          \                \"periodType\": \"Month\", \n                         \
          \       \"startDate\": \"2017-01-01\", \n                              \
          \  \"termType\": \"TERMED\"\n                            }, \n         \
          \                   \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n\
          \                            \"renewalTerms\": [\n                     \
          \           {\n                                    \"period\": 12, \n  \
          \                                  \"periodType\": \"Month\"\n         \
          \                       }\n                            ]\n             \
          \           }\n                    }, \n                    \"triggerDates\"\
          : [\n                        {\n                            \"name\": \"\
          ContractEffective\", \n                            \"triggerDate\": \"2017-01-01\"\
          \n                        }\n                    ], \n                 \
          \   \"type\": \"CreateSubscription\"\n                }\n            ]\n\
          \        }, \n        {\n            \"orderActions\": [\n             \
          \   {\n                    \"createSubscription\": {\n                 \
          \       \"subscribeToRatePlans\": [\n                            {\n   \
          \                             \"productRatePlanId\": \"efbff07e6290dfb8016291003bd00dda\"\
          \n                            }\n                        ], \n         \
          \               \"subscriptionNumber\": \"SM-00002\", \n               \
          \         \"terms\": {\n                            \"autoRenew\": true,\
          \ \n                            \"initialTerm\": {\n                   \
          \             \"period\": 12, \n                                \"periodType\"\
          : \"Month\", \n                                \"startDate\": \"2017-02-01\"\
          , \n                                \"termType\": \"TERMED\"\n         \
          \                   }, \n                            \"renewalSetting\"\
          : \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\"\
          : [\n                                {\n                               \
          \     \"period\": 12, \n                                    \"periodType\"\
          : \"Month\"\n                                }\n                       \
          \     ]\n                        }\n                    }, \n          \
          \          \"triggerDates\": [\n                        {\n            \
          \                \"name\": \"ServiceActivation\", \n                   \
          \         \"triggerDate\": \"2017-02-01\"\n                        }\n \
          \                   ], \n                    \"type\": \"CreateSubscription\"\
          \n                }\n            ]\n        }, \n        {\n           \
          \ \"orderActions\": [\n                {\n                    \"createSubscription\"\
          : {\n                        \"subscribeToRatePlans\": [\n             \
          \               {\n                                \"productRatePlanId\"\
          : \"efbff07e6290dfb80162910024c80dd5\"\n                            }\n\
          \                        ], \n                        \"subscriptionNumber\"\
          : \"SM-00003\", \n                        \"terms\": {\n               \
          \             \"autoRenew\": true, \n                            \"initialTerm\"\
          : {\n                                \"period\": 12, \n                \
          \                \"periodType\": \"Month\", \n                         \
          \       \"startDate\": \"2017-01-01\", \n                              \
          \  \"termType\": \"TERMED\"\n                            }, \n         \
          \                   \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n\
          \                            \"renewalTerms\": [\n                     \
          \           {\n                                    \"period\": 12, \n  \
          \                                  \"periodType\": \"Month\"\n         \
          \                       }\n                            ]\n             \
          \           }\n                    }, \n                    \"triggerDates\"\
          : [\n                        {\n                            \"name\": \"\
          ServiceActivation\", \n                            \"triggerDate\": \"2017-03-01\"\
          \n                        }, \n                        {\n             \
          \               \"name\": \"CustomerAcceptance\", \n                   \
          \         \"triggerDate\": \"2017-04-01\"\n                        }\n \
          \                   ], \n                    \"type\": \"CreateSubscription\"\
          \n                }\n            ]\n        }, \n        {\n           \
          \ \"orderActions\": [\n                {\n                    \"createSubscription\"\
          : {\n                        \"subscribeToRatePlans\": [\n             \
          \               {\n                                \"chargeOverrides\":\
          \ [\n                                    {\n                           \
          \             \"productRatePlanChargeId\": \"efbff07e6290dfb80162910024d80dd7\"\
          , \n                                        \"startDate\": {\n         \
          \                                   \"triggerEvent\": \"SpecificDate\"\n\
          \                                        }\n                           \
          \         }\n                                ], \n                     \
          \           \"productRatePlanId\": \"efbff07e6290dfb80162910024c80dd5\"\
          , \n                                \"uniqueToken\": \"Sugar-free Monthly\"\
          \n                            }\n                        ], \n         \
          \               \"subscriptionNumber\": \"SM-00004\", \n               \
          \         \"terms\": {\n                            \"autoRenew\": true,\
          \ \n                            \"initialTerm\": {\n                   \
          \             \"period\": 12, \n                                \"periodType\"\
          : \"Month\", \n                                \"startDate\": \"2017-01-01\"\
          , \n                                \"termType\": \"TERMED\"\n         \
          \                   }, \n                            \"renewalSetting\"\
          : \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\"\
          : [\n                                {\n                               \
          \     \"period\": 12, \n                                    \"periodType\"\
          : \"Month\"\n                                }\n                       \
          \     ]\n                        }\n                    }, \n          \
          \          \"triggerDates\": [\n                        {\n            \
          \                \"name\": \"ServiceActivation\", \n                   \
          \         \"triggerDate\": \"2017-03-01\"\n                        }, \n\
          \                        {\n                            \"name\": \"CustomerAcceptance\"\
          , \n                            \"triggerDate\": \"2017-04-01\"\n      \
          \                  }\n                    ], \n                    \"type\"\
          : \"CreateSubscription\"\n                }\n            ]\n        }, \n\
          \        {\n            \"orderActions\": [\n                {\n       \
          \             \"suspend\": {\n                        \"suspendPeriods\"\
          : 2, \n                        \"suspendPeriodsType\": \"Week\", \n    \
          \                    \"suspendPolicy\": \"FixedPeriodsFromToday\"\n    \
          \                }, \n                    \"triggerDates\": [\n        \
          \                {\n                            \"name\": \"ContractEffective\"\
          , \n                            \"triggerDate\": \"2018-01-01\"\n      \
          \                  }, \n                        {\n                    \
          \        \"name\": \"ServiceActivation\", \n                           \
          \ \"triggerDate\": \"2018-01-01\"\n                        }, \n       \
          \                 {\n                            \"name\": \"CustomerAcceptance\"\
          , \n                            \"triggerDate\": \"2018-01-01\"\n      \
          \                  }\n                    ], \n                    \"type\"\
          : \"Suspend\"\n                }\n            ], \n            \"subscriptionNumber\"\
          : \"SM-00005\"\n        }, \n        {\n            \"orderActions\": [\n\
          \                {\n                    \"resume\": {\n                \
          \        \"extendsTerm\": true, \n                        \"resumePolicy\"\
          : \"SpecificDate\", \n                        \"resumeSpecificDate\": \"\
          2018-10-01\"\n                    }, \n                    \"triggerDates\"\
          : [\n                        {\n                            \"name\": \"\
          ContractEffective\", \n                            \"triggerDate\": \"2018-01-01\"\
          \n                        }, \n                        {\n             \
          \               \"name\": \"ServiceActivation\", \n                    \
          \        \"triggerDate\": \"2018-01-01\"\n                        }, \n\
          \                        {\n                            \"name\": \"CustomerAcceptance\"\
          , \n                            \"triggerDate\": \"2018-01-01\"\n      \
          \                  }\n                    ], \n                    \"type\"\
          : \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\"\
          : \"SM-00006\"\n        }\n    ]\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"description\": \"This is a description for the Order.\", \n    \"existingAccountNumber\": \"A00000001\", \n    \"orderDate\": \"2017-01-01\", \n    \"orderNumber\": \"OM-00001\", \n    \"processingOptions\": {\n        \"applyCreditBalance\": true, \n        \"billingOptions\": {\n            \"targetDate\": \"2017-08-01\"\n        }, \n        \"collectPayment\": true, \n        \"runBilling\": true\n    }, \n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb8016291003bd00dda\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00001\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2017-01-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb8016291003bd00dda\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00002\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-02-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-02-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb80162910024c80dd5\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00003\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-03-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2017-04-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"chargeOverrides\": [\n                                    {\n                                        \"productRatePlanChargeId\": \"efbff07e6290dfb80162910024d80dd7\", \n                                        \"startDate\": {\n                                            \"triggerEvent\": \"SpecificDate\"\n                                        }\n                                    }\n                                ], \n                                \"productRatePlanId\": \"efbff07e6290dfb80162910024c80dd5\", \n                                \"uniqueToken\": \"Sugar-free Monthly\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00004\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-03-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2017-04-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"suspend\": {\n                        \"suspendPeriods\": 2, \n                        \"suspendPeriodsType\": \"Week\", \n                        \"suspendPolicy\": \"FixedPeriodsFromToday\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }\n                    ], \n                    \"type\": \"Suspend\"\n                }\n            ], \n            \"subscriptionNumber\": \"SM-00005\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"resume\": {\n                        \"extendsTerm\": true, \n                        \"resumePolicy\": \"SpecificDate\", \n                        \"resumeSpecificDate\": \"2018-10-01\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }\n                    ], \n                    \"type\": \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\": \"SM-00006\"\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/async/orders")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"description\": \"This is a description for the Order.\", \n    \"existingAccountNumber\": \"A00000001\", \n    \"orderDate\": \"2017-01-01\", \n    \"orderNumber\": \"OM-00001\", \n    \"processingOptions\": {\n        \"applyCreditBalance\": true, \n        \"billingOptions\": {\n            \"targetDate\": \"2017-08-01\"\n        }, \n        \"collectPayment\": true, \n        \"runBilling\": true\n    }, \n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb8016291003bd00dda\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00001\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2017-01-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb8016291003bd00dda\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00002\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-02-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-02-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb80162910024c80dd5\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00003\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-03-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2017-04-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"chargeOverrides\": [\n                                    {\n                                        \"productRatePlanChargeId\": \"efbff07e6290dfb80162910024d80dd7\", \n                                        \"startDate\": {\n                                            \"triggerEvent\": \"SpecificDate\"\n                                        }\n                                    }\n                                ], \n                                \"productRatePlanId\": \"efbff07e6290dfb80162910024c80dd5\", \n                                \"uniqueToken\": \"Sugar-free Monthly\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00004\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-03-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2017-04-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"suspend\": {\n                        \"suspendPeriods\": 2, \n                        \"suspendPeriodsType\": \"Week\", \n                        \"suspendPolicy\": \"FixedPeriodsFromToday\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }\n                    ], \n                    \"type\": \"Suspend\"\n                }\n            ], \n            \"subscriptionNumber\": \"SM-00005\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"resume\": {\n                        \"extendsTerm\": true, \n                        \"resumePolicy\": \"SpecificDate\", \n                        \"resumeSpecificDate\": \"2018-10-01\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }\n                    ], \n                    \"type\": \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\": \"SM-00006\"\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/async/orders", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/async/orders")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"description\": \"This is a description for the Order.\", \n    \"existingAccountNumber\": \"A00000001\", \n    \"orderDate\": \"2017-01-01\", \n    \"orderNumber\": \"OM-00001\", \n    \"processingOptions\": {\n        \"applyCreditBalance\": true, \n        \"billingOptions\": {\n            \"targetDate\": \"2017-08-01\"\n        }, \n        \"collectPayment\": true, \n        \"runBilling\": true\n    }, \n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb8016291003bd00dda\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00001\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2017-01-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb8016291003bd00dda\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00002\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-02-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-02-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb80162910024c80dd5\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00003\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-03-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2017-04-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"chargeOverrides\": [\n                                    {\n                                        \"productRatePlanChargeId\": \"efbff07e6290dfb80162910024d80dd7\", \n                                        \"startDate\": {\n                                            \"triggerEvent\": \"SpecificDate\"\n                                        }\n                                    }\n                                ], \n                                \"productRatePlanId\": \"efbff07e6290dfb80162910024c80dd5\", \n                                \"uniqueToken\": \"Sugar-free Monthly\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00004\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-03-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2017-04-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"suspend\": {\n                        \"suspendPeriods\": 2, \n                        \"suspendPeriodsType\": \"Week\", \n                        \"suspendPolicy\": \"FixedPeriodsFromToday\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }\n                    ], \n                    \"type\": \"Suspend\"\n                }\n            ], \n            \"subscriptionNumber\": \"SM-00005\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"resume\": {\n                        \"extendsTerm\": true, \n                        \"resumePolicy\": \"SpecificDate\", \n                        \"resumeSpecificDate\": \"2018-10-01\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }\n                    ], \n                    \"type\": \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\": \"SM-00006\"\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/async/orders");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"description\": \"This is a description for the Order.\", \n    \"existingAccountNumber\": \"A00000001\", \n    \"orderDate\": \"2017-01-01\", \n    \"orderNumber\": \"OM-00001\", \n    \"processingOptions\": {\n        \"applyCreditBalance\": true, \n        \"billingOptions\": {\n            \"targetDate\": \"2017-08-01\"\n        }, \n        \"collectPayment\": true, \n        \"runBilling\": true\n    }, \n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb8016291003bd00dda\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00001\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2017-01-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb8016291003bd00dda\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00002\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-02-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-02-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"productRatePlanId\": \"efbff07e6290dfb80162910024c80dd5\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00003\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-03-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2017-04-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"createSubscription\": {\n                        \"subscribeToRatePlans\": [\n                            {\n                                \"chargeOverrides\": [\n                                    {\n                                        \"productRatePlanChargeId\": \"efbff07e6290dfb80162910024d80dd7\", \n                                        \"startDate\": {\n                                            \"triggerEvent\": \"SpecificDate\"\n                                        }\n                                    }\n                                ], \n                                \"productRatePlanId\": \"efbff07e6290dfb80162910024c80dd5\", \n                                \"uniqueToken\": \"Sugar-free Monthly\"\n                            }\n                        ], \n                        \"subscriptionNumber\": \"SM-00004\", \n                        \"terms\": {\n                            \"autoRenew\": true, \n                            \"initialTerm\": {\n                                \"period\": 12, \n                                \"periodType\": \"Month\", \n                                \"startDate\": \"2017-01-01\", \n                                \"termType\": \"TERMED\"\n                            }, \n                            \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n                            \"renewalTerms\": [\n                                {\n                                    \"period\": 12, \n                                    \"periodType\": \"Month\"\n                                }\n                            ]\n                        }\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2017-03-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2017-04-01\"\n                        }\n                    ], \n                    \"type\": \"CreateSubscription\"\n                }\n            ]\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"suspend\": {\n                        \"suspendPeriods\": 2, \n                        \"suspendPeriodsType\": \"Week\", \n                        \"suspendPolicy\": \"FixedPeriodsFromToday\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }\n                    ], \n                    \"type\": \"Suspend\"\n                }\n            ], \n            \"subscriptionNumber\": \"SM-00005\"\n        }, \n        {\n            \"orderActions\": [\n                {\n                    \"resume\": {\n                        \"extendsTerm\": true, \n                        \"resumePolicy\": \"SpecificDate\", \n                        \"resumeSpecificDate\": \"2018-10-01\"\n                    }, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"ContractEffective\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"ServiceActivation\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }, \n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2018-01-01\"\n                        }\n                    ], \n                    \"type\": \"Resume\"\n                }\n            ], \n            \"subscriptionNumber\": \"SM-00006\"\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/orders/{orderNumber}:
    get:
      summary: Get an order
      operationId: GET_Order
      description: |
        **Note:** This feature is only available if you have the [Order Metrics](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AA_Overview_of_Orders#Order_Metrics) feature enabled. The migration to Order Metrics is in **Limited Availability**. We are actively soliciting feedback from a small set of early adopters before releasing as generally available. If you have the [Orders](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders) feature enabled, you already have the Order Metrics feature enabled.


        Retrieves the detailed information about a specified order.
      tags:
      - Orders
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: orderNumber
        in: path
        description: The order number to be retrieved.
        required: true
        type: string
        format: string
      responses:
        200:
          description: ''
          schema:
            $ref: '#/definitions/GetOrderResponse'
          examples:
            application/json:
              success: true
              order:
                orderNumber: O-00000282
                orderDate: '2018-10-01'
                createdDate: '2018-12-13 17:21:43'
                createdBy: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2018-12-13 17:21:45'
                updatedBy: 402881e522cf4f9b0122cf5d82860002
                existingAccountNumber: A00000101
                currency: USD
                status: Completed
                description: This is a description for the Order.
                subscriptions:
                - subscriptionNumber: A-S00000100
                  customFields: {}
                  baseVersion: 1
                  newVersion: 2
                  orderActions:
                  - type: UpdateProduct
                    sequence: 0
                    triggerDates:
                    - triggerDate: '2018-12-01'
                      name: ContractEffective
                    - triggerDate: '2018-12-01'
                      name: ServiceActivation
                    - triggerDate: '2018-12-01'
                      name: CustomerAcceptance
                    updateProduct:
                      ratePlanId: 2c98919c67a5ae9d0167a68f8eb20262
                      uniqueToken: null
                      specificUpdateDate: null
                      newRatePlanId: 2c98919c67a5ae9d0167a6df3011036e
                      chargeUpdates:
                      - description: null
                        chargeNumber: C-00000210
                        uniqueToken: null
                        newRatePlanChargeId: 2c98919c67a5ae9d0167a6df304b0372
                        pricing:
                          recurringPerUnit:
                            listPrice: 20
                            quantity: null
                            priceChangeOption: null
                            priceIncreasePercentage: null
                        effectiveDate:
                          specificTriggerDate: null
                        billing:
                          billingPeriodAlignment: null
                        customFields: {}
                      customFields: {}
                    customFields: {}
                    orderItems: []
                    orderMetrics:
                    - productRatePlanChargeId: 2c98901f6706718c016706b91c6e001f
                      originRatePlanId: 2c98919c67a5ae9d0167a68f8eb20262
                      tcb:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 120
                        endDate: '2019-11-30'
                        orderItemId: 2c98919c67a5ae9d0167a68f8edf026a
                        termNumber: 1
                        generatedReason: ChangePrice
                        type: Regular
                        startDate: '2018-12-01'
                      productRatePlanId: 2c98919c67a5ae9d0167a68f8eab025f
                      tcv:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 120
                        endDate: '2019-11-30'
                        orderItemId: 2c98919c67a5ae9d0167a68f8edf026a
                        termNumber: 1
                        generatedReason: ChangePrice
                        type: Regular
                        startDate: '2018-12-01'
                      chargeNumber: C-00000210
                      mrr:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 10
                        endDate: '2019-11-30'
                        orderItemId: 2c98919c67a5ae9d0167a68f8edf026a
                        termNumber: 1
                        generatedReason: ChangePrice
                        type: Regular
                        startDate: '2018-12-01'
                - subscriptionNumber: A-S00000101
                  customFields: {}
                  baseVersion: 1
                  newVersion: 2
                  orderActions:
                  - type: Suspend
                    sequence: 0
                    triggerDates:
                    - triggerDate: '2018-12-01'
                      name: ContractEffective
                    - triggerDate: '2018-12-01'
                      name: ServiceActivation
                    - triggerDate: '2018-12-01'
                      name: CustomerAcceptance
                    suspend:
                      suspendPolicy: Today
                      suspendPeriods: null
                      suspendPeriodsType: null
                      suspendSpecificDate: null
                      suspendDate: '2018-12-13'
                    customFields: {}
                    orderItems: []
                    orderMetrics:
                    - productRatePlanChargeId: 2c98901f6706718c016706b91c6e001f
                      originRatePlanId: 2c98919c67a5ae9d0167a6901c5a027f
                      tcb:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: -348.39
                        endDate: '2019-11-30'
                        orderItemId: 2c98919c67a5ae9d0167a6901c8d0287
                        termNumber: 1
                        generatedReason: Contraction
                        type: Regular
                        startDate: '2018-12-13'
                      quantity:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: -2
                        endDate: '2019-11-30'
                        orderItemId: 2c98919c67a5ae9d0167a6901c8d0287
                        termNumber: 1
                        generatedReason: Contraction
                        startDate: '2018-12-13'
                      productRatePlanId: 2c98919c67a5ae9d0167a6901c55027c
                      tcv:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: -348
                        endDate: '2019-11-30'
                        orderItemId: 2c98919c67a5ae9d0167a6901c8d0287
                        termNumber: 1
                        generatedReason: Contraction
                        type: Regular
                        startDate: '2018-12-13'
                      chargeNumber: C-00000211
                      elp:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: -348.39
                        endDate: '2019-11-30'
                        orderItemId: 2c98919c67a5ae9d0167a6901c8d0287
                        termNumber: 1
                        generatedReason: Contraction
                        type: Regular
                        startDate: '2018-12-13'
                      mrr:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: -30
                        endDate: '2019-11-30'
                        orderItemId: 2c98919c67a5ae9d0167a6901c8d0287
                        termNumber: 1
                        generatedReason: Contraction
                        type: Regular
                        startDate: '2018-12-13'
                - subscriptionNumber: A-S00000102
                  customFields: {}
                  baseVersion: 2
                  newVersion: 3
                  orderActions:
                  - type: Resume
                    sequence: 0
                    triggerDates:
                    - triggerDate: '2018-12-12'
                      name: ContractEffective
                    - triggerDate: '2018-12-12'
                      name: ServiceActivation
                    - triggerDate: '2018-12-12'
                      name: CustomerAcceptance
                    resume:
                      resumePolicy: FixedPeriodsFromSuspendDate
                      resumePeriods: 10
                      resumePeriodsType: Day
                      resumeSpecificDate: null
                      extendsTerm: true
                      resumeDate: '2018-12-23'
                    customFields: {}
                    orderItems:
                    - id: 2c98919c67a5ae9d0167a6df33c2039e
                      startDate: '2018-12-23'
                      endDate: '2019-11-30'
                      quantity: 2
                      orderActionId: 2c98919c67a5ae9d0167a6df2e740368
                      scId: 2c98919c67a5ae9d0167a6df339c0399
                    orderMetrics:
                    - productRatePlanChargeId: 2c98901f6706718c016706b91c6e001f
                      originRatePlanId: 2c98919c67a5ae9d0167a69089bd029c
                      tcb:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 338.71
                        endDate: '2019-11-30'
                        orderItemId: 2c98919c67a5ae9d0167a6df33c2039e
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2018-12-23'
                      quantity:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 2
                        endDate: '2019-11-30'
                        orderItemId: 2c98919c67a5ae9d0167a6df33c2039e
                        termNumber: 1
                        generatedReason: Extension
                        startDate: '2018-12-23'
                      productRatePlanId: 2c98919c67a5ae9d0167a69089b80299
                      tcv:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 338
                        endDate: '2019-11-30'
                        orderItemId: 2c98919c67a5ae9d0167a6df33c2039e
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2018-12-23'
                      chargeNumber: C-00000212
                      elp:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 338.71
                        endDate: '2019-11-30'
                        orderItemId: 2c98919c67a5ae9d0167a6df33c2039e
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2018-12-23'
                      mrr:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 30
                        endDate: '2019-11-30'
                        orderItemId: 2c98919c67a5ae9d0167a6df33c2039e
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2018-12-23'
                  - type: TermsAndConditions
                    sequence: 1
                    triggerDates:
                    - triggerDate: '2018-12-12'
                      name: ContractEffective
                    - triggerDate: '2018-12-12'
                      name: ServiceActivation
                    - triggerDate: '2018-12-12'
                      name: CustomerAcceptance
                    termsAndConditions:
                      autoRenew: null
                      renewalSetting: null
                      initialTerm:
                        startDate: null
                        period: 375
                        periodType: Day
                        termType: null
                      renewalTerms:
                      - period: null
                        periodType: null
                    customFields: {}
                    orderItems:
                    - id: 2c98919c67a5ae9d0167a6df33c7039f
                      startDate: '2019-12-01'
                      endDate: '2019-12-10'
                      quantity: 2
                      orderActionId: 2c98919c67a5ae9d0167a6df33ae039a
                      scId: 2c98919c67a5ae9d0167a6df339c0399
                    orderMetrics:
                    - productRatePlanChargeId: 2c98901f6706718c016706b91c6e001f
                      originRatePlanId: 2c98919c67a5ae9d0167a69089bd029c
                      tcb:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 9.68
                        endDate: '2019-12-10'
                        orderItemId: 2c98919c67a5ae9d0167a6df33c7039f
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2019-12-01'
                      quantity:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 2
                        endDate: '2019-12-10'
                        orderItemId: 2c98919c67a5ae9d0167a6df33c7039f
                        termNumber: 1
                        generatedReason: Extension
                        startDate: '2019-12-01'
                      productRatePlanId: 2c98919c67a5ae9d0167a69089b80299
                      tcv:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 9.68
                        endDate: '2019-12-10'
                        orderItemId: 2c98919c67a5ae9d0167a6df33c7039f
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2019-12-01'
                      chargeNumber: C-00000212
                      elp:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 9.68
                        endDate: '2019-12-10'
                        orderItemId: 2c98919c67a5ae9d0167a6df33c7039f
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2019-12-01'
                      mrr:
                      - subscriptionOwner: A00000101
                        invoiceOwner: A00000101
                        amount: 30
                        endDate: '2019-12-10'
                        orderItemId: 2c98919c67a5ae9d0167a6df33c7039f
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2019-12-01'
                customFields: {}
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/orders/{orderNumber}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/orders/{orderNumber}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/orders/{orderNumber}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/orders/{orderNumber}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/orders/{orderNumber}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/orders/{orderNumber}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    delete:
      tags:
      - Orders
      summary: Delete order
      description: "**Note:** This operation is only available if you have the [Orders](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AA_Overview_of_Orders#Orders)\
        \ feature enabled. The migration to Orders is in **Limited Availability**.\
        \ We are actively soliciting feedback from a small set of early adopters before\
        \ releasing as generally available. \n\n\nDeletes a specified order. All the\
        \ subscriptions changed by this order are deleted. After the deletion, the\
        \ subscriptions are rolled back to the previous version. \n\nYou are not allowed\
        \ to delete an order if the charges that are affected by this order are invoiced.\n"
      operationId: DELETE_Order
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: orderNumber
        in: path
        description: The number of the order to be deleted.
        required: true
        type: string
        format: string
      responses:
        200:
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
          examples:
            application/json:
              success: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/orders/{orderNumber}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/orders/{orderNumber}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/orders/{orderNumber}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/orders/{orderNumber}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/orders/{orderNumber}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/orders/{orderNumber}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/async-jobs/{jobId}:
    get:
      summary: Get job status and response
      operationId: GET_JobStatusAndResponse
      description: |
        **Note:** This operation is only available if you have the [Orders](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AA_Overview_of_Orders#Orders) feature enabled. This operation is in **Limited Availability**.


        Get the status and response of an asynchronous job. Currently, an asynchronous job created by "Create order asynchronously" or "Preview order asynchronously" is supported.
      tags:
      - Orders
      parameters:
      - in: path
        name: jobId
        description: UUID of the asynchronous job created by an asynchronous API operation.
        required: true
        type: string
        format: UUID
      responses:
        200:
          description: OK
          examples:
            application/json:
              status: Completed
              errors: null
              result:
                success: true
                orderNumber: OM-00002
                accountNumber: A00000001
                status: Pending
                subscriptions:
                - subscriptionNumber: SM-00001
                  status: Pending Activation
                - subscriptionNumber: SM-00002
                  status: Pending Acceptance
                - subscriptionNumber: SM-00003
                  status: Active
                - subscriptionNumber: SM-00004
                  status: Pending Acceptance
                invoiceNumbers:
                - INV00000001
                paymentNumber: P-00000002
                paidAmount: 300
              success: true
          schema:
            type: object
            properties:
              status:
                type: string
                description: Type of job status.
                enum:
                - Processing
                - Failed
                - Completed
              errors:
                type: string
                description: Error messages returned if the job failed.
              result:
                $ref: '#/definitions/JobResult'
              success:
                type: boolean
                description: Indicates whether the operation call succeeded.
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/async-jobs/{jobId}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/async-jobs/{jobId}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/async-jobs/{jobId}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/async-jobs/{jobId}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/async-jobs/{jobId}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/async-jobs/{jobId}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/orders/term/{subscriptionNumber}:
    get:
      summary: Get term information for subscription
      operationId: GET_SubscriptionTermInfo
      description: |
        **Note:** This feature is only available if you have the [Order Metrics](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AA_Overview_of_Orders#Order_Metrics) feature enabled. The migration to Order Metrics is in **Limited Availability**. We are actively soliciting feedback from a small set of early adopters before releasing as generally available. If you have the [Orders](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders) feature enabled, you already have the Order Metrics feature enabled.

        Retrieves the terms of the specified subscription.
      tags:
      - Orders
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: subscriptionNumber
        in: path
        description: 'The number of the subscription to retrieve terms for. For example,
          A-S00000001.

          '
        required: true
        type: string
      - name: version
        in: query
        description: 'The version of the subscription to retrieve terms for. If you
          do not specify this parameter, Zuora returns the terms for the latest version
          of the subscription.

          '
        required: false
        type: integer
      - name: page
        in: query
        description: 'The page number of the terms retrieved.

          '
        required: false
        type: integer
        default: 1
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      responses:
        200:
          description: ''
          schema:
            $ref: '#/definitions/GetSubscriptionTermInfoResponseType'
          examples:
            application/json:
              success: true
              nextPage: https://rest.zuora.com/v1/orders/term/A-S00000001?page=2
              terms:
              - termNumber: 1
                isEvergreen: false
                startDate: '2017-11-01'
                endDate: '2017-12-01'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/orders/term/{subscriptionNumber}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/orders/term/{subscriptionNumber}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/orders/term/{subscriptionNumber}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/orders/term/{subscriptionNumber}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/orders/term/{subscriptionNumber}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/orders/term/{subscriptionNumber}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/orders/{orderNumber}/evergreenMetrics/{subscriptionNumber}:
    get:
      summary: Get order metrics for evergreen subscription
      operationId: GET_OrderMetricsforEvergreenSubscription
      description: |
        **Note:** This feature is only available if you have the [Order Metrics](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AA_Overview_of_Orders#Order_Metrics) feature enabled. The migration to Order Metrics is in **Limited Availability**. We are actively soliciting feedback from a small set of early adopters before releasing as generally available. If you have the [Orders](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders) feature enabled, you already have the Order Metrics feature enabled.


        Retrieves the metrics of an evergreen subscription in a specified order.
      tags:
      - Orders
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: orderNumber
        in: path
        description: 'The order number.

          '
        required: true
        type: string
        format: string
      - name: subscriptionNumber
        in: path
        description: 'The subscription number you want to get the metrics for.

          '
        required: true
        type: string
      - name: startDate
        in: query
        description: 'The start date of the date range for which you want to get the
          metrics. The date must be in yyyy-mm-dd format. For example, 2017-12-03.

          '
        required: true
        type: string
        format: date
      - name: endDate
        in: query
        description: 'The end date of the date range for which you want to get the
          metrics. The date must be in yyyy-mm-dd format. For example, 2017-12-03.

          '
        required: true
        type: string
        format: date
      responses:
        200:
          description: ''
          schema:
            $ref: '#/definitions/GetOrderResponseForEvergreen'
          examples:
            application/json:
              success: true
              order:
                orderNumber: OR-00015
                orderDate: '2017-01-01'
                createdDate: '2017-08-02'
                createdBy: 8a8081085d834928015d837c3c4e0037
                updatedDate: '2017-08-02'
                updatedBy: 8a8081085d834928015d837c3c4e0037
                existingAccountNumber: A-00002
                currency: USD
                status: Completed
                description: This is a description for the Order.
                subscriptions:
                - subscriptionNumber: S-00004
                  customFields: {}
                  baseVersion: null
                  newVersion: 1
                  orderActions:
                  - type: CreateSubscription
                    sequence: 0
                    triggerDates:
                    - triggerDate: '2017-01-01'
                      name: ServiceActivation
                    - triggerDate: '2017-01-01'
                      name: CustomerAcceptance
                    createSubscription:
                      subscriptionOwnerAccountNumber: null
                      terms:
                        autoRenew: null
                        renewalSetting: null
                        initialTerm:
                          startDate: '2017-01-01'
                          period: null
                          periodType: null
                          termType: EVERGREEN
                        renewalTerms:
                        - period: null
                          periodType: null
                      invoiceSeparately: null
                      notes: null
                      subscribeToRatePlans:
                      - productRatePlanId: 8a8081085d834928015d9c54e67f0aa9
                        newRatePlanId: 8a8081085d834928015da1e36fdd2061
                        uniqueToken: Sugar-free Monthly
                        chargeOverrides:
                        - description: null
                          chargeNumber: C-00000015
                          productRateplanChargeId: 8a8081085d834928015d9c55d45f0aac
                          uniqueToken: Sugar-free Membership Monthly Charge
                          pricing:
                            recurringPerUnit:
                              listPrice: null
                              priceChangeOption: null
                              priceIncreasePercentage: null
                          startDate:
                            specificTriggerDate: null
                          endDate:
                            endDateCondition: null
                            specificEndDate: null
                            upToPeriods: null
                            upToPeriodsType: null
                          billing:
                            billCycleDay: null
                            billingPeriod: null
                            billCycleType: null
                            billingTiming: null
                            billingPeriodAlignment: null
                            specificBillingPeriod: null
                            weeklyBillCycleDay: null
                          customFields: {}
                        customFields: {}
                    customFields: {}
                    orderMetrics:
                    - productRatePlanChargeId: 8a8081085d834928015d9c55d45f0aac
                      originRatePlanId: 8a8081085d834928015da1e36fdd2061
                      tcb:
                      - subscriptionOwner: A-00002
                        invoiceOwner: A-00002
                        amount: 36.129032258
                        endDate: '2017-02-28'
                        termNumber: 1
                        tax: 0
                        type: Regular
                        startDate: '2017-01-07'
                      quantity:
                      - subscriptionOwner: A-00002
                        invoiceOwner: A-00002
                        amount: 10
                        endDate: '2017-02-28'
                        termNumber: 1
                        startDate: '2017-01-07'
                      productRatePlanId: 8a8081085d834928015da1e36fd9205e
                      tcv:
                      - subscriptionOwner: A-00002
                        invoiceOwner: A-00002
                        amount: 35.714285714
                        endDate: '2017-02-28'
                        termNumber: 1
                        type: Regular
                        startDate: '2017-01-07'
                      chargeNumber: C-00000015
                      mrr:
                      - subscriptionOwner: A-00002
                        invoiceOwner: A-00002
                        amount: 20
                        endDate: '2017-02-28'
                        termNumber: 1
                        type: Regular
                        startDate: '2017-01-07'
                customFields: {}
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/orders/{orderNumber}/evergreenMetrics/{subscriptionNumber}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/orders/{orderNumber}/evergreenMetrics/{subscriptionNumber}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/orders/{orderNumber}/evergreenMetrics/{subscriptionNumber}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/orders/{orderNumber}/evergreenMetrics/{subscriptionNumber}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/orders/{orderNumber}/evergreenMetrics/{subscriptionNumber}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/orders/{orderNumber}/evergreenMetrics/{subscriptionNumber}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/orders/subscriptionOwner/{accountNumber}:
    get:
      summary: Get orders by subscription owner
      operationId: GET_OrdersBySubscriptionOwner
      description: |
        **Note:** This feature is only available if you have the [Order Metrics](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AA_Overview_of_Orders#Order_Metrics) feature enabled. The migration to Order Metrics is in **Limited Availability**. We are actively soliciting feedback from a small set of early adopters before releasing as generally available. If you have the [Orders](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders) feature enabled, you already have the Order Metrics feature enabled.

        Retrieves the detailed information about all orders for a specified subscription owner. Any orders containing the changes on the subscriptions owned by this account are returned.
      tags:
      - Orders
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: accountNumber
        in: path
        description: The subscription owner account number.
        required: true
        type: string
        format: string
      - name: page
        in: query
        description: 'The page number of the orders retrieved. The default is 1.

          '
        required: false
        type: integer
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - name: dateFilterOption
        in: query
        description: |
          The date type to filter on.
          This field value can be 'orderDate' or 'updatedDate'. Default is orderDate.
        required: false
        type: string
      - name: startDate
        in: query
        description: 'The result will only contain the orders with the date of ''dateFilterOption''
          later than or equal to this date.

          '
        required: false
        type: string
        format: date
      - name: endDate
        in: query
        description: 'The result will only contain the orders with the date of ''dateFilterOption''
          earlier than or equal to this date.

          '
        required: false
        type: string
        format: date
      responses:
        200:
          description: ''
          schema:
            $ref: '#/definitions/GetOrdersResponse'
          examples:
            application/json:
              orders:
              - orderNumber: O-00000002
                orderDate: '2017-03-01'
                createdDate: '2018-03-14 15:12:58'
                createdBy: 2c989028622282520162235ab0f603ba
                updatedDate: '2018-03-14 15:12:58'
                updatedBy: 2c989028622282520162235ab0f603ba
                existingAccountNumber: accountA_Num
                currency: USD
                status: Completed
                description: This is a description for the Order.
                subscriptions:
                - subscriptionNumber: A-S00000001
                  customFields:
                    sub_cf_picklist__c: null
                  baseVersion: 1
                  newVersion: 2
                  orderActions:
                  - type: UpdateProduct
                    sequence: 0
                    triggerDates:
                    - triggerDate: '2017-03-01'
                      name: ContractEffective
                    - triggerDate: '2017-03-01'
                      name: ServiceActivation
                    - triggerDate: '2017-03-01'
                      name: CustomerAcceptance
                    updateProduct:
                      ratePlanId: 2c989028622282520162235acd1b05d2
                      uniqueToken: null
                      specificUpdateDate: null
                      newRatePlanId: 2c989028622282520162235ada870649
                      chargeUpdates:
                      - description: null
                        chargeNumber: C-00000001
                        uniqueToken: null
                        newRatePlanChargeId: 2c989028622282520162235adabc0651
                        pricing:
                          recurringVolume:
                            quantity: 7
                            tiers: []
                            priceChangeOption: null
                            priceIncreasePercentage: null
                        effectiveDate:
                          specificTriggerDate: null
                        billing:
                          billingPeriodAlignment: null
                        customFields:
                          srpc_cf_picklist__c: null
                      customFields: {}
                    customFields:
                      oa_cf_text__c: null
                    orderItems: []
                    orderMetrics:
                    - productRatePlanChargeId: 2c989028622282520162235aca7a05b9
                      originRatePlanId: 2c989028622282520162235acd1b05d2
                      tcb:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 1200
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: ChangePrice
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -120
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -5000
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: DecreaseQuantity
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 500
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                      quantity:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -5
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: DecreaseQuantity
                        startDate: '2017-03-01'
                      productRatePlanId: 2c989028622282520162235acd1005ca
                      tcv:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 1200
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: ChangePrice
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -120
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -5000
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: DecreaseQuantity
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 500
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                      chargeNumber: C-00000001
                      elp:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -3800
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: DecreaseQuantity
                        type: Regular
                        startDate: '2017-03-01'
                      mrr:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 120
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: ChangePrice
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -12
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -500
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: DecreaseQuantity
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 50
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                customFields:
                  order_cf_date__c: '2017-01-01'
              - orderNumber: O-00000001
                orderDate: '2017-01-01'
                createdDate: '2018-03-14 15:12:55'
                createdBy: 2c989028622282520162235ab0f603ba
                updatedDate: '2018-03-14 15:12:55'
                updatedBy: 2c989028622282520162235ab0f603ba
                existingAccountNumber: accountA_Num
                currency: USD
                status: Completed
                subscriptions:
                - subscriptionNumber: A-S00000001
                  customFields:
                    sub_cf_picklist__c: sub123
                  baseVersion: null
                  newVersion: 1
                  orderActions:
                  - type: CreateSubscription
                    sequence: 0
                    triggerDates:
                    - triggerDate: '2017-01-01'
                      name: ContractEffective
                    - triggerDate: '2017-01-01'
                      name: ServiceActivation
                    - triggerDate: '2017-01-01'
                      name: CustomerAcceptance
                    createSubscription:
                      subscriptionOwnerAccountNumber: accountA_Num
                      terms:
                        autoRenew: false
                        renewalSetting: RENEW_WITH_SPECIFIC_TERM
                        initialTerm:
                          startDate: '2017-01-01'
                          period: 12
                          periodType: Month
                          termType: TERMED
                        renewalTerms:
                        - period: 0
                          periodType: Month
                      invoiceSeparately: null
                      notes: null
                      subscribeToRatePlans:
                      - productRatePlanId: 2c989028622282520162235ac91605b3
                        newRatePlanId: 2c989028622282520162235acd1b05d2
                        uniqueToken: null
                        chargeOverrides:
                        - description: null
                          chargeNumber: C-00000001
                          productRateplanChargeId: 2c989028622282520162235aca7a05b9
                          uniqueToken: null
                          pricing:
                            recurringVolume:
                              quantity: 12
                              tiers: []
                              listPriceBase: Per_Billing_Period
                              priceChangeOption: null
                              priceIncreasePercentage: null
                          startDate:
                            specificTriggerDate: null
                          endDate:
                            endDateCondition: null
                            specificEndDate: null
                            upToPeriods: null
                            upToPeriodsType: null
                          billing:
                            billCycleDay: null
                            billingPeriod: null
                            billCycleType: null
                            billingTiming: null
                            billingPeriodAlignment: null
                            specificBillingPeriod: null
                            weeklyBillCycleDay: null
                          customFields:
                            srpc_cf_picklist__c: null
                        customFields: {}
                    customFields:
                      oa_cf_text__c: oa cf test
                    orderItems:
                    - id: 2c989028622282520162235acd7d05dc
                      startDate: '2017-01-01'
                      endDate: '2017-12-31'
                      quantity: 12
                      orderActionId: 2c989028622282520162235acbcc05c4
                      scId: 2c989028622282520162235acd1b05d3
                    orderMetrics:
                    - productRatePlanChargeId: 2c989028622282520162235aca7a05b9
                      originRatePlanId: 2c989028622282520162235acd1b05d2
                      tcb:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 12960
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2017-01-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -1296
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-01-01'
                      quantity:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 12
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: Extension
                        startDate: '2017-01-01'
                      productRatePlanId: 2c989028622282520162235acd1005ca
                      tcv:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 12960
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2017-01-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -1296
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-01-01'
                      chargeNumber: C-00000001
                      elp:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 12960
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2017-01-01'
                      mrr:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 1080
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2017-01-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -108
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-01-01'
                customFields:
                  order_cf_date__c: '2017-01-01'
              success: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/orders/subscriptionOwner/{accountNumber}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/orders/subscriptionOwner/{accountNumber}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/orders/subscriptionOwner/{accountNumber}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/orders/subscriptionOwner/{accountNumber}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/orders/subscriptionOwner/{accountNumber}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/orders/subscriptionOwner/{accountNumber}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/orders/subscription/{subscriptionNumber}:
    get:
      summary: Get orders by subscription number
      operationId: GET_OrdersBySubscriptionNumber
      description: |
        **Note:** This feature is only available if you have the [Order Metrics](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AA_Overview_of_Orders#Order_Metrics) feature enabled. The migration to Order Metrics is in **Limited Availability**. We are actively soliciting feedback from a small set of early adopters before releasing as generally available. If you have the [Orders](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders) feature enabled, you already have the Order Metrics feature enabled.

        Retrieves the detailed information about all orders for a specified subscription. Any orders containing the changes on the specified subscription are returned.
      tags:
      - Orders
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: subscriptionNumber
        in: path
        description: The subscription number.
        required: true
        type: string
      - name: page
        in: query
        description: 'The page number of the orders retrieved. The default is ''1''.

          '
        required: false
        type: integer
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - name: dateFilterOption
        in: query
        description: 'The date type to filter on. This field value can be ''orderDate''
          or ''updatedDate''. Default is orderDate.

          '
        required: false
        type: string
      - name: startDate
        in: query
        description: 'The result will only contain the orders with the date of ''dateFilterOption''
          later than or equal to this date.

          '
        required: false
        type: string
        format: date
      - name: endDate
        in: query
        description: 'The result will only contain the orders with the date of ''dateFilterOption''
          earlier than or equal to this date.

          '
        required: false
        type: string
        format: date
      responses:
        200:
          description: ''
          schema:
            $ref: '#/definitions/GetOrdersResponse'
          examples:
            application/json:
              orders:
              - orderNumber: O-00000002
                orderDate: '2017-03-01'
                createdDate: '2018-03-14 15:12:58'
                createdBy: 2c989028622282520162235ab0f603ba
                updatedDate: '2018-03-14 15:12:58'
                updatedBy: 2c989028622282520162235ab0f603ba
                existingAccountNumber: accountA_Num
                currency: USD
                status: Completed
                description: This is a description for the Order.
                subscriptions:
                - subscriptionNumber: A-S00000001
                  customFields:
                    sub_cf_picklist__c: null
                  baseVersion: 1
                  newVersion: 2
                  orderActions:
                  - type: UpdateProduct
                    sequence: 0
                    triggerDates:
                    - triggerDate: '2017-03-01'
                      name: ContractEffective
                    - triggerDate: '2017-03-01'
                      name: ServiceActivation
                    - triggerDate: '2017-03-01'
                      name: CustomerAcceptance
                    updateProduct:
                      ratePlanId: 2c989028622282520162235acd1b05d2
                      uniqueToken: null
                      specificUpdateDate: null
                      newRatePlanId: 2c989028622282520162235ada870649
                      chargeUpdates:
                      - description: null
                        chargeNumber: C-00000001
                        uniqueToken: null
                        newRatePlanChargeId: 2c989028622282520162235adabc0651
                        pricing:
                          recurringVolume:
                            quantity: 7
                            tiers: []
                            priceChangeOption: null
                            priceIncreasePercentage: null
                        effectiveDate:
                          specificTriggerDate: null
                        billing:
                          billingPeriodAlignment: null
                        customFields:
                          srpc_cf_picklist__c: null
                      customFields: {}
                    customFields:
                      oa_cf_text__c: null
                    orderItems: []
                    orderMetrics:
                    - productRatePlanChargeId: 2c989028622282520162235aca7a05b9
                      originRatePlanId: 2c989028622282520162235acd1b05d2
                      tcb:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 1200
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: ChangePrice
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -120
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -5000
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: DecreaseQuantity
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 500
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                      quantity:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -5
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: DecreaseQuantity
                        startDate: '2017-03-01'
                      productRatePlanId: 2c989028622282520162235acd1005ca
                      tcv:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 1200
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: ChangePrice
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -120
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -5000
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: DecreaseQuantity
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 500
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                      chargeNumber: C-00000001
                      elp:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -3800
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: DecreaseQuantity
                        type: Regular
                        startDate: '2017-03-01'
                      mrr:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 120
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: ChangePrice
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -12
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -500
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: DecreaseQuantity
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 50
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                customFields:
                  order_cf_date__c: '2017-01-01'
              - orderNumber: O-00000001
                orderDate: '2017-01-01'
                createdDate: '2018-03-14 15:12:55'
                createdBy: 2c989028622282520162235ab0f603ba
                updatedDate: '2018-03-14 15:12:55'
                updatedBy: 2c989028622282520162235ab0f603ba
                existingAccountNumber: accountA_Num
                currency: USD
                status: Completed
                subscriptions:
                - subscriptionNumber: A-S00000001
                  customFields:
                    sub_cf_picklist__c: sub123
                  baseVersion: null
                  newVersion: 1
                  orderActions:
                  - type: CreateSubscription
                    sequence: 0
                    triggerDates:
                    - triggerDate: '2017-01-01'
                      name: ContractEffective
                    - triggerDate: '2017-01-01'
                      name: ServiceActivation
                    - triggerDate: '2017-01-01'
                      name: CustomerAcceptance
                    createSubscription:
                      subscriptionOwnerAccountNumber: accountA_Num
                      terms:
                        autoRenew: false
                        renewalSetting: RENEW_WITH_SPECIFIC_TERM
                        initialTerm:
                          startDate: '2017-01-01'
                          period: 12
                          periodType: Month
                          termType: TERMED
                        renewalTerms:
                        - period: 0
                          periodType: Month
                      invoiceSeparately: null
                      notes: null
                      subscribeToRatePlans:
                      - productRatePlanId: 2c989028622282520162235ac91605b3
                        newRatePlanId: 2c989028622282520162235acd1b05d2
                        uniqueToken: null
                        chargeOverrides:
                        - description: null
                          chargeNumber: C-00000001
                          productRateplanChargeId: 2c989028622282520162235aca7a05b9
                          uniqueToken: null
                          pricing:
                            recurringVolume:
                              quantity: 12
                              tiers: []
                              listPriceBase: Per_Billing_Period
                              priceChangeOption: null
                              priceIncreasePercentage: null
                          startDate:
                            specificTriggerDate: null
                          endDate:
                            endDateCondition: null
                            specificEndDate: null
                            upToPeriods: null
                            upToPeriodsType: null
                          billing:
                            billCycleDay: null
                            billingPeriod: null
                            billCycleType: null
                            billingTiming: null
                            billingPeriodAlignment: null
                            specificBillingPeriod: null
                            weeklyBillCycleDay: null
                          customFields:
                            srpc_cf_picklist__c: null
                        customFields: {}
                    customFields:
                      oa_cf_text__c: oa cf test
                    orderItems:
                    - id: 2c989028622282520162235acd7d05dc
                      startDate: '2017-01-01'
                      endDate: '2017-12-31'
                      quantity: 12
                      orderActionId: 2c989028622282520162235acbcc05c4
                      scId: 2c989028622282520162235acd1b05d3
                    orderMetrics:
                    - productRatePlanChargeId: 2c989028622282520162235aca7a05b9
                      originRatePlanId: 2c989028622282520162235acd1b05d2
                      tcb:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 12960
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2017-01-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -1296
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-01-01'
                      quantity:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 12
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: Extension
                        startDate: '2017-01-01'
                      productRatePlanId: 2c989028622282520162235acd1005ca
                      tcv:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 12960
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2017-01-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -1296
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-01-01'
                      chargeNumber: C-00000001
                      elp:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 12960
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2017-01-01'
                      mrr:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 1080
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2017-01-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -108
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-01-01'
                customFields:
                  order_cf_date__c: '2017-01-01'
              success: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/orders/subscription/{subscriptionNumber}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/orders/subscription/{subscriptionNumber}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/orders/subscription/{subscriptionNumber}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/orders/subscription/{subscriptionNumber}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/orders/subscription/{subscriptionNumber}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/orders/subscription/{subscriptionNumber}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/orders/invoiceOwner/{accountNumber}:
    get:
      summary: Get orders by invoice owner
      operationId: GET_OrdersByInvoiceOwner
      description: |
        **Note:** This feature is only available if you have the [Order Metrics](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AA_Overview_of_Orders#Order_Metrics) feature enabled. The migration to Order Metrics is in **Limited Availability**. We are actively soliciting feedback from a small set of early adopters before releasing as generally available. If you have the [Orders](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders) feature enabled, you already have the Order Metrics feature enabled.

        Retrieves the detailed information about all orders for a specified invoice owner.
      tags:
      - Orders
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: accountNumber
        in: path
        description: The invoice owner account number.
        required: true
        type: string
        format: string
      - name: page
        in: query
        description: 'The page number of the orders retrieved. The default is 1.

          '
        required: false
        type: integer
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - name: dateFilterOption
        in: query
        description: 'The date type to filter on. This field value can be orderDate
          or updatedDate. Default is orderDate.

          '
        required: false
        type: string
      - name: startDate
        in: query
        description: 'The result will only contain the orders with the date of dateFilterOption
          later than or equal to this date.

          '
        required: false
        type: string
        format: date
      - name: endDate
        in: query
        description: 'The result will only contain the orders with the date of dateFilterOption
          earlier than or equal to this date.

          '
        required: false
        type: string
        format: date
      responses:
        200:
          description: ''
          schema:
            $ref: '#/definitions/GetOrdersResponse'
          examples:
            application/json:
              orders:
              - orderNumber: O-00000002
                orderDate: '2017-03-01'
                createdDate: '2018-03-14 15:12:58'
                createdBy: 2c989028622282520162235ab0f603ba
                updatedDate: '2018-03-14 15:12:58'
                updatedBy: 2c989028622282520162235ab0f603ba
                existingAccountNumber: accountA_Num
                currency: USD
                status: Completed
                description: This is a description for the Order.
                subscriptions:
                - subscriptionNumber: A-S00000001
                  customFields:
                    sub_cf_picklist__c: null
                  baseVersion: 1
                  newVersion: 2
                  orderActions:
                  - type: UpdateProduct
                    sequence: 0
                    triggerDates:
                    - triggerDate: '2017-03-01'
                      name: ContractEffective
                    - triggerDate: '2017-03-01'
                      name: ServiceActivation
                    - triggerDate: '2017-03-01'
                      name: CustomerAcceptance
                    updateProduct:
                      ratePlanId: 2c989028622282520162235acd1b05d2
                      uniqueToken: null
                      specificUpdateDate: null
                      newRatePlanId: 2c989028622282520162235ada870649
                      chargeUpdates:
                      - description: null
                        chargeNumber: C-00000001
                        uniqueToken: null
                        newRatePlanChargeId: 2c989028622282520162235adabc0651
                        pricing:
                          recurringVolume:
                            quantity: 7
                            tiers: []
                            priceChangeOption: null
                            priceIncreasePercentage: null
                        effectiveDate:
                          specificTriggerDate: null
                        billing:
                          billingPeriodAlignment: null
                        customFields:
                          srpc_cf_picklist__c: null
                      customFields: {}
                    customFields:
                      oa_cf_text__c: null
                    orderItems: []
                    orderMetrics:
                    - productRatePlanChargeId: 2c989028622282520162235aca7a05b9
                      originRatePlanId: 2c989028622282520162235acd1b05d2
                      tcb:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 1200
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: ChangePrice
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -120
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -5000
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: DecreaseQuantity
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 500
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                      quantity:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -5
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: DecreaseQuantity
                        startDate: '2017-03-01'
                      productRatePlanId: 2c989028622282520162235acd1005ca
                      tcv:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 1200
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: ChangePrice
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -120
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -5000
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: DecreaseQuantity
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 500
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                      chargeNumber: C-00000001
                      elp:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -3800
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: DecreaseQuantity
                        type: Regular
                        startDate: '2017-03-01'
                      mrr:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 120
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: ChangePrice
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -12
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -500
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: DecreaseQuantity
                        type: Regular
                        startDate: '2017-03-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 50
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-03-01'
                customFields:
                  order_cf_date__c: '2017-01-01'
              - orderNumber: O-00000001
                orderDate: '2017-01-01'
                createdDate: '2018-03-14 15:12:55'
                createdBy: 2c989028622282520162235ab0f603ba
                updatedDate: '2018-03-14 15:12:55'
                updatedBy: 2c989028622282520162235ab0f603ba
                existingAccountNumber: accountA_Num
                currency: USD
                status: Completed
                subscriptions:
                - subscriptionNumber: A-S00000001
                  customFields:
                    sub_cf_picklist__c: sub123
                  baseVersion: null
                  newVersion: 1
                  orderActions:
                  - type: CreateSubscription
                    sequence: 0
                    triggerDates:
                    - triggerDate: '2017-01-01'
                      name: ContractEffective
                    - triggerDate: '2017-01-01'
                      name: ServiceActivation
                    - triggerDate: '2017-01-01'
                      name: CustomerAcceptance
                    createSubscription:
                      subscriptionOwnerAccountNumber: accountA_Num
                      terms:
                        autoRenew: false
                        renewalSetting: RENEW_WITH_SPECIFIC_TERM
                        initialTerm:
                          startDate: '2017-01-01'
                          period: 12
                          periodType: Month
                          termType: TERMED
                        renewalTerms:
                        - period: 0
                          periodType: Month
                      invoiceSeparately: null
                      notes: null
                      subscribeToRatePlans:
                      - productRatePlanId: 2c989028622282520162235ac91605b3
                        newRatePlanId: 2c989028622282520162235acd1b05d2
                        uniqueToken: null
                        chargeOverrides:
                        - description: null
                          chargeNumber: C-00000001
                          productRateplanChargeId: 2c989028622282520162235aca7a05b9
                          uniqueToken: null
                          pricing:
                            recurringVolume:
                              quantity: 12
                              tiers: []
                              listPriceBase: Per_Billing_Period
                              priceChangeOption: null
                              priceIncreasePercentage: null
                          startDate:
                            specificTriggerDate: null
                          endDate:
                            endDateCondition: null
                            specificEndDate: null
                            upToPeriods: null
                            upToPeriodsType: null
                          billing:
                            billCycleDay: null
                            billingPeriod: null
                            billCycleType: null
                            billingTiming: null
                            billingPeriodAlignment: null
                            specificBillingPeriod: null
                            weeklyBillCycleDay: null
                          customFields:
                            srpc_cf_picklist__c: null
                        customFields: {}
                    customFields:
                      oa_cf_text__c: oa cf test
                    orderItems:
                    - id: 2c989028622282520162235acd7d05dc
                      startDate: '2017-01-01'
                      endDate: '2017-12-31'
                      quantity: 12
                      orderActionId: 2c989028622282520162235acbcc05c4
                      scId: 2c989028622282520162235acd1b05d3
                    orderMetrics:
                    - productRatePlanChargeId: 2c989028622282520162235aca7a05b9
                      originRatePlanId: 2c989028622282520162235acd1b05d2
                      tcb:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 12960
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2017-01-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -1296
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-01-01'
                      quantity:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 12
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: Extension
                        startDate: '2017-01-01'
                      productRatePlanId: 2c989028622282520162235acd1005ca
                      tcv:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 12960
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2017-01-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -1296
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-01-01'
                      chargeNumber: C-00000001
                      elp:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 12960
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2017-01-01'
                      mrr:
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: 1080
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        generatedReason: Extension
                        type: Regular
                        startDate: '2017-01-01'
                      - subscriptionOwner: accountA_Num
                        invoiceOwner: accountA_Num
                        amount: -108
                        endDate: '2017-12-31'
                        orderItemId: 2c989028622282520162235acd7d05dc
                        termNumber: 1
                        discountChargeNumber: C-00000002
                        generatedReason: ChangePrice
                        type: Discount
                        startDate: '2017-01-01'
                customFields:
                  order_cf_date__c: '2017-01-01'
              success: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/orders/invoiceOwner/{accountNumber}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/orders/invoiceOwner/{accountNumber}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/orders/invoiceOwner/{accountNumber}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/orders/invoiceOwner/{accountNumber}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/orders/invoiceOwner/{accountNumber}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/orders/invoiceOwner/{accountNumber}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/orders/{orderNumber}/customFields:
    put:
      tags:
      - Orders
      summary: Update order custom fields
      description: "**Note:** This feature is only available if you have the [Order\
        \ Metrics](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AA_Overview_of_Orders#Order_Metrics)\
        \ feature enabled. The migration to Order Metrics is in **Limited Availability**.\
        \ We are actively soliciting feedback from a small set of early adopters before\
        \ releasing as generally available. If you have the [Orders](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders)\
        \ feature enabled, you already have the Order Metrics feature enabled. \n\n\
        Updates the custom fields of a specified order.\n"
      operationId: PUT_UpdateOrderCustomFields
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: orderNumber
        in: path
        description: The order number.
        required: true
        type: string
        format: string
      - name: body
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUTOrderPatchRequestType'
      responses:
        200:
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
          examples:
            application/json:
              success: true
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"customFields\": {\n\
          \        \"order_cf__c\": \"order custom fields\"\n    }, \n    \"subscriptions\"\
          : [\n        {\n            \"orderActions\": [\n                {\n   \
          \                 \"customFields\": {\n                        \"order_action_cf__c\"\
          : \"Order action custom fields\", \n                        \"order_action_undex__c\"\
          : \"Order action custom fields\"\n                    }, \n            \
          \        \"sequence\": 0\n                }\n            ], \n         \
          \   \"subscriptionNumber\": \"S-00005\"\n        }\n    ]\n}' \"https://rest.zuora.com/v1/orders/{orderNumber}/customFields\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/orders/{orderNumber}/customFields');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"customFields\": {\n        \"order_cf__c\"\
          : \"order custom fields\"\n    }, \n    \"subscriptions\": [\n        {\n\
          \            \"orderActions\": [\n                {\n                  \
          \  \"customFields\": {\n                        \"order_action_cf__c\":\
          \ \"Order action custom fields\", \n                        \"order_action_undex__c\"\
          : \"Order action custom fields\"\n                    }, \n            \
          \        \"sequence\": 0\n                }\n            ], \n         \
          \   \"subscriptionNumber\": \"S-00005\"\n        }\n    ]\n}');\n\ntry {\n\
          \  $response = $request->send();\n\n  echo $response->getBody();\n} catch\
          \ (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"customFields\": {\n        \"order_cf__c\": \"order custom fields\"\n    }, \n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"customFields\": {\n                        \"order_action_cf__c\": \"Order action custom fields\", \n                        \"order_action_undex__c\": \"Order action custom fields\"\n                    }, \n                    \"sequence\": 0\n                }\n            ], \n            \"subscriptionNumber\": \"S-00005\"\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/orders/{orderNumber}/customFields")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"customFields\": {\n        \"order_cf__c\": \"order custom fields\"\n    }, \n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"customFields\": {\n                        \"order_action_cf__c\": \"Order action custom fields\", \n                        \"order_action_undex__c\": \"Order action custom fields\"\n                    }, \n                    \"sequence\": 0\n                }\n            ], \n            \"subscriptionNumber\": \"S-00005\"\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/orders/{orderNumber}/customFields", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/orders/{orderNumber}/customFields")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"customFields\": {\n        \"order_cf__c\": \"order custom fields\"\n    }, \n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"customFields\": {\n                        \"order_action_cf__c\": \"Order action custom fields\", \n                        \"order_action_undex__c\": \"Order action custom fields\"\n                    }, \n                    \"sequence\": 0\n                }\n            ], \n            \"subscriptionNumber\": \"S-00005\"\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/orders/{orderNumber}/customFields");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"customFields\": {\n        \"order_cf__c\": \"order custom fields\"\n    }, \n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"customFields\": {\n                        \"order_action_cf__c\": \"Order action custom fields\", \n                        \"order_action_undex__c\": \"Order action custom fields\"\n                    }, \n                    \"sequence\": 0\n                }\n            ], \n            \"subscriptionNumber\": \"S-00005\"\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/subscriptions/{subscriptionNumber}/customFields:
    put:
      tags:
      - Orders
      summary: Update subscription custom fields
      description: |
        **Note:**  This operation is only available if you have the [Orders](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AA_Overview_of_Orders#Orders) feature enabled. The migration to Orders is in **Limited Availability**. We are actively soliciting feedback from a small set of early adopters before releasing as generally available.

        Updates the custom fields of a specified subscription.
      operationId: PUT_UpdateSubscriptionCustomFields
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: subscriptionNumber
        in: path
        description: The subscription number to be updated.
        required: true
        type: string
        format: string
      - name: body
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUTSubscriptionPatchRequestType'
      responses:
        200:
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
          examples:
            application/json:
              success: true
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"customFields\": {\n\
          \        \"sub_cf__c\": \"subscription custom field\"\n    }, \n    \"ratePlans\"\
          : [\n        {\n            \"charges\": [\n                {\n        \
          \            \"chargeNumber\": \"C-00000016\", \n                    \"\
          customFields\": {\n                        \"sub_rpc__c\": \"rate plan charge\
          \ custom field\"\n                    }\n                }\n           \
          \ ], \n            \"customFields\": {\n                \"sub_rate_plan__c\"\
          : \"rate plan custom field\"\n            }, \n            \"ratePlanId\"\
          : \"8a8081085d834928015da220da08207f\"\n        }\n    ]\n}' \"https://rest.zuora.com/v1/subscriptions/{subscriptionNumber}/customFields\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/subscriptions/{subscriptionNumber}/customFields');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"customFields\": {\n        \"sub_cf__c\"\
          : \"subscription custom field\"\n    }, \n    \"ratePlans\": [\n       \
          \ {\n            \"charges\": [\n                {\n                   \
          \ \"chargeNumber\": \"C-00000016\", \n                    \"customFields\"\
          : {\n                        \"sub_rpc__c\": \"rate plan charge custom field\"\
          \n                    }\n                }\n            ], \n          \
          \  \"customFields\": {\n                \"sub_rate_plan__c\": \"rate plan\
          \ custom field\"\n            }, \n            \"ratePlanId\": \"8a8081085d834928015da220da08207f\"\
          \n        }\n    ]\n}');\n\ntry {\n  $response = $request->send();\n\n \
          \ echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"customFields\": {\n        \"sub_cf__c\": \"subscription custom field\"\n    }, \n    \"ratePlans\": [\n        {\n            \"charges\": [\n                {\n                    \"chargeNumber\": \"C-00000016\", \n                    \"customFields\": {\n                        \"sub_rpc__c\": \"rate plan charge custom field\"\n                    }\n                }\n            ], \n            \"customFields\": {\n                \"sub_rate_plan__c\": \"rate plan custom field\"\n            }, \n            \"ratePlanId\": \"8a8081085d834928015da220da08207f\"\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/subscriptions/{subscriptionNumber}/customFields")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"customFields\": {\n        \"sub_cf__c\": \"subscription custom field\"\n    }, \n    \"ratePlans\": [\n        {\n            \"charges\": [\n                {\n                    \"chargeNumber\": \"C-00000016\", \n                    \"customFields\": {\n                        \"sub_rpc__c\": \"rate plan charge custom field\"\n                    }\n                }\n            ], \n            \"customFields\": {\n                \"sub_rate_plan__c\": \"rate plan custom field\"\n            }, \n            \"ratePlanId\": \"8a8081085d834928015da220da08207f\"\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/subscriptions/{subscriptionNumber}/customFields", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/subscriptions/{subscriptionNumber}/customFields")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"customFields\": {\n        \"sub_cf__c\": \"subscription custom field\"\n    }, \n    \"ratePlans\": [\n        {\n            \"charges\": [\n                {\n                    \"chargeNumber\": \"C-00000016\", \n                    \"customFields\": {\n                        \"sub_rpc__c\": \"rate plan charge custom field\"\n                    }\n                }\n            ], \n            \"customFields\": {\n                \"sub_rate_plan__c\": \"rate plan custom field\"\n            }, \n            \"ratePlanId\": \"8a8081085d834928015da220da08207f\"\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/subscriptions/{subscriptionNumber}/customFields");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"customFields\": {\n        \"sub_cf__c\": \"subscription custom field\"\n    }, \n    \"ratePlans\": [\n        {\n            \"charges\": [\n                {\n                    \"chargeNumber\": \"C-00000016\", \n                    \"customFields\": {\n                        \"sub_rpc__c\": \"rate plan charge custom field\"\n                    }\n                }\n            ], \n            \"customFields\": {\n                \"sub_rate_plan__c\": \"rate plan custom field\"\n            }, \n            \"ratePlanId\": \"8a8081085d834928015da220da08207f\"\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/orders/{orderNumber}/triggerDates:
    put:
      tags:
      - Orders
      summary: Update order action trigger dates
      description: |
        **Note:**  This operation is only available if you have the [Orders](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AA_Overview_of_Orders#Orders) feature enabled. The migration to Orders is in **Limited Availability**. We are actively soliciting feedback from a small set of early adopters before releasing as generally available.

        Updates the triggering dates for either of the following order actions:
         * CreateSubscription
         * AddProduct
         * UpdateProduct
         * RemoveProduct
         * RenewSubscription
         * TermsAndConditions
      operationId: PUT_OrderTriggerDates
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: orderNumber
        in: path
        description: Order number of a pending order in which you are to update an
          order action's triggering dates.
        required: true
        type: string
        format: string
      - name: body
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUTOrderActionTriggerDatesRequestType'
      responses:
        200:
          description: ''
          schema:
            $ref: '#/definitions/PUTOrderTriggerDatesResponseType'
          examples:
            application/json:
              success: true
              orderNumber: OM-00002
              accountNumber: A00000001
              status: Pending
              subscriptions:
              - subscriptionNumber: SM-00001
                status: Pending Activation
              - subscriptionNumber: SM-00002
                status: Pending Acceptance
              - subscriptionNumber: SM-00003
                status: Active
              - subscriptionNumber: SM-00004
                status: Pending Acceptance
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"subscriptions\": [\n\
          \        {\n            \"orderActions\": [\n                {\n       \
          \             \"charges\": [\n                        {\n              \
          \              \"chargeNumber\": \"C-0000001\", \n                     \
          \       \"specificTriggerDate\": \"2016-09-01\"\n                      \
          \  }\n                    ], \n                    \"sequence\": 0, \n \
          \                   \"triggerDates\": [\n                        {\n   \
          \                         \"name\": \"CustomerAcceptance\", \n         \
          \                   \"triggerDate\": \"2016-09-01\"\n                  \
          \      }\n                    ]\n                }\n            ], \n  \
          \          \"subscriptionNumber\": \"A-S00000009\"\n        }\n    ]\n}'\
          \ \"https://rest.zuora.com/v1/orders/{orderNumber}/triggerDates\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/orders/{orderNumber}/triggerDates');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"subscriptions\": [\n        {\n     \
          \       \"orderActions\": [\n                {\n                    \"charges\"\
          : [\n                        {\n                            \"chargeNumber\"\
          : \"C-0000001\", \n                            \"specificTriggerDate\":\
          \ \"2016-09-01\"\n                        }\n                    ], \n \
          \                   \"sequence\": 0, \n                    \"triggerDates\"\
          : [\n                        {\n                            \"name\": \"\
          CustomerAcceptance\", \n                            \"triggerDate\": \"\
          2016-09-01\"\n                        }\n                    ]\n       \
          \         }\n            ], \n            \"subscriptionNumber\": \"A-S00000009\"\
          \n        }\n    ]\n}');\n\ntry {\n  $response = $request->send();\n\n \
          \ echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"charges\": [\n                        {\n                            \"chargeNumber\": \"C-0000001\", \n                            \"specificTriggerDate\": \"2016-09-01\"\n                        }\n                    ], \n                    \"sequence\": 0, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2016-09-01\"\n                        }\n                    ]\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000009\"\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/orders/{orderNumber}/triggerDates")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"charges\": [\n                        {\n                            \"chargeNumber\": \"C-0000001\", \n                            \"specificTriggerDate\": \"2016-09-01\"\n                        }\n                    ], \n                    \"sequence\": 0, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2016-09-01\"\n                        }\n                    ]\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000009\"\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/orders/{orderNumber}/triggerDates", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/orders/{orderNumber}/triggerDates")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"charges\": [\n                        {\n                            \"chargeNumber\": \"C-0000001\", \n                            \"specificTriggerDate\": \"2016-09-01\"\n                        }\n                    ], \n                    \"sequence\": 0, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2016-09-01\"\n                        }\n                    ]\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000009\"\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/orders/{orderNumber}/triggerDates");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"subscriptions\": [\n        {\n            \"orderActions\": [\n                {\n                    \"charges\": [\n                        {\n                            \"chargeNumber\": \"C-0000001\", \n                            \"specificTriggerDate\": \"2016-09-01\"\n                        }\n                    ], \n                    \"sequence\": 0, \n                    \"triggerDates\": [\n                        {\n                            \"name\": \"CustomerAcceptance\", \n                            \"triggerDate\": \"2016-09-01\"\n                        }\n                    ]\n                }\n            ], \n            \"subscriptionNumber\": \"A-S00000009\"\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/gateway-settlement/payments/{payment-id}/settle:
    post:
      summary: Settle Payment
      operationId: POST_SettlePayment
      description: 'Sets the Payment status to "Settled" and returns the Payment object
        as response.

        '
      tags:
      - Payment Gateway Reconciliation
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: payment-id
        in: path
        required: true
        type: string
        description: Unique ID of the payment.
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTSettlePaymentRequest'
      responses:
        '200':
          examples:
            application/json:
              id: 2c90c8e26a6a5271016a8e78ba502e4b
              number: P-00000017
              status: Processed
              type: Electronic
              accountId: 2c90c8e26a6a5271016a6fda7f922c10
              amount: 332
              appliedAmount: 0
              unappliedAmount: 0
              refundAmount: 0
              creditBalanceAmount: 0
              currency: USD
              effectiveDate: '2019-05-06'
              comment: ''
              paymentMethodId: 2c90c8e26a6a5271016a6fdf9b5f2caa
              paymentMethodSnapshotId: 2c90c8e26a6a5271016a8e78ba4a2e4a
              authTransactionId: null
              bankIdentificationNumber: '411111'
              gatewayId: 2c90c8e26a6a5271016a74321ba82ce0
              gatewayOrderId: null
              gatewayResponse: Approved
              gatewayResponseCode: '100'
              gatewayState: Settled
              markedForSubmissionOn: null
              referenceId: '5571684390686343603009'
              secondPaymentReferenceId: '549536'
              softDescriptor: null
              softDescriptorPhone: null
              submittedOn: '2019-05-06 11:47:19'
              settledOn: '2019-04-06 23:00:00'
              cancelledOn: null
              createdDate: '2019-05-06 11:47:17'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2019-05-06 12:11:05'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              financeInformation: null
              success: true
          description: ''
          schema:
            $ref: '#/definitions/POSTSettlePaymentResponse'
      x-code-samples:
      - lang: Curl
        source: |-
          curl -X POST -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3" -H "Content-Type: application/json" -d '{
              "settledOn": "2019-05-07 20:56:32.981"
          }' "https://rest.zuora.com/v1/gateway-settlement/payments/{payment-id}/settle"
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/gateway-settlement/payments/{payment-id}/settle');
          $request->setMethod(HTTP_METH_POST);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{
              "settledOn": "2019-05-07 20:56:32.981"
          }');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"settledOn\": \"2019-05-07 20:56:32.981\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/gateway-settlement/payments/{payment-id}/settle")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"settledOn\": \"2019-05-07 20:56:32.981\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/gateway-settlement/payments/{payment-id}/settle", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/gateway-settlement/payments/{payment-id}/settle")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"settledOn\": \"2019-05-07 20:56:32.981\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/gateway-settlement/payments/{payment-id}/settle");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"settledOn\": \"2019-05-07 20:56:32.981\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/gateway-settlement/payments/{payment-id}/reject:
    post:
      summary: Reject Payment
      operationId: POST_RejectPayment
      description: 'Sets the Payment status to "Rejected", creates a refund for the
        payment amount, and returns the Refund object as response.

        '
      tags:
      - Payment Gateway Reconciliation
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: payment-id
        in: path
        required: true
        type: string
        description: Unique ID of the payment.
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTRejectPaymentRequest'
      responses:
        '200':
          examples:
            application/json:
              id: 2c90c8e26a6a5271016a8e8232892e60
              number: R-00000001
              status: Processed
              type: External
              methodType: CreditCard
              accountId: 2c90c8e26a6a5271016a6fda7f922c10
              amount: 121
              refundDate: '2019-05-06'
              comment: null
              paymentMethodId: 2c90c8e26a6a5271016a749380452cfc
              paymentMethodSnapshotId: null
              paymentId: 2c90c8e26a6a5271016a8e80de242e56
              creditMemoId: null
              reasonCode: Payment Rejection
              gatewayId: null
              gatewayResponse: Insufficient funds latest msg 1
              gatewayResponseCode: '0231'
              gatewayState: Settled
              markedForSubmissionOn: null
              referenceId: '825522036728874689'
              secondRefundReferenceId: '825522036690700110'
              softDescriptor: null
              softDescriptorPhone: null
              submittedOn: null
              settledOn: '2019-05-07 20:56:32'
              cancelledOn: null
              createdDate: '2019-05-06 11:57:38'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2019-05-06 11:57:38'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              refundTransactionTime: null
              financeInformation: null
              success: true
          description: ''
          schema:
            $ref: '#/definitions/POSTRejectPaymentResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"gatewayResponse\":\
          \ \"Insufficient funds\", \n    \"gatewayResponseCode\": \"023\", \n   \
          \ \"referenceId\": \"825522036728874689\", \n    \"secondReferenceId\":\
          \ \"825522036690700110\", \n    \"settledOn\": \"2019-05-07 20:56:32.981\"\
          \n}' \"https://rest.zuora.com/v1/gateway-settlement/payments/{payment-id}/reject\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/gateway-settlement/payments/{payment-id}/reject');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"gatewayResponse\": \"Insufficient funds\"\
          , \n    \"gatewayResponseCode\": \"023\", \n    \"referenceId\": \"825522036728874689\"\
          , \n    \"secondReferenceId\": \"825522036690700110\", \n    \"settledOn\"\
          : \"2019-05-07 20:56:32.981\"\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"gatewayResponse\": \"Insufficient funds\", \n    \"gatewayResponseCode\": \"023\", \n    \"referenceId\": \"825522036728874689\", \n    \"secondReferenceId\": \"825522036690700110\", \n    \"settledOn\": \"2019-05-07 20:56:32.981\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/gateway-settlement/payments/{payment-id}/reject")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"gatewayResponse\": \"Insufficient funds\", \n    \"gatewayResponseCode\": \"023\", \n    \"referenceId\": \"825522036728874689\", \n    \"secondReferenceId\": \"825522036690700110\", \n    \"settledOn\": \"2019-05-07 20:56:32.981\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/gateway-settlement/payments/{payment-id}/reject", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/gateway-settlement/payments/{payment-id}/reject")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"gatewayResponse\": \"Insufficient funds\", \n    \"gatewayResponseCode\": \"023\", \n    \"referenceId\": \"825522036728874689\", \n    \"secondReferenceId\": \"825522036690700110\", \n    \"settledOn\": \"2019-05-07 20:56:32.981\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/gateway-settlement/payments/{payment-id}/reject");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"gatewayResponse\": \"Insufficient funds\", \n    \"gatewayResponseCode\": \"023\", \n    \"referenceId\": \"825522036728874689\", \n    \"secondReferenceId\": \"825522036690700110\", \n    \"settledOn\": \"2019-05-07 20:56:32.981\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/gateway-settlement/payments/{payment-id}/chargeback:
    post:
      summary: Reverse Payment
      operationId: POST_ReversePayment
      description: 'Sets the Payment status to "Reversed", creates a refund for the
        amount specified in the request, and returns the Refund object as response.

        '
      tags:
      - Payment Gateway Reconciliation
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: payment-id
        in: path
        required: true
        type: string
        description: Unique ID of the payment.
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTReversePaymentRequest'
      responses:
        '200':
          examples:
            application/json:
              id: 2c90c8e26a6a5271016a8e8232892e60
              number: R-00000001
              status: Processed
              type: External
              methodType: CreditCard
              accountId: 2c90c8e26a6a5271016a6fda7f922c10
              amount: 121
              refundDate: '2019-05-06'
              comment: null
              paymentMethodId: 2c90c8e26a6a5271016a749380452cfc
              paymentMethodSnapshotId: null
              paymentId: 2c90c8e26a6a5271016a8e80de242e56
              creditMemoId: null
              reasonCode: Payment Reversal
              gatewayId: null
              gatewayResponse: Insufficient funds latest msg 1
              gatewayResponseCode: '0231'
              gatewayState: Settled
              markedForSubmissionOn: null
              referenceId: '825522036728874689'
              secondRefundReferenceId: '825522036690700110'
              softDescriptor: null
              softDescriptorPhone: null
              submittedOn: null
              settledOn: '2019-05-07 20:56:32'
              cancelledOn: null
              createdDate: '2019-05-06 11:57:38'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2019-05-06 11:57:38'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              refundTransactionTime: null
              financeInformation: null
              success: true
          description: ''
          schema:
            $ref: '#/definitions/POSTReversePaymentResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"amount\": 100, \n \
          \   \"gatewayResponse\": \"Insufficient funds\", \n    \"gatewayResponseCode\"\
          : \"023\", \n    \"referenceId\": \"825522036728874689\", \n    \"secondReferenceId\"\
          : \"825522036690700110\", \n    \"settledOn\": \"2019-05-07 20:56:32.981\"\
          \n}' \"https://rest.zuora.com/v1/gateway-settlement/payments/{payment-id}/chargeback\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/gateway-settlement/payments/{payment-id}/chargeback');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"amount\": 100, \n    \"gatewayResponse\"\
          : \"Insufficient funds\", \n    \"gatewayResponseCode\": \"023\", \n   \
          \ \"referenceId\": \"825522036728874689\", \n    \"secondReferenceId\":\
          \ \"825522036690700110\", \n    \"settledOn\": \"2019-05-07 20:56:32.981\"\
          \n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"amount\": 100, \n    \"gatewayResponse\": \"Insufficient funds\", \n    \"gatewayResponseCode\": \"023\", \n    \"referenceId\": \"825522036728874689\", \n    \"secondReferenceId\": \"825522036690700110\", \n    \"settledOn\": \"2019-05-07 20:56:32.981\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/gateway-settlement/payments/{payment-id}/chargeback")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"amount\": 100, \n    \"gatewayResponse\": \"Insufficient funds\", \n    \"gatewayResponseCode\": \"023\", \n    \"referenceId\": \"825522036728874689\", \n    \"secondReferenceId\": \"825522036690700110\", \n    \"settledOn\": \"2019-05-07 20:56:32.981\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/gateway-settlement/payments/{payment-id}/chargeback", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/gateway-settlement/payments/{payment-id}/chargeback")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"amount\": 100, \n    \"gatewayResponse\": \"Insufficient funds\", \n    \"gatewayResponseCode\": \"023\", \n    \"referenceId\": \"825522036728874689\", \n    \"secondReferenceId\": \"825522036690700110\", \n    \"settledOn\": \"2019-05-07 20:56:32.981\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/gateway-settlement/payments/{payment-id}/chargeback");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"amount\": 100, \n    \"gatewayResponse\": \"Insufficient funds\", \n    \"gatewayResponseCode\": \"023\", \n    \"referenceId\": \"825522036728874689\", \n    \"secondReferenceId\": \"825522036690700110\", \n    \"settledOn\": \"2019-05-07 20:56:32.981\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/paymentgateways:
    get:
      description: 'Retrieves the basic information about all the payment gateways.

        '
      summary: Get payment gateways
      operationId: GET_Paymentgateways
      tags:
      - Payment Gateways
      responses:
        200:
          description: ''
          examples:
            application/json:
              paymentgateways:
              - id: 4028905f5702783601570291e14c0015
                name: Test Gateway Adapter
                type: Test Gateway
                isDefault: true
                isActive: true
              success: true
          schema:
            $ref: '#/definitions/GETPaymentGatwaysResponse'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/paymentgateways"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/paymentgateways');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/paymentgateways")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/paymentgateways", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/paymentgateways")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/paymentgateways");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/payment-methods:
    post:
      summary: Create payment method
      operationId: POST_PaymentMethods
      description: "You can use this operation to create a payment method for a customer\
        \ account. This operation supports the payment methods listed below.\n\n###\
        \ PayPal Express Checkout\nThe following request body fields are specific\
        \ to this payment method:\n* `BAID` (required)\n* `email` (required)\n\n###\
        \ PayPal Native Express Checkout\nThe following request body fields are specific\
        \ to this payment method:\n* `BAID` (required)\n* `email` (optional)\n\n###\
        \ PayPal Adaptive\nThe following request body fields are specific to this\
        \ payment method:\n* `preapprovalKey` (required)\n* `email` (required)\n\n\
        ### Credit Card\n**Note:** This feature is in **Limited Availability**. We\
        \ are actively soliciting feedback from a small set of early adopters before\
        \ releasing as generally available.\n\nThe following request body fields are\
        \ specific to this payment method:\n* `cardHolderInfo` (`cardHolderName` required)\n\
        * `cardNumber` (required)\n* `cardType` (required)\n* `expirationMonth` (required)\n\
        * `expirationYear` (required)\n* `mitConsentAgreementRef`\n* `mitConsentAgreementSrc`\n\
        * `mitNetworkTransactionId`\n* `mitProfileAction`\n* `mitProfileType`\n* `mitProfileAgreedOn`\n\
        * `securityCode`\n* `checkDuplicated`\n\n\n### ACH\nThe following request\
        \ body fields are applicable to this payment method:\n* `bankABACode` (required)\n\
        * `bankAccountName` (required)\n* `bankAccountNumber` (required)\n* `bankAccountType`\
        \ (required)\n* `bankName` (required)\n* `addressLine1`\n* `addressLine2`\n\
        * `phone`\n* `email`\n* `city`\n* `country`\n* `state`\n* `zipCode`\n\n###\
        \ SEPA\nThe following request body fields are applicable to this payment method:\n\
        * `IBAN` (required)\n* `accountHolderInfo` (required)\n* `businessIdentificationCode`\n\
        \n### Betalingsservice (Direct Debit DK)\nThe following request body fields\
        \ are applicable to this payment method:\n* `accountNumber` (required)\n*\
        \ `identityNumber` (required)\n* `bankCode` (required)\n* `accountHolderInfo`\
        \ (required)\n\n### Autogiro (Direct Debit SE)\nThe following request body\
        \ fields are applicable to this payment method:        \n* `accountNumber`\
        \ (required)\n* `identityNumber` (required)\n* `branchCode` (required)\n*\
        \ `accountHolderInfo` (required)        \n\n### Bacs (Direct Debit UK)\nThe\
        \ following request body fields are applicable to this payment method:   \
        \     \n* `accountNumber` (required)\n* `bankCode` (required)\n* `accountHolderInfo`\
        \ (required)  \n"
      tags:
      - Payment Methods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTPaymentMethodRequest'
      responses:
        '200':
          examples:
            application/json:
              id: 2c92a09650a7a80a0150ab50a5b746bd
              success: true
          description: ''
          schema:
            $ref: '#/definitions/POSTPaymentMethodResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"BAID\": \"I-1TJ3GAGG82Y9\"\
          , \n    \"accountKey\": \"2c92c0f95be68649015bf14e001f2760\", \n    \"email\"\
          : \"customer@example.com\", \n    \"type\": \"PayPalEC\"\n}' \"https://rest.zuora.com/v1/payment-methods\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/payment-methods');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"BAID\": \"I-1TJ3GAGG82Y9\", \n    \"\
          accountKey\": \"2c92c0f95be68649015bf14e001f2760\", \n    \"email\": \"\
          customer@example.com\", \n    \"type\": \"PayPalEC\"\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"BAID\": \"I-1TJ3GAGG82Y9\", \n    \"accountKey\": \"2c92c0f95be68649015bf14e001f2760\", \n    \"email\": \"customer@example.com\", \n    \"type\": \"PayPalEC\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payment-methods")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"BAID\": \"I-1TJ3GAGG82Y9\", \n    \"accountKey\": \"2c92c0f95be68649015bf14e001f2760\", \n    \"email\": \"customer@example.com\", \n    \"type\": \"PayPalEC\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/payment-methods", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payment-methods")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"BAID\": \"I-1TJ3GAGG82Y9\", \n    \"accountKey\": \"2c92c0f95be68649015bf14e001f2760\", \n    \"email\": \"customer@example.com\", \n    \"type\": \"PayPalEC\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payment-methods");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"BAID\": \"I-1TJ3GAGG82Y9\", \n    \"accountKey\": \"2c92c0f95be68649015bf14e001f2760\", \n    \"email\": \"customer@example.com\", \n    \"type\": \"PayPalEC\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/payment-methods/decryption:
    post:
      summary: Create Apple Pay payment method
      operationId: POST_PaymentMethodsDecryption
      description: |
        The decryption API endpoint can conditionally perform 3 tasks in one atomic call:
          * Decrypt Apple Pay Payment token
          * Create Credit Card Payment Method in Zuora with decrypted Apple Pay information
          * Process Payment on a specified Invoice (optional)
      tags:
      - Payment Methods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTPaymentMethodDecryption'
      responses:
        '200':
          examples:
            application/json:
              paymentMethodId: 2c92c8f83dcbd8b1013dcce1d6a600ce
              success: true
          description: ''
          schema:
            $ref: '#/definitions/POSTPaymentMethodResponseDecryption'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"accountID\": \"402891a25a02e11c015a02f3c6100003\"\
          , \n    \"integrationType\": \"ApplePay\", \n    \"invoiceId\": \"INV000000005\"\
          , \n    \"merchantID\": \"merchant.CN.com.zuora.services416\", \n    \"\
          paymentGateway\": \"CyberSourceOPG\", \n    \"paymentToken\": {\n      \
          \  \"data\": \"xGc......JDxuYz1gug0KZRrGXJQ=\", \n        \"header\": {\n\
          \            \"ephemeralPublicKey\": \"MFkwEw......TMbLoojKBA==\", \n  \
          \          \"publicKeyHash\": \"HuLvfqvLon......9jEyX0w=\", \n         \
          \   \"transactionId\": \"abbadd18818baea1f37b40844c9e09afa9733b0eccb373905b811da43cf1753b\"\
          \n        }, \n        \"signature\": \"MIAGCSqGSIb......AEtrLSv7hE9gAAAAAAAA==\"\
          , \n        \"version\": \"EC_v1\"\n    }, \n    \"processPayment\": true\n\
          }' \"https://rest.zuora.com/v1/payment-methods/decryption\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/payment-methods/decryption');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"accountID\": \"402891a25a02e11c015a02f3c6100003\"\
          , \n    \"integrationType\": \"ApplePay\", \n    \"invoiceId\": \"INV000000005\"\
          , \n    \"merchantID\": \"merchant.CN.com.zuora.services416\", \n    \"\
          paymentGateway\": \"CyberSourceOPG\", \n    \"paymentToken\": {\n      \
          \  \"data\": \"xGc......JDxuYz1gug0KZRrGXJQ=\", \n        \"header\": {\n\
          \            \"ephemeralPublicKey\": \"MFkwEw......TMbLoojKBA==\", \n  \
          \          \"publicKeyHash\": \"HuLvfqvLon......9jEyX0w=\", \n         \
          \   \"transactionId\": \"abbadd18818baea1f37b40844c9e09afa9733b0eccb373905b811da43cf1753b\"\
          \n        }, \n        \"signature\": \"MIAGCSqGSIb......AEtrLSv7hE9gAAAAAAAA==\"\
          , \n        \"version\": \"EC_v1\"\n    }, \n    \"processPayment\": true\n\
          }');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"accountID\": \"402891a25a02e11c015a02f3c6100003\", \n    \"integrationType\": \"ApplePay\", \n    \"invoiceId\": \"INV000000005\", \n    \"merchantID\": \"merchant.CN.com.zuora.services416\", \n    \"paymentGateway\": \"CyberSourceOPG\", \n    \"paymentToken\": {\n        \"data\": \"xGc......JDxuYz1gug0KZRrGXJQ=\", \n        \"header\": {\n            \"ephemeralPublicKey\": \"MFkwEw......TMbLoojKBA==\", \n            \"publicKeyHash\": \"HuLvfqvLon......9jEyX0w=\", \n            \"transactionId\": \"abbadd18818baea1f37b40844c9e09afa9733b0eccb373905b811da43cf1753b\"\n        }, \n        \"signature\": \"MIAGCSqGSIb......AEtrLSv7hE9gAAAAAAAA==\", \n        \"version\": \"EC_v1\"\n    }, \n    \"processPayment\": true\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payment-methods/decryption")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"accountID\": \"402891a25a02e11c015a02f3c6100003\", \n    \"integrationType\": \"ApplePay\", \n    \"invoiceId\": \"INV000000005\", \n    \"merchantID\": \"merchant.CN.com.zuora.services416\", \n    \"paymentGateway\": \"CyberSourceOPG\", \n    \"paymentToken\": {\n        \"data\": \"xGc......JDxuYz1gug0KZRrGXJQ=\", \n        \"header\": {\n            \"ephemeralPublicKey\": \"MFkwEw......TMbLoojKBA==\", \n            \"publicKeyHash\": \"HuLvfqvLon......9jEyX0w=\", \n            \"transactionId\": \"abbadd18818baea1f37b40844c9e09afa9733b0eccb373905b811da43cf1753b\"\n        }, \n        \"signature\": \"MIAGCSqGSIb......AEtrLSv7hE9gAAAAAAAA==\", \n        \"version\": \"EC_v1\"\n    }, \n    \"processPayment\": true\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/payment-methods/decryption", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payment-methods/decryption")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"accountID\": \"402891a25a02e11c015a02f3c6100003\", \n    \"integrationType\": \"ApplePay\", \n    \"invoiceId\": \"INV000000005\", \n    \"merchantID\": \"merchant.CN.com.zuora.services416\", \n    \"paymentGateway\": \"CyberSourceOPG\", \n    \"paymentToken\": {\n        \"data\": \"xGc......JDxuYz1gug0KZRrGXJQ=\", \n        \"header\": {\n            \"ephemeralPublicKey\": \"MFkwEw......TMbLoojKBA==\", \n            \"publicKeyHash\": \"HuLvfqvLon......9jEyX0w=\", \n            \"transactionId\": \"abbadd18818baea1f37b40844c9e09afa9733b0eccb373905b811da43cf1753b\"\n        }, \n        \"signature\": \"MIAGCSqGSIb......AEtrLSv7hE9gAAAAAAAA==\", \n        \"version\": \"EC_v1\"\n    }, \n    \"processPayment\": true\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payment-methods/decryption");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"accountID\": \"402891a25a02e11c015a02f3c6100003\", \n    \"integrationType\": \"ApplePay\", \n    \"invoiceId\": \"INV000000005\", \n    \"merchantID\": \"merchant.CN.com.zuora.services416\", \n    \"paymentGateway\": \"CyberSourceOPG\", \n    \"paymentToken\": {\n        \"data\": \"xGc......JDxuYz1gug0KZRrGXJQ=\", \n        \"header\": {\n            \"ephemeralPublicKey\": \"MFkwEw......TMbLoojKBA==\", \n            \"publicKeyHash\": \"HuLvfqvLon......9jEyX0w=\", \n            \"transactionId\": \"abbadd18818baea1f37b40844c9e09afa9733b0eccb373905b811da43cf1753b\"\n        }, \n        \"signature\": \"MIAGCSqGSIb......AEtrLSv7hE9gAAAAAAAA==\", \n        \"version\": \"EC_v1\"\n    }, \n    \"processPayment\": true\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/payment-methods/credit-cards:
    post:
      summary: Create credit card payment method
      operationId: POST_PaymentMethodsCreditCard
      description: "This REST API reference describes how to create a new credit card\
        \ payment method for a customer account.\n\nThis API call is CORS Enabled.\
        \ Use client-side JavaScript to invoke the call. \n\n**Note**: If you use\
        \ this operation to create credit card payment methods instead of using the\
        \ [iFrame of Hosted Payment Pages](https://knowledgecenter.zuora.com/CB_Billing/LA_Hosted_Payment_Pages/C_Hosted_Payment_Pages/B_Implementing_Hosted_Payment_Pages_on_Your_Website/C_Embed_and_Submit_the_iFrame),\
        \ you are subject to PCI-compliance audit requirements.\n"
      tags:
      - Payment Methods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTPaymentMethodType'
      responses:
        '200':
          examples:
            application/json:
              paymentMethodId: 2c92c8f83dcbd8b1013dcce1d6a60
              success: true
          description: ''
          schema:
            $ref: '#/definitions/POSTPaymentMethodResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"accountKey\": \"A00001115\"\
          , \n    \"cardHolderInfo\": {\n        \"addressLine1\": \"77 Fallon Glen\"\
          , \n        \"addressLine2\": \"\", \n        \"cardHolderName\": \"Leo\"\
          , \n        \"city\": \"Fremont\", \n        \"country\": \"USA\", \n  \
          \      \"email\": \"smith@example.com\", \n        \"phone\": \"4155551234\"\
          , \n        \"state\": \"California\", \n        \"zipCode\": \"94020\"\n\
          \    }, \n    \"creditCardNumber\": \"1111222233334444\", \n    \"creditCardType\"\
          : \"Discover\", \n    \"defaultPaymentMethod\": false, \n    \"expirationMonth\"\
          : \"10\", \n    \"expirationYear\": \"2015\", \n    \"numConsecutiveFailures\"\
          : 3, \n    \"securityCode\": \"123\"\n}' \"https://rest.zuora.com/v1/payment-methods/credit-cards\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/payment-methods/credit-cards');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"accountKey\": \"A00001115\", \n    \"\
          cardHolderInfo\": {\n        \"addressLine1\": \"77 Fallon Glen\", \n  \
          \      \"addressLine2\": \"\", \n        \"cardHolderName\": \"Leo\", \n\
          \        \"city\": \"Fremont\", \n        \"country\": \"USA\", \n     \
          \   \"email\": \"smith@example.com\", \n        \"phone\": \"4155551234\"\
          , \n        \"state\": \"California\", \n        \"zipCode\": \"94020\"\n\
          \    }, \n    \"creditCardNumber\": \"1111222233334444\", \n    \"creditCardType\"\
          : \"Discover\", \n    \"defaultPaymentMethod\": false, \n    \"expirationMonth\"\
          : \"10\", \n    \"expirationYear\": \"2015\", \n    \"numConsecutiveFailures\"\
          : 3, \n    \"securityCode\": \"123\"\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"accountKey\": \"A00001115\", \n    \"cardHolderInfo\": {\n        \"addressLine1\": \"77 Fallon Glen\", \n        \"addressLine2\": \"\", \n        \"cardHolderName\": \"Leo\", \n        \"city\": \"Fremont\", \n        \"country\": \"USA\", \n        \"email\": \"smith@example.com\", \n        \"phone\": \"4155551234\", \n        \"state\": \"California\", \n        \"zipCode\": \"94020\"\n    }, \n    \"creditCardNumber\": \"1111222233334444\", \n    \"creditCardType\": \"Discover\", \n    \"defaultPaymentMethod\": false, \n    \"expirationMonth\": \"10\", \n    \"expirationYear\": \"2015\", \n    \"numConsecutiveFailures\": 3, \n    \"securityCode\": \"123\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payment-methods/credit-cards")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"accountKey\": \"A00001115\", \n    \"cardHolderInfo\": {\n        \"addressLine1\": \"77 Fallon Glen\", \n        \"addressLine2\": \"\", \n        \"cardHolderName\": \"Leo\", \n        \"city\": \"Fremont\", \n        \"country\": \"USA\", \n        \"email\": \"smith@example.com\", \n        \"phone\": \"4155551234\", \n        \"state\": \"California\", \n        \"zipCode\": \"94020\"\n    }, \n    \"creditCardNumber\": \"1111222233334444\", \n    \"creditCardType\": \"Discover\", \n    \"defaultPaymentMethod\": false, \n    \"expirationMonth\": \"10\", \n    \"expirationYear\": \"2015\", \n    \"numConsecutiveFailures\": 3, \n    \"securityCode\": \"123\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/payment-methods/credit-cards", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payment-methods/credit-cards")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"accountKey\": \"A00001115\", \n    \"cardHolderInfo\": {\n        \"addressLine1\": \"77 Fallon Glen\", \n        \"addressLine2\": \"\", \n        \"cardHolderName\": \"Leo\", \n        \"city\": \"Fremont\", \n        \"country\": \"USA\", \n        \"email\": \"smith@example.com\", \n        \"phone\": \"4155551234\", \n        \"state\": \"California\", \n        \"zipCode\": \"94020\"\n    }, \n    \"creditCardNumber\": \"1111222233334444\", \n    \"creditCardType\": \"Discover\", \n    \"defaultPaymentMethod\": false, \n    \"expirationMonth\": \"10\", \n    \"expirationYear\": \"2015\", \n    \"numConsecutiveFailures\": 3, \n    \"securityCode\": \"123\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payment-methods/credit-cards");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"accountKey\": \"A00001115\", \n    \"cardHolderInfo\": {\n        \"addressLine1\": \"77 Fallon Glen\", \n        \"addressLine2\": \"\", \n        \"cardHolderName\": \"Leo\", \n        \"city\": \"Fremont\", \n        \"country\": \"USA\", \n        \"email\": \"smith@example.com\", \n        \"phone\": \"4155551234\", \n        \"state\": \"California\", \n        \"zipCode\": \"94020\"\n    }, \n    \"creditCardNumber\": \"1111222233334444\", \n    \"creditCardType\": \"Discover\", \n    \"defaultPaymentMethod\": false, \n    \"expirationMonth\": \"10\", \n    \"expirationYear\": \"2015\", \n    \"numConsecutiveFailures\": 3, \n    \"securityCode\": \"123\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/payment-methods/credit-cards/{payment-method-id}:
    put:
      summary: Update credit card payment method
      operationId: PUT_PaymentMethodsCreditCard
      description: |
        Updates an existing credit card payment method for the specified
        customer account.
      tags:
      - Payment Methods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: payment-method-id
        in: path
        required: true
        type: string
        description: Unique ID of the payment method to update.
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUTPaymentMethodType'
      responses:
        '200':
          examples:
            application/json:
              paymentMethodId: 2c92c8f83dcbd8b1013dcce1d6a600ce
              success: true
          description: ''
          schema:
            $ref: '#/definitions/PUTPaymentMethodResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"cardHolderName\": \"\
          Leo\", \n    \"expirationMonth\": 8, \n    \"expirationYear\": 2015, \n\
          \    \"numConsecutiveFailures\": 5, \n    \"securityCode\": \"111\"\n}'\
          \ \"https://rest.zuora.com/v1/payment-methods/credit-cards/{payment-method-id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/payment-methods/credit-cards/{payment-method-id}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"cardHolderName\": \"Leo\", \n    \"expirationMonth\"\
          : 8, \n    \"expirationYear\": 2015, \n    \"numConsecutiveFailures\": 5,\
          \ \n    \"securityCode\": \"111\"\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"cardHolderName\": \"Leo\", \n    \"expirationMonth\": 8, \n    \"expirationYear\": 2015, \n    \"numConsecutiveFailures\": 5, \n    \"securityCode\": \"111\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payment-methods/credit-cards/{payment-method-id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"cardHolderName\": \"Leo\", \n    \"expirationMonth\": 8, \n    \"expirationYear\": 2015, \n    \"numConsecutiveFailures\": 5, \n    \"securityCode\": \"111\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/payment-methods/credit-cards/{payment-method-id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payment-methods/credit-cards/{payment-method-id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"cardHolderName\": \"Leo\", \n    \"expirationMonth\": 8, \n    \"expirationYear\": 2015, \n    \"numConsecutiveFailures\": 5, \n    \"securityCode\": \"111\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payment-methods/credit-cards/{payment-method-id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"cardHolderName\": \"Leo\", \n    \"expirationMonth\": 8, \n    \"expirationYear\": 2015, \n    \"numConsecutiveFailures\": 5, \n    \"securityCode\": \"111\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/payment-methods/credit-cards/accounts/{account-key}:
    get:
      summary: Get credit card payment methods for account
      operationId: GET_PaymentMethodsCreditCard
      description: "This REST API reference describes how to retrieve all credit card\n\
        information for the specified customer account. \n\n## Notes\nThe response\
        \ includes details of credit or debit cards for the specified customer account.\
        \ Card numbers are masked, e.g., \"************1234\". Cards are returned\
        \ in reverse chronological order of last update.\n\nYou can send requests\
        \ for bank transfer or ACH type payment methods. However, the response will\
        \ not include effective details of these payment methods.\n"
      tags:
      - Payment Methods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - name: account-key
        in: path
        description: Account number or account ID.
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              nextPage: https://rest.zuora.com/v1/payment-methods/credit-cards/accounts/A00001115?page=2&pageSize=2
              creditCards:
              - cardHolderInfo:
                  zipCode: null
                  addressLine2: null
                  addressLine1: null
                  phone: '4082021111'
                  state: null
                  country: null
                  city: null
                  cardHolderName: Leo
                  email: smith@example.com
                defaultPaymentMethod: true
                id: 2c92c8f83dabf9cf013daef12dd303b0
                expirationMonth: 10
                cardNumber: '************1111'
                expirationYear: 2020
                cardType: Visa
              - cardHolderInfo:
                  zipCode: '95135'
                  addressLine2: null
                  addressLine1: 1400 Bridge Pkwy
                  phone: null
                  state: California
                  country: United States
                  city: San Jose
                  cardHolderName: foo CC name
                  email: null
                defaultPaymentMethod: false
                id: 2c92a0f9391832b10139183e279e0044
                expirationMonth: 10
                cardNumber: '*****foo CC #'
                expirationYear: 2012
                cardType: Visa
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETPaymentMethodsType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/payment-methods/credit-cards/accounts/{account-key}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/payment-methods/credit-cards/accounts/{account-key}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payment-methods/credit-cards/accounts/{account-key}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/payment-methods/credit-cards/accounts/{account-key}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payment-methods/credit-cards/accounts/{account-key}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payment-methods/credit-cards/accounts/{account-key}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/payment-methods/{payment-method-id}:
    delete:
      summary: Delete payment method
      operationId: DELETE_PaymentMethods
      description: |
        Deletes a credit card payment method from the specified customer
        account.

        If the specified payment method is the account's default payment
        method, the request will fail.  In that case, you must first designate a
        different payment method for that customer to be the default.
      tags:
      - Payment Methods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: payment-method-id
        in: path
        required: true
        type: string
        description: Unique identifier of a payment method. (Since this ID is unique,
          and linked to a customer account in the system, no customer identifier is
          needed.)
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/payment-methods/{payment-method-id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/payment-methods/{payment-method-id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payment-methods/{payment-method-id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/payment-methods/{payment-method-id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payment-methods/{payment-method-id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payment-methods/{payment-method-id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/payment-methods/{payment-method-id}/verify:
    put:
      description: |
        Sends an authorization request to the corresponding payment gateway to verify the payment method, even though no changes are made for the payment method. Supported payment methods are Credit Cards and Paypal.

        Zuora now supports performing a standalone zero dollar verification or one dollar authorization for credit cards. It also supports a billing agreement status check on PayPal payment methods.

        If a payment method is created by Hosted Payment Pages and is not assigned to any billing account, the payment method cannot be verified through this operation.
      summary: Verify payment method
      operationId: PUT_VerifyPaymentMethods
      tags:
      - Payment Methods
      parameters:
      - type: string
        in: path
        name: payment-method-id
        required: true
        description: 'The ID of the payment method to be verified.

          '
      - name: body
        in: body
        required: true
        description: ''
        schema:
          $ref: '#/definitions/PUTVerifyPaymentMethodType'
      responses:
        '200':
          description: ''
          examples:
            application/json:
              success: true
              paymentMethodId: 402890765d9ce329015da18034ee0057
          schema:
            $ref: '#/definitions/PUTVerifyPaymentMethodResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"gatewayOptions\": {\n\
          \        \"Comments\": \"test\", \n        \"IPAddress\": \"192.168.1.1\"\
          \n    }, \n    \"paymentGatewayName\": \"Adyen\", \n    \"securityCode\"\
          : \"737\"\n}' \"https://rest.zuora.com/v1/payment-methods/{payment-method-id}/verify\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/payment-methods/{payment-method-id}/verify');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"gatewayOptions\": {\n        \"Comments\"\
          : \"test\", \n        \"IPAddress\": \"192.168.1.1\"\n    }, \n    \"paymentGatewayName\"\
          : \"Adyen\", \n    \"securityCode\": \"737\"\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"gatewayOptions\": {\n        \"Comments\": \"test\", \n        \"IPAddress\": \"192.168.1.1\"\n    }, \n    \"paymentGatewayName\": \"Adyen\", \n    \"securityCode\": \"737\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payment-methods/{payment-method-id}/verify")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"gatewayOptions\": {\n        \"Comments\": \"test\", \n        \"IPAddress\": \"192.168.1.1\"\n    }, \n    \"paymentGatewayName\": \"Adyen\", \n    \"securityCode\": \"737\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/payment-methods/{payment-method-id}/verify", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payment-methods/{payment-method-id}/verify")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"gatewayOptions\": {\n        \"Comments\": \"test\", \n        \"IPAddress\": \"192.168.1.1\"\n    }, \n    \"paymentGatewayName\": \"Adyen\", \n    \"securityCode\": \"737\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payment-methods/{payment-method-id}/verify");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"gatewayOptions\": {\n        \"Comments\": \"test\", \n        \"IPAddress\": \"192.168.1.1\"\n    }, \n    \"paymentGatewayName\": \"Adyen\", \n    \"securityCode\": \"737\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/payment-methods/{payment-method-id}/scrub:
    put:
      tags:
      - Payment Methods
      summary: Scrub payment method
      operationId: PUT_ScrubPaymentMethods
      description: "\nThis operation enables you to replace all sensitive data in\
        \ a payment method, related payment method snapshot table, and four related\
        \ log tables with dummy values that will be stored in Zuora databases. \n\n\
        This operation will scrub the sensitive data and soft-delete the specified\
        \ payment method at the same time. \n\nIf you want to delete or anonymize\
        \ personal data in Zuora, you must scrub the payment method before anonymizing\
        \ the associated account and contact. See [Delete or anonymize personal data](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Responding_to_individual_requests_for_access%2C_correction%2C_and_deletion_of_data_under_applicable_privacy_laws#Edit_and_correct_personal_data)\
        \ for more information.\n\n**Note:** In order to use this operation, you must\
        \ ensure that the **Scrub Sensitive Data of Specific Payment Method payments**\
        \ permission is enabled in your user role. Contact your tenant administrator\
        \ if you want to enable this permission. See [Scrub Payment Methods](https://knowledgecenter.zuora.com/CB_Billing/L_Payment_Methods/Scrub_Payment_Methods)\
        \ for more information.\n"
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: payment-method-id
        in: path
        required: true
        description: 'The ID of the payment method where you want to scrub the sensitive
          data.

          '
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/payment-methods/{payment-method-id}/scrub"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/payment-methods/{payment-method-id}/scrub');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payment-methods/{payment-method-id}/scrub")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/payment-methods/{payment-method-id}/scrub", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payment-methods/{payment-method-id}/scrub")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payment-methods/{payment-method-id}/scrub");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/payment-methods/{payment-method-id}/authorize:
    post:
      description: "**Note:** If you wish to enable this feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/).\n\nEnables you to\
        \ authorize the availability of funds for a transaction but delay the capture\
        \ of funds until a later time. Subsequently, use [CRUD: Create payment](https://www.zuora.com/developer/api-reference/#operation/Object_POSTPayment)\
        \ or [Create payment](https://www.zuora.com/developer/api-reference/#operation/POST_CreatePayment)\
        \ to capture the authorized funds, or use [Cancel authorization](https://www.zuora.com/developer/api-reference/#operation/POST_CancelAuthorization)\
        \ to cancel the authorization. \n\nThe payment gateways that support this\
        \ operation include Verifi, CyberSource 1.28, CyberSource 1.97, Chase Paymentech\
        \ Orbital, and Ingenico ePayments.\n\nIf you have the Invoice Settlement feature\
        \ enabled, use the [Create payment](https://www.zuora.com/developer/api-reference/#operation/POST_CreatePayment)\
        \ operation to capture the funds instead of the [CRUD: Create payment](https://www.zuora.com/developer/api-reference/#operation/Object_POSTPayment)\
        \ operation.\n      \n"
      summary: Create authorization
      operationId: POST_CreateAuthorization
      tags:
      - Payment Methods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: payment-method-id
        type: string
        in: path
        description: 'The unique ID of the payment method where the authorization
          is created.

          '
        required: true
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTDelayAuthorizeCapture'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/POSTAuthorizeResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"accountId\": \"402881e861bd8a7e0161c6a453750026\"\
          , \n    \"accountNumber\": \"A00000004\", \n    \"amount\": 1.99, \n   \
          \ \"gatewayOrderId\": \"A001\", \n    \"softDescriptor\": \"Service fee\"\
          , \n    \"softDescriptorPhone\": \"400-000-1234\"\n}' \"https://rest.zuora.com/v1/payment-methods/{payment-method-id}/authorize\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/payment-methods/{payment-method-id}/authorize');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"accountId\": \"402881e861bd8a7e0161c6a453750026\"\
          , \n    \"accountNumber\": \"A00000004\", \n    \"amount\": 1.99, \n   \
          \ \"gatewayOrderId\": \"A001\", \n    \"softDescriptor\": \"Service fee\"\
          , \n    \"softDescriptorPhone\": \"400-000-1234\"\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"accountId\": \"402881e861bd8a7e0161c6a453750026\", \n    \"accountNumber\": \"A00000004\", \n    \"amount\": 1.99, \n    \"gatewayOrderId\": \"A001\", \n    \"softDescriptor\": \"Service fee\", \n    \"softDescriptorPhone\": \"400-000-1234\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payment-methods/{payment-method-id}/authorize")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"accountId\": \"402881e861bd8a7e0161c6a453750026\", \n    \"accountNumber\": \"A00000004\", \n    \"amount\": 1.99, \n    \"gatewayOrderId\": \"A001\", \n    \"softDescriptor\": \"Service fee\", \n    \"softDescriptorPhone\": \"400-000-1234\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/payment-methods/{payment-method-id}/authorize", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payment-methods/{payment-method-id}/authorize")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"accountId\": \"402881e861bd8a7e0161c6a453750026\", \n    \"accountNumber\": \"A00000004\", \n    \"amount\": 1.99, \n    \"gatewayOrderId\": \"A001\", \n    \"softDescriptor\": \"Service fee\", \n    \"softDescriptorPhone\": \"400-000-1234\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payment-methods/{payment-method-id}/authorize");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"accountId\": \"402881e861bd8a7e0161c6a453750026\", \n    \"accountNumber\": \"A00000004\", \n    \"amount\": 1.99, \n    \"gatewayOrderId\": \"A001\", \n    \"softDescriptor\": \"Service fee\", \n    \"softDescriptorPhone\": \"400-000-1234\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/payment-methods/{payment-method-id}/voidAuthorize:
    post:
      description: "**Note:** If you wish to enable this feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nAllows you to\
        \ cancel an authorization. The payment gateways that support this operation\
        \ include Verifi, CyberSource 1.28, CyberSource 1.97, Chase Paymentech Orbital,\
        \ and Ingenico ePayments.\n"
      summary: Cancel authorization
      operationId: POST_CancelAuthorization
      tags:
      - Payment Methods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: payment-method-id
        type: string
        in: path
        description: 'The unique ID of the payment method where the authorization
          is cancelled.

          '
        required: true
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTVoidAuthorize'
      responses:
        '200':
          description: ''
          schema:
            $ref: '#/definitions/POSTVoidAuthorizeResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"accountId\": \"402881e861bd8a7e0161c6a453750026\"\
          , \n    \"accountNumber\": \"A00000004\", \n    \"gatewayOrderId\": \"A001\"\
          , \n    \"transactionId\": \"5205213224866613203009\"\n}' \"https://rest.zuora.com/v1/payment-methods/{payment-method-id}/voidAuthorize\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/payment-methods/{payment-method-id}/voidAuthorize');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"accountId\": \"402881e861bd8a7e0161c6a453750026\"\
          , \n    \"accountNumber\": \"A00000004\", \n    \"gatewayOrderId\": \"A001\"\
          , \n    \"transactionId\": \"5205213224866613203009\"\n}');\n\ntry {\n \
          \ $response = $request->send();\n\n  echo $response->getBody();\n} catch\
          \ (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"accountId\": \"402881e861bd8a7e0161c6a453750026\", \n    \"accountNumber\": \"A00000004\", \n    \"gatewayOrderId\": \"A001\", \n    \"transactionId\": \"5205213224866613203009\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payment-methods/{payment-method-id}/voidAuthorize")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"accountId\": \"402881e861bd8a7e0161c6a453750026\", \n    \"accountNumber\": \"A00000004\", \n    \"gatewayOrderId\": \"A001\", \n    \"transactionId\": \"5205213224866613203009\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/payment-methods/{payment-method-id}/voidAuthorize", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payment-methods/{payment-method-id}/voidAuthorize")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"accountId\": \"402881e861bd8a7e0161c6a453750026\", \n    \"accountNumber\": \"A00000004\", \n    \"gatewayOrderId\": \"A001\", \n    \"transactionId\": \"5205213224866613203009\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payment-methods/{payment-method-id}/voidAuthorize");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"accountId\": \"402881e861bd8a7e0161c6a453750026\", \n    \"accountNumber\": \"A00000004\", \n    \"gatewayOrderId\": \"A001\", \n    \"transactionId\": \"5205213224866613203009\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/payment-methods/{payment-method-id}/profiles:
    post:
      description: |
        Creates a stored credential profile within a pyament method.

        The stored credential profile represents a consent agreement that you have established with a customer. When you use the payment method in a transaction, Zuora may include information from the stored credential profile to inform the payment processor that the transaction is related to your pre-existing consent agreement with the customer.

        **Note:** This feature is in **Limited Availability**. We are actively soliciting feedback from a small set of early adopters before releasing as generally available.
      summary: Create stored credential profile
      operationId: POST_CreateStoredCredentialProfile
      tags:
      - Payment Methods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: payment-method-id
        type: string
        in: path
        required: true
        description: 'ID of a payment method.

          '
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/CreateStoredCredentialProfileRequest'
      responses:
        '200':
          examples:
            application/json:
              success: true
              paymentMethodId: 402881836953a3c7016953aec290000d
              number: 3
          description: ''
          schema:
            $ref: '#/definitions/ModifiedStoredCredentialProfileResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"authGateway\": \"4028905f5702783601570291e14c0015\"\
          , \n    \"consentAgreementRef\": \"ACCT1338AgreementV1.pdf\", \n    \"consentAgreementSrc\"\
          : \"External\", \n    \"status\": \"Active\", \n    \"type\": \"Recurring\"\
          \n}' \"https://rest.zuora.com/v1/payment-methods/{payment-method-id}/profiles\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/payment-methods/{payment-method-id}/profiles');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"authGateway\": \"4028905f5702783601570291e14c0015\"\
          , \n    \"consentAgreementRef\": \"ACCT1338AgreementV1.pdf\", \n    \"consentAgreementSrc\"\
          : \"External\", \n    \"status\": \"Active\", \n    \"type\": \"Recurring\"\
          \n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"authGateway\": \"4028905f5702783601570291e14c0015\", \n    \"consentAgreementRef\": \"ACCT1338AgreementV1.pdf\", \n    \"consentAgreementSrc\": \"External\", \n    \"status\": \"Active\", \n    \"type\": \"Recurring\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payment-methods/{payment-method-id}/profiles")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"authGateway\": \"4028905f5702783601570291e14c0015\", \n    \"consentAgreementRef\": \"ACCT1338AgreementV1.pdf\", \n    \"consentAgreementSrc\": \"External\", \n    \"status\": \"Active\", \n    \"type\": \"Recurring\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/payment-methods/{payment-method-id}/profiles", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payment-methods/{payment-method-id}/profiles")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"authGateway\": \"4028905f5702783601570291e14c0015\", \n    \"consentAgreementRef\": \"ACCT1338AgreementV1.pdf\", \n    \"consentAgreementSrc\": \"External\", \n    \"status\": \"Active\", \n    \"type\": \"Recurring\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payment-methods/{payment-method-id}/profiles");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"authGateway\": \"4028905f5702783601570291e14c0015\", \n    \"consentAgreementRef\": \"ACCT1338AgreementV1.pdf\", \n    \"consentAgreementSrc\": \"External\", \n    \"status\": \"Active\", \n    \"type\": \"Recurring\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      description: |
        Retrieves the stored credential profiles within a payment method.

        **Note:** This feature is in **Limited Availability**. We are actively soliciting feedback from a small set of early adopters before releasing as generally available.
      summary: Get stored credential profiles
      operationId: GET_StoredCredentialProfiles
      tags:
      - Payment Methods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: payment-method-id
        type: string
        in: path
        required: true
        description: 'ID of a payment method.

          '
      - name: includeAll
        type: boolean
        default: false
        in: query
        description: |
          Specifies whether to retrieve all the stored credential profiles within the payment method.

          By default, Zuora returns only the stored credential profiles with `Agreed` or `Active` status. If you set this parameter to `true`, Zuora returns all the stored credential profiles.
      responses:
        '200':
          description: ''
          examples:
            application/json:
              profiles:
              - paymentMethodId: 402881836953a3c7016953aec290000d
                number: 1
                brand: Visa
                status: Cancelled
                type: Recurring
                consentAgreementSrc: External
                consentAgreementRef: ACCT1338AgreementV1.pdf
                agreedOn: '2019-03-06 07:45:55'
                activatedOn: '2019-03-06 07:45:55'
                cancelledOn: '2019-03-13 07:52:16'
                expiredOn: null
              - paymentMethodId: 402881836953a3c7016953aec290000d
                number: 2
                brand: Visa
                status: Active
                type: Recurring
                consentAgreementSrc: External
                consentAgreementRef: ACCT1338AgreementV2.pdf
                agreedOn: '2019-03-13 07:55:08'
                activatedOn: '2019-03-13 07:55:08'
                cancelledOn: null
                expiredOn: null
              success: true
          schema:
            $ref: '#/definitions/GetStoredCredentialProfilesResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/payment-methods/{payment-method-id}/profiles"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/payment-methods/{payment-method-id}/profiles');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payment-methods/{payment-method-id}/profiles")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/payment-methods/{payment-method-id}/profiles", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payment-methods/{payment-method-id}/profiles")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payment-methods/{payment-method-id}/profiles");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/payment-methods/{payment-method-id}/profiles/{profile-number}/cancel:
    post:
      description: |
        Cancels a stored credential profile within a pyament method.

        Cancelling the stored credential profile indicates that the stored credentials are no longer valid, per a customer request. You cannot reactivate the stored credential profile after you have cancelled it.

        **Note:** This feature is in **Limited Availability**. We are actively soliciting feedback from a small set of early adopters before releasing as generally available.
      summary: Cancel stored credential profile
      operationId: POST_CancelStoredCredentialProfile
      tags:
      - Payment Methods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: payment-method-id
        type: string
        in: path
        required: true
        description: 'ID of a payment method.

          '
      - name: profile-number
        type: integer
        in: path
        required: true
        description: 'Number that identifies a stored credential profile within the
          payment method.

          '
      consumes: []
      x-code-samples:
      - lang: Curl
        source: 'curl -X POST -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          "https://rest.zuora.com/v1/payment-methods/{payment-method-id}/profiles/{profile-number}/cancel"

          '
      responses:
        '200':
          examples:
            application/json:
              success: true
              paymentMethodId: 402881836953a3c7016953aec290000d
              number: 1
          description: ''
          schema:
            $ref: '#/definitions/ModifiedStoredCredentialProfileResponse'
  /v1/payment-methods/{payment-method-id}/profiles/{profile-number}/expire:
    post:
      description: |
        Expires a stored credential profile within a pyament method.

        Expiring the stored credential profile indicates that the stored credentials are no longer valid, per an expiration policy in the stored credential transaction framework. You cannot reactivate the stored credential profile after you have expired it.

        **Note:** This feature is in **Limited Availability**. We are actively soliciting feedback from a small set of early adopters before releasing as generally available.
      summary: Expire stored credential profile
      operationId: POST_ExpireStoredCredentialProfile
      tags:
      - Payment Methods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: payment-method-id
        type: string
        in: path
        required: true
        description: 'ID of a payment method.

          '
      - name: profile-number
        type: integer
        in: path
        required: true
        description: 'Number that identifies a stored credential profile within the
          payment method.

          '
      consumes: []
      x-code-samples:
      - lang: Curl
        source: 'curl -X POST -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          "https://rest.zuora.com/v1/payment-methods/{payment-method-id}/profiles/{profile-number}/expire"

          '
      responses:
        '200':
          examples:
            application/json:
              success: true
              paymentMethodId: 402881836953a3c7016953aec290000d
              number: 2
          description: ''
          schema:
            $ref: '#/definitions/ModifiedStoredCredentialProfileResponse'
  /v1/payment-runs:
    post:
      description: |
        Creates a payment run. You can create a payment run to be executed immediately after it is created, or a scheduced payment run to be executed in future.

        The `accountId`, `batch`, `billCycleDay`, `currency`, `paymentGatewayId`, and `billingRunId` fields are used to determine which receivables to be paid in the payment run. If none of these fields is specified in the request body, the corresponding payment run collects payments for all accounts.
      summary: Create payment run
      operationId: POST_PaymentRun
      tags:
      - Payment Runs
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - in: body
        name: body
        required: true
        description: ''
        schema:
          $ref: '#/definitions/POSTPaymentRunRequest'
      responses:
        200:
          description: ''
          examples:
            application/json:
              id: 2c92c0856078bbcb0160957bbb8f0b32
              number: PR-00002120
              targetDate: '2017-12-28'
              runDate: null
              status: Completed
              executedOn: '2017-12-28 09:00:06'
              completedOn: '2017-12-28 09:00:06'
              applyCreditBalance: false
              consolidatedPayment: false
              processPaymentWithClosedPM: false
              collectPayment: true
              createdDate: '2017-12-27 09:00:02'
              createdById: 2c92c0f958fffd7d015914aeefc71a5d
              updatedDate: '2017-12-28 09:00:06'
              updatedById: 2c92c0f958fffd7d015914aeefc71a5d
              success: true
          schema:
            $ref: '#/definitions/GETPaymentRunType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"accountId\": \"402890245f097f39015f0e9fcdd60558\"\
          , \n    \"autoApplyCreditMemo\": \"true\", \n    \"autoApplyUnappliedPayment\"\
          : \"true\", \n    \"consolidatedPayment\": \"true\", \n    \"processPaymentWithClosedPM\"\
          : \"true\", \n    \"targetDate\": \"2017-10-10\"\n}' \"https://rest.zuora.com/v1/payment-runs\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/payment-runs');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"accountId\": \"402890245f097f39015f0e9fcdd60558\"\
          , \n    \"autoApplyCreditMemo\": \"true\", \n    \"autoApplyUnappliedPayment\"\
          : \"true\", \n    \"consolidatedPayment\": \"true\", \n    \"processPaymentWithClosedPM\"\
          : \"true\", \n    \"targetDate\": \"2017-10-10\"\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"accountId\": \"402890245f097f39015f0e9fcdd60558\", \n    \"autoApplyCreditMemo\": \"true\", \n    \"autoApplyUnappliedPayment\": \"true\", \n    \"consolidatedPayment\": \"true\", \n    \"processPaymentWithClosedPM\": \"true\", \n    \"targetDate\": \"2017-10-10\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payment-runs")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"accountId\": \"402890245f097f39015f0e9fcdd60558\", \n    \"autoApplyCreditMemo\": \"true\", \n    \"autoApplyUnappliedPayment\": \"true\", \n    \"consolidatedPayment\": \"true\", \n    \"processPaymentWithClosedPM\": \"true\", \n    \"targetDate\": \"2017-10-10\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/payment-runs", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payment-runs")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"accountId\": \"402890245f097f39015f0e9fcdd60558\", \n    \"autoApplyCreditMemo\": \"true\", \n    \"autoApplyUnappliedPayment\": \"true\", \n    \"consolidatedPayment\": \"true\", \n    \"processPaymentWithClosedPM\": \"true\", \n    \"targetDate\": \"2017-10-10\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payment-runs");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"accountId\": \"402890245f097f39015f0e9fcdd60558\", \n    \"autoApplyCreditMemo\": \"true\", \n    \"autoApplyUnappliedPayment\": \"true\", \n    \"consolidatedPayment\": \"true\", \n    \"processPaymentWithClosedPM\": \"true\", \n    \"targetDate\": \"2017-10-10\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      description: "Retrieves the information about all payment runs. You can define\
        \ filterable fields to restrict the data returned in the response.\n\n###\
        \ Filtering\n\nYou can use query parameters to restrict the data returned\
        \ in the response. Each query parameter corresponds to one field in the response\
        \ body.\n\nIf the value of a filterable field is string, you can set the corresponding\
        \ query parameter to `null` when filtering. Then, you can get the response\
        \ data with this field value being `null`. \n\nExamples:\n\n- /v1/payment-runs?status=Processed\n\
        \n- /v1/payment-runs?targetDate=2017-10-10&status=Pending\n\n- /v1/payment-runs?status=Completed&sort=+updatedDate\n"
      summary: Get payment runs
      operationId: GET_PaymentRuns
      tags:
      - Payment Runs
      produces:
      - application/json
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - name: createdById
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `createdById`
          field.

          '
      - name: createdDate
        in: query
        type: string
        format: date-time
        required: false
        description: 'This parameter filters the response based on the `createdDate`
          field.

          '
      - name: status
        in: query
        type: string
        enum:
        - Pending
        - Processing
        - Completed
        - Error
        - Canceled
        required: false
        description: 'This parameter filters the response based on the `status` field.

          '
      - name: targetDate
        in: query
        type: string
        format: date
        required: false
        description: 'This parameter filters the response based on the `targetDate`
          field.

          '
      - name: updatedById
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `updatedById`
          field.

          '
      - name: updatedDate
        in: query
        type: string
        format: date-time
        required: false
        description: 'This parameter filters the response based on the `updatedDate`
          field.

          '
      - name: sort
        in: query
        type: string
        required: false
        description: "This parameter restricts the order of the data returned in the\
          \ response. You can use this parameter to supply a dimension you want to\
          \ sort on.\n\nA sortable field uses the following form: \n\n*operator* *field_name*\n\
          \nYou can use at most two sortable fields in one URL path. Use a comma to\
          \ separate sortable fields. For example:  *operator* *field_name*, *operator*\
          \ *field_name*  \n\n*operator* is used to mark the order of sequencing.\
          \ The operator is optional. If you only specify the sortable field without\
          \ any operator, the response data is sorted in descending order by this\
          \ field.\n\n  - The `-` operator indicates an ascending order.\n  - The\
          \ `+` operator indicates a descending order.\n\nBy default, the response\
          \ data is displayed in descending order by payment run number.\n\n*field_name*\
          \ indicates the name of a sortable field. The supported sortable fields\
          \ of this operation are as below:\n\n  - targetDate\n  - status\n  - createdDate\n\
          \  - createdById\n  - updatedDate\n  - updatedById\n\nExamples:\n\n- /v1/payment-runs?sort=+createdDate\n\
          \n- /v1/payment-runs?status=Processing&sort=-createdById,+targetDate\n"
      responses:
        200:
          description: ''
          examples:
            application/json:
              paymentRuns:
              - id: 2c92c0856078bbcb016096576ccb75ca
                number: PR-00002121
                targetDate: '2017-12-28'
                runDate: null
                status: Completed
                executedOn: '2017-12-28 13:00:00'
                completedOn: '2017-12-28 13:00:00'
                applyCreditBalance: false
                consolidatedPayment: false
                processPaymentWithClosedPM: false
                collectPayment: true
                createdDate: '2017-12-27 13:00:00'
                createdById: 2c92c0f956bc8fcb0156f8eee04b4d54
                updatedDate: '2017-12-28 13:00:00'
                updatedById: 2c92c0f956bc8fcb0156f8eee04b4d54
              nextPage: /payment-runs?page=2
              success: true
          schema:
            $ref: '#/definitions/GETPaymentRunCollectionType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/payment-runs"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/payment-runs');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payment-runs")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/payment-runs", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payment-runs")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payment-runs");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/payment-runs/{paymentRunId}:
    put:
      summary: Update payment run
      operationId: PUT_PaymentRun
      description: |
        Updates the information about an unexecuted payment run. Only pending payment runs can be updated.

        If none of the **accountId**, **batch**, **billCycleDay**, **currency**, **paymentGatewayId**, and **billingRunId** fields is specified in the request body, the corresponding payment run collects payments for all accounts.
      tags:
      - Payment Runs
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - in: path
        name: paymentRunId
        description: 'The unique ID of a payment run. For example, 402890245f097f39015f0f074a2e0566.

          '
        required: true
        type: string
        format: uuid
      - in: body
        name: body
        required: true
        description: ''
        schema:
          $ref: '#/definitions/PUTPaymentRunRequest'
      responses:
        200:
          description: ''
          examples:
            application/json:
              id: 402890245f097f39015f0f074a2e0566
              number: PR-00000391
              status: Pending
              rundate: null
              targetDate: '2017-10-12'
              completedOn: null
              accountId: 402890245f097f39015f0e9fcdd60558
              executedOn: null
              autoApplyCreditMemo: true
              autoApplyUnappliedPayment: true
              consolidatedPayment: true
              processPaymentWithClosedPM: true
              collectPayment: true
              createdDate: '2017-09-22 12:37:22'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-09-22 12:37:22'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              success: true
          schema:
            $ref: '#/definitions/GETPaymentRunType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"autoApplyCreditMemo\"\
          : \"true\", \n    \"autoApplyUnappliedPayment\": \"true\", \n    \"consolidatedPayment\"\
          : \"true\", \n    \"processPaymentWithClosedPM\": \"true\", \n    \"targetDate\"\
          : \"2017-10-12\"\n}' \"https://rest.zuora.com/v1/payment-runs/{paymentRunId}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/payment-runs/{paymentRunId}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"autoApplyCreditMemo\": \"true\", \n \
          \   \"autoApplyUnappliedPayment\": \"true\", \n    \"consolidatedPayment\"\
          : \"true\", \n    \"processPaymentWithClosedPM\": \"true\", \n    \"targetDate\"\
          : \"2017-10-12\"\n}');\n\ntry {\n  $response = $request->send();\n\n  echo\
          \ $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"autoApplyCreditMemo\": \"true\", \n    \"autoApplyUnappliedPayment\": \"true\", \n    \"consolidatedPayment\": \"true\", \n    \"processPaymentWithClosedPM\": \"true\", \n    \"targetDate\": \"2017-10-12\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payment-runs/{paymentRunId}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"autoApplyCreditMemo\": \"true\", \n    \"autoApplyUnappliedPayment\": \"true\", \n    \"consolidatedPayment\": \"true\", \n    \"processPaymentWithClosedPM\": \"true\", \n    \"targetDate\": \"2017-10-12\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/payment-runs/{paymentRunId}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payment-runs/{paymentRunId}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"autoApplyCreditMemo\": \"true\", \n    \"autoApplyUnappliedPayment\": \"true\", \n    \"consolidatedPayment\": \"true\", \n    \"processPaymentWithClosedPM\": \"true\", \n    \"targetDate\": \"2017-10-12\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payment-runs/{paymentRunId}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"autoApplyCreditMemo\": \"true\", \n    \"autoApplyUnappliedPayment\": \"true\", \n    \"consolidatedPayment\": \"true\", \n    \"processPaymentWithClosedPM\": \"true\", \n    \"targetDate\": \"2017-10-12\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      summary: Get payment run
      operationId: GET_PaymentRun
      description: 'Retrives the information about a specific payment run.

        '
      tags:
      - Payment Runs
      produces:
      - application/json
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - in: path
        name: paymentRunId
        description: 'The unique ID of a payment run. For example, 402890245f097f39015f0f074a2e0566.

          '
        required: true
        type: string
        format: uuid
      responses:
        200:
          description: ''
          examples:
            application/json:
              id: 2c92c0856078bbcb0160957bbb8f0b32
              number: PR-00002120
              targetDate: '2017-12-28'
              runDate: null
              status: Completed
              executedOn: '2017-12-28 09:00:06'
              completedOn: '2017-12-28 09:00:06'
              applyCreditBalance: false
              consolidatedPayment: false
              processPaymentWithClosedPM: false
              collectPayment: true
              createdDate: '2017-12-27 09:00:02'
              createdById: 2c92c0f958fffd7d015914aeefc71a5d
              updatedDate: '2017-12-28 09:00:06'
              updatedById: 2c92c0f958fffd7d015914aeefc71a5d
              success: true
          schema:
            $ref: '#/definitions/GETPaymentRunType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/payment-runs/{paymentRunId}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/payment-runs/{paymentRunId}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payment-runs/{paymentRunId}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/payment-runs/{paymentRunId}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payment-runs/{paymentRunId}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payment-runs/{paymentRunId}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    delete:
      summary: Delete payment run
      operationId: DELETE_PaymentRun
      description: 'Deletes a payment run. Only payment runs with the Canceled or
        Error status can be deleted.

        '
      tags:
      - Payment Runs
      produces:
      - application/json
      parameters:
      - in: path
        name: paymentRunId
        description: 'The unique ID of a payment run. For example, 402890245f097f39015f0f074a2e0566.

          '
        required: true
        type: string
        format: uuid
      responses:
        200:
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
          examples:
            application/json:
              success: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/payment-runs/{paymentRunId}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/payment-runs/{paymentRunId}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payment-runs/{paymentRunId}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/payment-runs/{paymentRunId}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payment-runs/{paymentRunId}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payment-runs/{paymentRunId}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/payment-runs/{paymentRunId}/summary:
    get:
      summary: Get payment run summary
      operationId: GET_PaymentRunSummary
      description: 'Retrives the summary of a payment run.

        '
      tags:
      - Payment Runs
      produces:
      - application/json
      parameters:
      - in: path
        name: paymentRunId
        description: 'The unique ID of a payment run. For example, 402890245f097f39015f0f074a2e0566.

          '
        required: true
        type: string
        format: uuid
      responses:
        200:
          description: ''
          examples:
            application/json:
              numberOfErrors: 0
              numberOfReceivables: 1
              numberOfPayments: 1
              numberOfUnprocessedReceivables: 0
              numberOfCreditBalanceAdjustments: 0
              numberOfInvoices: 0
              numberOfUnprocessedInvoices: 0
              numberOfCreditMemos: 1
              numberOfDebitMemos: 1
              numberOfUnappliedPayments: 1
              numberOfUnprocessedDebitMemos: 0
              totalValues:
              - totalValueOfReceivables: 256 USD
                totalValueOfPayments: 56 USD
                totalValueOfErrors: 0 USD
                totalValueOfUnprocessedReceivables: 0 USD
                totalValueOfCreditBalance: 0 USD
                totalValueOfInvoices: 0 USD
                totalValueOfUnprocessedInvoices: 0 USD
                totalValueOfDebitMemos: 256 USD
                totalValueOfCreditMemos: 100 USD
                totalValueOfUnappliedPayments: 100 USD
                totalValueOfUnprocessedDebitMemos: 0 USD
              success: true
          schema:
            $ref: '#/definitions/GETPaymentRunSummaryResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/payment-runs/{paymentRunId}/summary"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/payment-runs/{paymentRunId}/summary');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payment-runs/{paymentRunId}/summary")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/payment-runs/{paymentRunId}/summary", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payment-runs/{paymentRunId}/summary")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payment-runs/{paymentRunId}/summary");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/payments:
    post:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nCreates a payment\
        \ for the following scenarios:\n\n- A full payment on an invoice or debit\
        \ memo\n- A partial payment\n- A payment for several invoices and debit memos\n\
        - An unapplied payment \n\nIf you do not know to which customer account the\
        \ payment belongs, you can create a payment without specifying a customer\
        \ account.\n\nWhen creating a payment, the total number of invoices and debit\
        \ memos that the payment will apply to should be less than or equal to 1,000.\n\
        \nIf the Proration application rule is used, when creating a payment, the\
        \ following quantity must be less than or equal to 10,000: \n\n(number of\
        \ invoice items + number of debit memo items) * number of payment items\n\n\
        Otherwise, the First In First Out rule will be used instead of the Proration\
        \ rule.\n\nFor more information, see [Create Payments](https://knowledgecenter.zuora.com/CB_Billing/Invoice_Settlement/A_Unapplied_Payments/Management_of_Unapplied_Payments/AA_Create_Payments)\
        \ and [Create Payments Without Specifying Customer Accounts](https://knowledgecenter.zuora.com/CB_Billing/Invoice_Settlement/A_Unapplied_Payments/Management_of_Unapplied_Payments/AA_Create_Payments_Without_Specifying_Customer_Accounts).\n\
        \    \n"
      summary: Create payment
      operationId: POST_CreatePayment
      tags:
      - Payments
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 4028905f5a87c0ff015a87eb6b75007f
              number: P-00000001
              status: Processed
              type: External
              accountId: 4028905f5a87c0ff015a87d25ae90025
              amount: 44.1
              appliedAmount: 44.1
              unappliedAmount: 0
              refundAmount: 0
              creditBalanceAmount: 0
              currency: USD
              effectiveDate: '2017-03-01'
              comment: normal payment
              paymentMethodId: 402881e522cf4f9b0122cf5dc4020045
              paymentMethodSnapshotId: null
              authTransactionId: null
              bankIdentificationNumber: null
              gatewayId: null
              gatewayOrderId: null
              gatewayResponse: null
              gatewayResponseCode: null
              gatewayState: NotSubmitted
              markedForSubmissionOn: null
              referenceId: null
              secondPaymentReferenceId: null
              softDescriptor: null
              softDescriptorPhone: null
              submittedOn: null
              settledOn: null
              cancelledOn: null
              createdDate: '2017-03-01 11:30:37'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 11:30:37'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              financeInformation:
                bankAccountAccountingCode: null
                bankAccountAccountingCodeType: null
                unappliedPaymentAccountingCode: null
                unappliedPaymentAccountingCodeType: null
                transferredToAccounting: 'No'
              success: true
          schema:
            $ref: '#/definitions/GETARPaymentType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: body
        in: body
        required: true
        description: ''
        schema:
          $ref: '#/definitions/CreatePaymentType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"accountId\": \"4028905f5a87c0ff015a87d25ae90025\"\
          , \n    \"amount\": 44.1, \n    \"comment\": \"normal payment\", \n    \"\
          currency\": \"USD\", \n    \"debitMemos\": [\n        {\n            \"\
          amount\": 4.1, \n            \"debitMemoId\": \"4028905f5a87c0ff015a87e49e6b0062\"\
          , \n            \"items\": [\n                {\n                    \"\
          amount\": 4, \n                    \"debitMemoItemId\": \"4028905f5a87c0ff015a87e49e7a0063\"\
          \n                }, \n                {\n                    \"amount\"\
          : 0.1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87e49f5e0065\"\
          \n                }\n            ]\n        }\n    ], \n    \"effectiveDate\"\
          : \"2017-03-01\", \n    \"invoices\": [\n        {\n            \"amount\"\
          : 40, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\"\
          , \n            \"items\": [\n                {\n                    \"\
          amount\": 39, \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\
          \n                }, \n                {\n                    \"amount\"\
          : 1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\
          \n                }\n            ]\n        }\n    ], \n    \"paymentMethodId\"\
          : \"402881e522cf4f9b0122cf5dc4020045\", \n    \"type\": \"External\"\n}'\
          \ \"https://rest.zuora.com/v1/payments\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/payments');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"accountId\": \"4028905f5a87c0ff015a87d25ae90025\"\
          , \n    \"amount\": 44.1, \n    \"comment\": \"normal payment\", \n    \"\
          currency\": \"USD\", \n    \"debitMemos\": [\n        {\n            \"\
          amount\": 4.1, \n            \"debitMemoId\": \"4028905f5a87c0ff015a87e49e6b0062\"\
          , \n            \"items\": [\n                {\n                    \"\
          amount\": 4, \n                    \"debitMemoItemId\": \"4028905f5a87c0ff015a87e49e7a0063\"\
          \n                }, \n                {\n                    \"amount\"\
          : 0.1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87e49f5e0065\"\
          \n                }\n            ]\n        }\n    ], \n    \"effectiveDate\"\
          : \"2017-03-01\", \n    \"invoices\": [\n        {\n            \"amount\"\
          : 40, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\"\
          , \n            \"items\": [\n                {\n                    \"\
          amount\": 39, \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\
          \n                }, \n                {\n                    \"amount\"\
          : 1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\
          \n                }\n            ]\n        }\n    ], \n    \"paymentMethodId\"\
          : \"402881e522cf4f9b0122cf5dc4020045\", \n    \"type\": \"External\"\n}');\n\
          \ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"accountId\": \"4028905f5a87c0ff015a87d25ae90025\", \n    \"amount\": 44.1, \n    \"comment\": \"normal payment\", \n    \"currency\": \"USD\", \n    \"debitMemos\": [\n        {\n            \"amount\": 4.1, \n            \"debitMemoId\": \"4028905f5a87c0ff015a87e49e6b0062\", \n            \"items\": [\n                {\n                    \"amount\": 4, \n                    \"debitMemoItemId\": \"4028905f5a87c0ff015a87e49e7a0063\"\n                }, \n                {\n                    \"amount\": 0.1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87e49f5e0065\"\n                }\n            ]\n        }\n    ], \n    \"effectiveDate\": \"2017-03-01\", \n    \"invoices\": [\n        {\n            \"amount\": 40, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\", \n            \"items\": [\n                {\n                    \"amount\": 39, \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\n                }, \n                {\n                    \"amount\": 1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\n                }\n            ]\n        }\n    ], \n    \"paymentMethodId\": \"402881e522cf4f9b0122cf5dc4020045\", \n    \"type\": \"External\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payments")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"accountId\": \"4028905f5a87c0ff015a87d25ae90025\", \n    \"amount\": 44.1, \n    \"comment\": \"normal payment\", \n    \"currency\": \"USD\", \n    \"debitMemos\": [\n        {\n            \"amount\": 4.1, \n            \"debitMemoId\": \"4028905f5a87c0ff015a87e49e6b0062\", \n            \"items\": [\n                {\n                    \"amount\": 4, \n                    \"debitMemoItemId\": \"4028905f5a87c0ff015a87e49e7a0063\"\n                }, \n                {\n                    \"amount\": 0.1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87e49f5e0065\"\n                }\n            ]\n        }\n    ], \n    \"effectiveDate\": \"2017-03-01\", \n    \"invoices\": [\n        {\n            \"amount\": 40, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\", \n            \"items\": [\n                {\n                    \"amount\": 39, \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\n                }, \n                {\n                    \"amount\": 1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\n                }\n            ]\n        }\n    ], \n    \"paymentMethodId\": \"402881e522cf4f9b0122cf5dc4020045\", \n    \"type\": \"External\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/payments", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payments")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"accountId\": \"4028905f5a87c0ff015a87d25ae90025\", \n    \"amount\": 44.1, \n    \"comment\": \"normal payment\", \n    \"currency\": \"USD\", \n    \"debitMemos\": [\n        {\n            \"amount\": 4.1, \n            \"debitMemoId\": \"4028905f5a87c0ff015a87e49e6b0062\", \n            \"items\": [\n                {\n                    \"amount\": 4, \n                    \"debitMemoItemId\": \"4028905f5a87c0ff015a87e49e7a0063\"\n                }, \n                {\n                    \"amount\": 0.1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87e49f5e0065\"\n                }\n            ]\n        }\n    ], \n    \"effectiveDate\": \"2017-03-01\", \n    \"invoices\": [\n        {\n            \"amount\": 40, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\", \n            \"items\": [\n                {\n                    \"amount\": 39, \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\n                }, \n                {\n                    \"amount\": 1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\n                }\n            ]\n        }\n    ], \n    \"paymentMethodId\": \"402881e522cf4f9b0122cf5dc4020045\", \n    \"type\": \"External\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payments");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"accountId\": \"4028905f5a87c0ff015a87d25ae90025\", \n    \"amount\": 44.1, \n    \"comment\": \"normal payment\", \n    \"currency\": \"USD\", \n    \"debitMemos\": [\n        {\n            \"amount\": 4.1, \n            \"debitMemoId\": \"4028905f5a87c0ff015a87e49e6b0062\", \n            \"items\": [\n                {\n                    \"amount\": 4, \n                    \"debitMemoItemId\": \"4028905f5a87c0ff015a87e49e7a0063\"\n                }, \n                {\n                    \"amount\": 0.1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87e49f5e0065\"\n                }\n            ]\n        }\n    ], \n    \"effectiveDate\": \"2017-03-01\", \n    \"invoices\": [\n        {\n            \"amount\": 40, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\", \n            \"items\": [\n                {\n                    \"amount\": 39, \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\n                }, \n                {\n                    \"amount\": 1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\n                }\n            ]\n        }\n    ], \n    \"paymentMethodId\": \"402881e522cf4f9b0122cf5dc4020045\", \n    \"type\": \"External\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nRetrieves the\
        \ information about all payments from all your customer accounts.\n\n### Filtering\n\
        \nYou can use query parameters to restrict the data returned in the response.\
        \ Each query parameter corresponds to one field in the response body.\n\n\
        If the value of a filterable field is string, you can set the corresponding\
        \ query parameter to `null` when filtering. Then, you can get the response\
        \ data with this field value being `null`.\n\nExamples:\n\n- /v1/payments?status=Processed\n\
        \n- /v1/payments?currency=USD&status=Processed\n\n- /v1/payments?status=Processed&type=External&sort=+number\n"
      summary: Get all payments
      operationId: GET_RetrieveAllPayments
      tags:
      - Payments
      responses:
        '200':
          description: ''
          examples:
            application/json:
              payments:
              - id: 4028905f5a87c0ff015a87eb6b75007f
                number: P-00000001
                status: Processed
                type: External
                accountId: 4028905f5a87c0ff015a87d25ae90025
                amount: 44.1
                appliedAmount: 44.1
                unappliedAmount: 0
                refundAmount: 0
                creditBalanceAmount: 0
                currency: USD
                effectiveDate: '2017-03-01'
                comment: normal payment
                paymentMethodId: 402881e522cf4f9b0122cf5dc4020045
                paymentMethodSnapshotId: null
                authTransactionId: null
                bankIdentificationNumber: null
                gatewayId: null
                gatewayOrderId: null
                gatewayResponse: null
                gatewayResponseCode: null
                gatewayState: NotSubmitted
                markedForSubmissionOn: null
                referenceId: null
                secondPaymentReferenceId: null
                softDescriptor: null
                softDescriptorPhone: null
                submittedOn: null
                settledOn: null
                cancelledOn: null
                createdDate: '2017-03-01 11:30:37'
                createdById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2017-03-01 11:30:37'
                updatedById: 402881e522cf4f9b0122cf5d82860002
                financeInformation:
                  bankAccountAccountingCode: null
                  bankAccountAccountingCodeType: null
                  unappliedPaymentAccountingCode: null
                  unappliedPaymentAccountingCodeType: null
                  transferredToAccounting: 'No'
              success: true
          schema:
            $ref: '#/definitions/PaymentCollectionResponseType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - name: accountId
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `accountId`
          field.

          '
      - name: amount
        in: query
        type: number
        format: double
        required: false
        description: 'This parameter filters the response based on the `amount` field.

          '
      - name: appliedAmount
        in: query
        type: number
        format: double
        required: false
        description: 'This parameter filters the response based on the `appliedAmount`
          field.

          '
      - name: createdById
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `createdById`
          field.

          '
      - name: createdDate
        in: query
        type: string
        format: date-time
        required: false
        description: 'This parameter filters the response based on the `createdDate`
          field.

          '
      - name: creditBalanceAmount
        in: query
        type: number
        format: double
        required: false
        description: 'This parameter filters the response based on the `creditBalanceAmount`
          field.

          '
      - name: currency
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `currency`
          field.

          '
      - name: effectiveDate
        in: query
        type: string
        format: date-time
        required: false
        description: 'This parameter filters the response based on the `effectiveDate`
          field.

          '
      - name: number
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `number` field.

          '
      - name: refundAmount
        in: query
        type: number
        format: double
        required: false
        description: 'This parameter filters the response based on the `refundAmount`
          field.

          '
      - name: status
        in: query
        type: string
        enum:
        - Draft
        - Processing
        - Processed
        - Error
        - Canceled
        - Posted
        required: false
        description: 'This parameter filters the response based on the `status` field.

          '
      - name: type
        in: query
        type: string
        enum:
        - External
        - Electronic
        required: false
        description: 'This parameter filters the response based on the `type` field.

          '
      - name: unappliedAmount
        in: query
        type: number
        format: double
        required: false
        description: 'This parameter filters the response based on the `unappliedAmount`
          field.

          '
      - name: updatedById
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `updatedById`
          field.

          '
      - name: updatedDate
        in: query
        type: string
        format: date-time
        required: false
        description: 'This parameter filters the response based on the `updatedDate`
          field.

          '
      - name: sort
        in: query
        type: string
        required: false
        description: "This parameter restricts the order of the data returned in the\
          \ response. You can use this parameter to supply a dimension you want to\
          \ sort on.\n\nA sortable field uses the following form: \n\n*operator* *field_name*\n\
          \nYou can use at most two sortable fields in one URL path. Use a comma to\
          \ separate sortable fields. For example:  *operator* *field_name*, *operator*\
          \ *field_name*  \n\n*operator* is used to mark the order of sequencing.\
          \ The operator is optional. If you only specify the sortable field without\
          \ any operator, the response data is sorted in descending order by this\
          \ field.\n\n  - The `-` operator indicates an ascending order.\n  - The\
          \ `+` operator indicates a descending order.\n\nBy default, the response\
          \ data is displayed in descending order by payment number.\n\n*field_name*\
          \ indicates the name of a sortable field. The supported sortable fields\
          \ of this operation are as below:\n\n  - number\n  - accountId\n  - amount\n\
          \  - appliedAmount\n  - unappliedAmount\n  - refundAmount\n  - creditBalanceAmount\n\
          \  - effectiveDate\n  - createdDate\n  - createdById\n  - updatedDate\n\
          \  - updatedById\n  \nExamples:\n\n- /v1/payments?sort=+number\n\n- /v1/payments?status=Processed&sort=-number,+amount\n"
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/payments"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/payments');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payments")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/payments", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payments")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payments");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/payments/{paymentId}:
    put:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nUpdates a payment.\n"
      summary: Update payment
      operationId: PUT_UpdatePayment
      tags:
      - Payments
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 4028905f5a87c0ff015a87eb6b75007f
              number: P-00000001
              status: Processed
              type: External
              accountId: 4028905f5a87c0ff015a88889fe500a8
              amount: 44.1
              appliedAmount: 0
              unappliedAmount: 44.1
              refundAmount: 0
              creditBalanceAmount: 0
              currency: USD
              effectiveDate: '2017-03-01'
              comment: new comment
              paymentMethodId: 402881e522cf4f9b0122cf5dc4020045
              paymentMethodSnapshotId: null
              authTransactionId: null
              bankIdentificationNumber: null
              gatewayId: null
              gatewayOrderId: null
              gatewayResponse: null
              gatewayResponseCode: null
              gatewayState: NotSubmitted
              markedForSubmissionOn: null
              referenceId: null
              secondPaymentReferenceId: null
              softDescriptor: null
              softDescriptorPhone: null
              submittedOn: null
              settledOn: null
              cancelledOn: null
              createdDate: '2017-03-01 11:30:37'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 14:25:34'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              financeInformation:
                bankAccountAccountingCode: null
                bankAccountAccountingCodeType: null
                unappliedPaymentAccountingCode: null
                unappliedPaymentAccountingCodeType: null
                transferredToAccounting: 'No'
              success: true
          schema:
            $ref: '#/definitions/GETARPaymentType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: body
        in: body
        required: true
        description: ''
        schema:
          $ref: '#/definitions/UpdatePaymentType'
      - type: string
        in: path
        name: paymentId
        required: true
        description: 'The unique ID of an unapplied payment. For example, 8a8082e65b27f6c3015b89e4344c16b1.

          '
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"comment\": \"new comment\"\
          , \n    \"financeInformation\": {\n        \"transferredToAccounting\":\
          \ \"No\"\n    }\n}' \"https://rest.zuora.com/v1/payments/{paymentId}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/payments/{paymentId}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"comment\": \"new comment\", \n    \"\
          financeInformation\": {\n        \"transferredToAccounting\": \"No\"\n \
          \   }\n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"comment\": \"new comment\", \n    \"financeInformation\": {\n        \"transferredToAccounting\": \"No\"\n    }\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payments/{paymentId}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"comment\": \"new comment\", \n    \"financeInformation\": {\n        \"transferredToAccounting\": \"No\"\n    }\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/payments/{paymentId}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payments/{paymentId}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"comment\": \"new comment\", \n    \"financeInformation\": {\n        \"transferredToAccounting\": \"No\"\n    }\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payments/{paymentId}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"comment\": \"new comment\", \n    \"financeInformation\": {\n        \"transferredToAccounting\": \"No\"\n    }\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nRetrieves the\
        \ information about one specific payment.\n"
      summary: Get payment
      operationId: GET_Payment
      tags:
      - Payments
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 4028905f5a87c0ff015a87eb6b75007f
              number: P-00000001
              status: Processed
              type: External
              accountId: 4028905f5a87c0ff015a87d25ae90025
              amount: 44.1
              appliedAmount: 44.1
              unappliedAmount: 0
              refundAmount: 0
              creditBalanceAmount: 0
              currency: USD
              effectiveDate: '2017-03-01'
              comment: normal payment
              paymentMethodId: 402881e522cf4f9b0122cf5dc4020045
              paymentMethodSnapshotId: null
              authTransactionId: null
              bankIdentificationNumber: null
              gatewayId: null
              gatewayOrderId: null
              gatewayResponse: null
              gatewayResponseCode: null
              gatewayState: NotSubmitted
              markedForSubmissionOn: null
              referenceId: null
              secondPaymentReferenceId: null
              softDescriptor: null
              softDescriptorPhone: null
              submittedOn: null
              settledOn: null
              cancelledOn: null
              createdDate: '2017-03-01 11:30:37'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 11:30:37'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              financeInformation:
                bankAccountAccountingCode: null
                bankAccountAccountingCodeType: null
                unappliedPaymentAccountingCode: null
                unappliedPaymentAccountingCodeType: null
                transferredToAccounting: 'No'
              success: true
          schema:
            $ref: '#/definitions/GETARPaymentType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: paymentId
        required: true
        description: 'The unique ID of a payment. For example, 8a8082e65b27f6c3015b89e4344c16b1.

          '
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/payments/{paymentId}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/payments/{paymentId}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payments/{paymentId}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/payments/{paymentId}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payments/{paymentId}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payments/{paymentId}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    delete:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nDeletes a payment.\
        \ Only payments with the Cancelled status can be deleted. \n\nIf you have\
        \ the Invoice Settlement feature enabled, overpayments applied to credit balance\
        \ cannot be deleted.\n"
      summary: Delete payment
      operationId: DELETE_Payment
      tags:
      - Payments
      responses:
        '200':
          description: ''
          examples:
            application/json:
              success: true
          schema:
            $ref: '#/definitions/CommonResponseType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: paymentId
        required: true
        description: 'The unique ID of an unapplied payment. For example, 8a8082e65b27f6c3015b89e4344c16b1.

          '
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/payments/{paymentId}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/payments/{paymentId}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payments/{paymentId}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/payments/{paymentId}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payments/{paymentId}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payments/{paymentId}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/payments/{paymentId}/transfer:
    put:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nTransfers an unapplied\
        \ payment.\n\nFor more information, see [Transfer Unapplied Payments](https://knowledgecenter.zuora.com/CB_Billing/Invoice_Settlement/A_Unapplied_Payments/Management_of_Unapplied_Payments/Transfer_Unapplied_Payments).\n"
      summary: Transfer payment
      operationId: PUT_TransferPayment
      tags:
      - Payments
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 4028905f5a87c0ff015a87eb6b75007f
              number: P-00000001
              status: Processed
              type: External
              accountId: 4028905f5a87c0ff015a88889fe500a8
              amount: 44.1
              appliedAmount: 0
              unappliedAmount: 44.1
              refundAmount: 0
              creditBalanceAmount: 0
              currency: USD
              effectiveDate: '2017-03-01'
              comment: normal payment
              paymentMethodId: 402881e522cf4f9b0122cf5dc4020045
              paymentMethodSnapshotId: null
              authTransactionId: null
              bankIdentificationNumber: null
              gatewayId: null
              gatewayOrderId: null
              gatewayResponse: null
              gatewayResponseCode: null
              gatewayState: NotSubmitted
              markedForSubmissionOn: null
              referenceId: null
              secondPaymentReferenceId: null
              softDescriptor: null
              softDescriptorPhone: null
              submittedOn: null
              settledOn: null
              cancelledOn: null
              createdDate: '2017-03-01 11:30:37'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 14:22:58'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              financeInformation:
                bankAccountAccountingCode: null
                bankAccountAccountingCodeType: null
                unappliedPaymentAccountingCode: null
                unappliedPaymentAccountingCodeType: null
                transferredToAccounting: 'No'
              success: true
          schema:
            $ref: '#/definitions/GETARPaymentType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: body
        in: body
        required: true
        description: ''
        schema:
          $ref: '#/definitions/TransferPaymentType'
      - type: string
        in: path
        name: paymentId
        required: true
        description: 'The unique ID of an unapplied payment. For example, 8a8082e65b27f6c3015b89e4344c16b1.

          '
      x-code-samples:
      - lang: Curl
        source: |-
          curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3" -H "Content-Type: application/json" -d '{
              "accountId": "4028905f5a87c0ff015a88889fe500a8"
          }' "https://rest.zuora.com/v1/payments/{paymentId}/transfer"
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/payments/{paymentId}/transfer');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{
              "accountId": "4028905f5a87c0ff015a88889fe500a8"
          }');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"accountId\": \"4028905f5a87c0ff015a88889fe500a8\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payments/{paymentId}/transfer")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"accountId\": \"4028905f5a87c0ff015a88889fe500a8\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/payments/{paymentId}/transfer", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payments/{paymentId}/transfer")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"accountId\": \"4028905f5a87c0ff015a88889fe500a8\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payments/{paymentId}/transfer");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"accountId\": \"4028905f5a87c0ff015a88889fe500a8\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/payments/{paymentId}/apply:
    put:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nApplies an unapplied\
        \ payment to invoices and debit memos.\n\nWhen applying a payment, the total\
        \ number of invoices and debit memos that the payment will apply to must be\
        \ less than or equal to 1,000.\n\nIf the Proration application rule is used,\
        \ when applying a payment, the following quantity must be less than or equal\
        \ to 10,000: \n\n(number of invoice items + number of debit memo items) *\
        \ number of payment items\n\nOtherwise, the First In First Out rule will be\
        \ used instead of the Proration rule.\n\n\nFor more information, see [Apply\
        \ Unapplied Payments to Invoices and Debit Memos](https://knowledgecenter.zuora.com/CB_Billing/Invoice_Settlement/A_Unapplied_Payments/Management_of_Unapplied_Payments/Apply_Unapplied_Payments_to_Invoices_and_Debit_Memos).\n"
      summary: Apply payment
      operationId: PUT_ApplyPayment
      tags:
      - Payments
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 4028905f5a87c0ff015a87eb6b75007f
              number: P-00000001
              status: Processed
              type: External
              accountId: 4028905f5a87c0ff015a87d25ae90025
              amount: 44.1
              appliedAmount: 44.1
              unappliedAmount: 0
              refundAmount: 0
              creditBalanceAmount: 0
              currency: USD
              effectiveDate: '2017-03-01'
              comment: normal payment
              paymentMethodId: 402881e522cf4f9b0122cf5dc4020045
              paymentMethodSnapshotId: null
              authTransactionId: null
              bankIdentificationNumber: null
              gatewayId: null
              gatewayOrderId: null
              gatewayResponse: null
              gatewayResponseCode: null
              gatewayState: NotSubmitted
              markedForSubmissionOn: null
              referenceId: null
              secondPaymentReferenceId: null
              softDescriptor: null
              softDescriptorPhone: null
              submittedOn: null
              settledOn: null
              cancelledOn: null
              createdDate: '2017-03-01 11:30:37'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 13:56:15'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              financeInformation:
                bankAccountAccountingCode: null
                bankAccountAccountingCodeType: null
                unappliedPaymentAccountingCode: null
                unappliedPaymentAccountingCodeType: null
                transferredToAccounting: 'No'
              success: true
          schema:
            $ref: '#/definitions/GETARPaymentType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: body
        in: body
        required: true
        description: ''
        schema:
          $ref: '#/definitions/ApplyPaymentType'
      - type: string
        in: path
        name: paymentId
        required: true
        description: 'The unique ID of an unapplied payment. For example, 8a8082e65b27f6c3015b89e4344c16b1.

          '
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"debitMemos\": [\n \
          \       {\n            \"amount\": 1.02, \n            \"debitMemoId\":\
          \ \"4028905f5a87c0ff015a87e49e6b0062\", \n            \"items\": [\n   \
          \             {\n                    \"amount\": 1, \n                 \
          \   \"debitMemoItemId\": \"4028905f5a87c0ff015a87e49e7a0063\"\n        \
          \        }, \n                {\n                    \"amount\": 0.02, \n\
          \                    \"taxItemId\": \"4028905f5a87c0ff015a87e49f5e0065\"\
          \n                }\n            ]\n        }\n    ], \n    \"effectiveDate\"\
          : \"2017-03-01\", \n    \"invoices\": [\n        {\n            \"amount\"\
          : 10.1, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\"\
          , \n            \"items\": [\n                {\n                    \"\
          amount\": 10, \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\
          \n                }, \n                {\n                    \"amount\"\
          : 0.1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\
          \n                }\n            ]\n        }\n    ]\n}' \"https://rest.zuora.com/v1/payments/{paymentId}/apply\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/payments/{paymentId}/apply');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"debitMemos\": [\n        {\n        \
          \    \"amount\": 1.02, \n            \"debitMemoId\": \"4028905f5a87c0ff015a87e49e6b0062\"\
          , \n            \"items\": [\n                {\n                    \"\
          amount\": 1, \n                    \"debitMemoItemId\": \"4028905f5a87c0ff015a87e49e7a0063\"\
          \n                }, \n                {\n                    \"amount\"\
          : 0.02, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87e49f5e0065\"\
          \n                }\n            ]\n        }\n    ], \n    \"effectiveDate\"\
          : \"2017-03-01\", \n    \"invoices\": [\n        {\n            \"amount\"\
          : 10.1, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\"\
          , \n            \"items\": [\n                {\n                    \"\
          amount\": 10, \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\
          \n                }, \n                {\n                    \"amount\"\
          : 0.1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\
          \n                }\n            ]\n        }\n    ]\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"debitMemos\": [\n        {\n            \"amount\": 1.02, \n            \"debitMemoId\": \"4028905f5a87c0ff015a87e49e6b0062\", \n            \"items\": [\n                {\n                    \"amount\": 1, \n                    \"debitMemoItemId\": \"4028905f5a87c0ff015a87e49e7a0063\"\n                }, \n                {\n                    \"amount\": 0.02, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87e49f5e0065\"\n                }\n            ]\n        }\n    ], \n    \"effectiveDate\": \"2017-03-01\", \n    \"invoices\": [\n        {\n            \"amount\": 10.1, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\", \n            \"items\": [\n                {\n                    \"amount\": 10, \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\n                }, \n                {\n                    \"amount\": 0.1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\n                }\n            ]\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payments/{paymentId}/apply")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"debitMemos\": [\n        {\n            \"amount\": 1.02, \n            \"debitMemoId\": \"4028905f5a87c0ff015a87e49e6b0062\", \n            \"items\": [\n                {\n                    \"amount\": 1, \n                    \"debitMemoItemId\": \"4028905f5a87c0ff015a87e49e7a0063\"\n                }, \n                {\n                    \"amount\": 0.02, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87e49f5e0065\"\n                }\n            ]\n        }\n    ], \n    \"effectiveDate\": \"2017-03-01\", \n    \"invoices\": [\n        {\n            \"amount\": 10.1, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\", \n            \"items\": [\n                {\n                    \"amount\": 10, \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\n                }, \n                {\n                    \"amount\": 0.1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\n                }\n            ]\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/payments/{paymentId}/apply", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payments/{paymentId}/apply")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"debitMemos\": [\n        {\n            \"amount\": 1.02, \n            \"debitMemoId\": \"4028905f5a87c0ff015a87e49e6b0062\", \n            \"items\": [\n                {\n                    \"amount\": 1, \n                    \"debitMemoItemId\": \"4028905f5a87c0ff015a87e49e7a0063\"\n                }, \n                {\n                    \"amount\": 0.02, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87e49f5e0065\"\n                }\n            ]\n        }\n    ], \n    \"effectiveDate\": \"2017-03-01\", \n    \"invoices\": [\n        {\n            \"amount\": 10.1, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\", \n            \"items\": [\n                {\n                    \"amount\": 10, \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\n                }, \n                {\n                    \"amount\": 0.1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\n                }\n            ]\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payments/{paymentId}/apply");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"debitMemos\": [\n        {\n            \"amount\": 1.02, \n            \"debitMemoId\": \"4028905f5a87c0ff015a87e49e6b0062\", \n            \"items\": [\n                {\n                    \"amount\": 1, \n                    \"debitMemoItemId\": \"4028905f5a87c0ff015a87e49e7a0063\"\n                }, \n                {\n                    \"amount\": 0.02, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87e49f5e0065\"\n                }\n            ]\n        }\n    ], \n    \"effectiveDate\": \"2017-03-01\", \n    \"invoices\": [\n        {\n            \"amount\": 10.1, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\", \n            \"items\": [\n                {\n                    \"amount\": 10, \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\n                }, \n                {\n                    \"amount\": 0.1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\n                }\n            ]\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/payments/{paymentId}/cancel:
    put:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nCancels a payment.\
        \ \n\nIf you have the Invoice Settlement feature enabled, overpayments applied\
        \ to credit balance cannot be cancelled.\n"
      summary: Cancel payment
      operationId: PUT_CancelPayment
      tags:
      - Payments
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 4028905f5a87c0ff015a87eb6b75007f
              number: P-00000001
              status: Canceled
              type: External
              accountId: 4028905f5a87c0ff015a88889fe500a8
              amount: 44.1
              appliedAmount: 0
              unappliedAmount: 44.1
              refundAmount: 0
              creditBalanceAmount: 0
              currency: USD
              effectiveDate: '2017-03-01'
              comment: new comment
              paymentMethodId: 402881e522cf4f9b0122cf5dc4020045
              paymentMethodSnapshotId: null
              authTransactionId: null
              bankIdentificationNumber: null
              gatewayId: null
              gatewayOrderId: null
              gatewayResponse: null
              gatewayResponseCode: null
              gatewayState: NotSubmitted
              markedForSubmissionOn: null
              referenceId: null
              secondPaymentReferenceId: null
              softDescriptor: null
              softDescriptorPhone: null
              submittedOn: null
              settledOn: null
              cancelledOn: null
              createdDate: '2017-03-01 11:30:37'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 14:26:57'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              financeInformation:
                bankAccountAccountingCode: null
                bankAccountAccountingCodeType: null
                unappliedPaymentAccountingCode: null
                unappliedPaymentAccountingCodeType: null
                transferredToAccounting: 'No'
              success: true
          schema:
            $ref: '#/definitions/GETARPaymentType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: paymentId
        required: true
        description: 'The unique ID of an unapplied payment. For example, 8a8082e65b27f6c3015b89e4344c16b1.

          '
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/payments/{paymentId}/cancel"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/payments/{paymentId}/cancel');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payments/{paymentId}/cancel")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/payments/{paymentId}/cancel", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payments/{paymentId}/cancel")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payments/{paymentId}/cancel");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/payments/{paymentId}/parts:
    get:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nRetrieves the\
        \ information about all parts of a payment. A payment can consist of an unapplied\
        \ part, and several parts applied to invoices and debit memos. You can use\
        \ this operation to get all the applied and unapplied portions of a payment.\n"
      summary: Get payment parts
      operationId: GET_PaymentParts
      tags:
      - Payments
      responses:
        '200':
          description: ''
          examples:
            application/json:
              parts:
              - id: 4028905f5a87c0ff015a87eb6beb008d
                debitMemoId: 4028905f5a87c0ff015a87e49e6b0062
                invoiceId: null
                amount: 4.1
                createdDate: '2017-03-01 11:30:37'
                createdById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2017-03-01 11:30:37'
                updatedById: 402881e522cf4f9b0122cf5d82860002
              - id: 4028905f5a87c0ff015a87eb6beb008c
                debitMemoId: null
                invoiceId: 4028905f5a87c0ff015a87d3f8f10043
                amount: 40
                createdDate: '2017-03-01 11:30:37'
                createdById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2017-03-01 11:30:37'
                updatedById: 402881e522cf4f9b0122cf5d82860002
              success: true
          schema:
            $ref: '#/definitions/GETPaymentPartsCollectionType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - type: string
        in: path
        name: paymentId
        required: true
        description: 'The unique ID of a payment. For example, 8a8082e65b27f6c3015b89e4344c16b1.

          '
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/payments/{paymentId}/parts"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/payments/{paymentId}/parts');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payments/{paymentId}/parts")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/payments/{paymentId}/parts", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payments/{paymentId}/parts")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payments/{paymentId}/parts");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/payments/{paymentId}/parts/{partid}:
    get:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nRetrieves the\
        \ information about a specific payment part. A payment can consist of an unapplied\
        \ part, and several parts applied to invoices and debit memos.\n"
      summary: Get payment part
      operationId: GET_PaymentPart
      tags:
      - Payments
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 4028905f5a87c0ff015a87eb6beb008d
              debitMemoId: 4028905f5a87c0ff015a87e49e6b0062
              invoiceId: null
              amount: 4.1
              createdDate: '2017-03-01 11:30:37'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 11:30:37'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              success: true
          schema:
            $ref: '#/definitions/GETPaymentPartType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: partid
        required: true
        description: 'The unique ID of a specific payment part. You can get the payment
          part ID from the response of [Get payment parts](https://www.zuora.com/developer/api-reference/#operation/GET_PaymentParts).

          '
      - type: string
        in: path
        name: paymentId
        required: true
        description: 'The unique ID of a payment. For example, 8a8082e65b27f6c3015b89e4344c16b1.

          '
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/payments/{paymentId}/parts/{partid}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/payments/{paymentId}/parts/{partid}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payments/{paymentId}/parts/{partid}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/payments/{paymentId}/parts/{partid}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payments/{paymentId}/parts/{partid}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payments/{paymentId}/parts/{partid}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/payments/{paymentId}/parts/{partid}/itemparts:
    get:
      description: "**Note:** The Invoice Item Settlement feature is in **Limited\
        \ Availability**, and it must be used together with other Invoice Settlement\
        \ features (Unapplied Payments, and Credit and Debit memos). If you wish to\
        \ have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).\
        \ \n\nRetrieves the information about all items of a payment part. A payment\
        \ part item is a single line item in a payment part. A payment part can consist\
        \ of several different types of items.\n"
      summary: Get payment part items
      operationId: GET_PaymentItemParts
      tags:
      - Payments
      responses:
        '200':
          description: ''
          examples:
            application/json:
              itemParts:
              - id: 4028905f5a87c0ff015a87eb6bd8008a
                invoiceItemId: null
                debitMemoItemId: 4028905f5a87c0ff015a87e49e7a0063
                taxItemId: null
                amount: 4
                createdDate: '2017-03-01 11:30:37'
                createdById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2017-03-01 11:30:37'
                updatedById: 402881e522cf4f9b0122cf5d82860002
              - id: 4028905f5a87c0ff015a87eb6bd8008b
                invoiceItemId: null
                debitMemoItemId: null
                taxItemId: 4028905f5a87c0ff015a87e49f5e0065
                amount: 0.1
                createdDate: '2017-03-01 11:30:37'
                createdById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2017-03-01 11:30:37'
                updatedById: 402881e522cf4f9b0122cf5d82860002
              success: true
          schema:
            $ref: '#/definitions/GETPaymentItemPartCollectionType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - type: string
        in: path
        name: partid
        required: true
        description: 'The unique ID of a specific payment part. You can get the payment
          part ID from the response of [Get payment parts](https://www.zuora.com/developer/api-reference/#operation/GET_PaymentParts).

          '
      - type: string
        in: path
        name: paymentId
        required: true
        description: 'The unique ID of a payment. For example, 8a8082e65b27f6c3015b89e4344c16b1.

          '
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/payments/{paymentId}/parts/{partid}/itemparts"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/payments/{paymentId}/parts/{partid}/itemparts');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payments/{paymentId}/parts/{partid}/itemparts")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/payments/{paymentId}/parts/{partid}/itemparts", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payments/{paymentId}/parts/{partid}/itemparts")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payments/{paymentId}/parts/{partid}/itemparts");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/payments/{paymentId}/parts/{partid}/itemparts/{itempartid}:
    get:
      description: |
        **Note:** The Invoice Item Settlement feature is in **Limited Availability**, and it must be used together with other Invoice Settlement features (Unapplied Payments, and Credit and Debit memos). If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

        Retrieves the information about a specific payment part item. A payment part item is a single line item in a payment part. A payment part can consist of several different types of items.
      summary: Get payment part item
      operationId: GET_PaymentItemPart
      tags:
      - Payments
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 4028905f5a87c0ff015a87eb6bd8008a
              invoiceItemId: null
              debitMemoItemId: 4028905f5a87c0ff015a87e49e7a0063
              taxItemId: null
              amount: 4
              createdDate: '2017-03-01 11:30:37'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 11:30:37'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              success: true
          schema:
            $ref: '#/definitions/GETPaymentItemPartType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: partid
        required: true
        description: 'The unique ID of a specific payment part. You can get the payment
          part ID from the response of [Get payment parts](https://www.zuora.com/developer/api-reference/#operation/GET_PaymentParts).

          '
      - type: string
        in: path
        name: itempartid
        required: true
        description: 'The unique ID of a specific payment part item. You can get the
          payment part item ID from the response of [Get payment part items](https://www.zuora.com/developer/api-reference/#operation/GET_PaymentItemParts).

          '
      - type: string
        in: path
        name: paymentId
        required: true
        description: 'The unique ID of a payment. For example, 8a8082e65b27f6c3015b89e4344c16b1.

          '
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/payments/{paymentId}/parts/{partid}/itemparts/{itempartid}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/payments/{paymentId}/parts/{partid}/itemparts/{itempartid}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payments/{paymentId}/parts/{partid}/itemparts/{itempartid}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/payments/{paymentId}/parts/{partid}/itemparts/{itempartid}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payments/{paymentId}/parts/{partid}/itemparts/{itempartid}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payments/{paymentId}/parts/{partid}/itemparts/{itempartid}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/payments/{paymentId}/refunds:
    post:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nRefunds a full\
        \ or partial unapplied payment to your customers. To refund applied payments,\
        \ you must unapply the applied payments from the invoices or debit memos,\
        \ and then refund the unapplied payments to customers.\n\nFor more information,\
        \ see [Refund Payments](https://knowledgecenter.zuora.com/CB_Billing/Invoice_Settlement/A_Unapplied_Payments/Management_of_Unapplied_Payments/Z_Refund_Payments).\n"
      summary: Refund payment
      operationId: POST_RefundPayment
      tags:
      - Payments
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 4028905f5a87c0ff015a889e590e00c9
              number: R-00000001
              status: Processed
              type: External
              methodType: CreditCard
              accountId: 4028905f5a87c0ff015a87d25ae90025
              amount: 4
              refundDate: '2017-03-01'
              comment: Create a refund for unapplied payment.
              paymentMethodId: null
              paymentMethodSnapshotId: null
              paymentId: 4028905f5a87c0ff015a889ddfb800c0
              creditMemoId: null
              reasonCode: Standard Refund
              gatewayId: null
              gatewayResponse: null
              gatewayResponseCode: null
              gatewayState: NotSubmitted
              markedForSubmissionOn: null
              referenceId: null
              secondRefundReferenceId: null
              softDescriptor: null
              softDescriptorPhone: null
              submittedOn: null
              settledOn: null
              cancelledOn: null
              createdDate: '2017-03-01 14:46:03'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 14:46:03'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              refundTransactionTime: null
              financeInformation:
                bankAccountAccountingCode: null
                bankAccountAccountingCodeType: null
                unappliedPaymentAccountingCode: null
                unappliedPaymentAccountingCodeType: null
                transferredToAccounting: 'No'
              success: true
          schema:
            $ref: '#/definitions/GETRefundPaymentType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: body
        in: body
        required: true
        description: ''
        schema:
          $ref: '#/definitions/PostRefundType'
      - type: string
        in: path
        name: paymentId
        required: true
        description: 'The unique ID of an unapplied payment. For example, 8a8082e65b27f6c3015b89e4344c16b1.

          '
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"comment\": \"Create\
          \ a refund for unapplied payment.\", \n    \"methodType\": \"CreditCard\"\
          , \n    \"reasonCode\": \"Standard Refund\", \n    \"refundDate\": \"2017-03-01\"\
          , \n    \"totalAmount\": 4, \n    \"type\": \"External\"\n}' \"https://rest.zuora.com/v1/payments/{paymentId}/refunds\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/payments/{paymentId}/refunds');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"comment\": \"Create a refund for unapplied\
          \ payment.\", \n    \"methodType\": \"CreditCard\", \n    \"reasonCode\"\
          : \"Standard Refund\", \n    \"refundDate\": \"2017-03-01\", \n    \"totalAmount\"\
          : 4, \n    \"type\": \"External\"\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"comment\": \"Create a refund for unapplied payment.\", \n    \"methodType\": \"CreditCard\", \n    \"reasonCode\": \"Standard Refund\", \n    \"refundDate\": \"2017-03-01\", \n    \"totalAmount\": 4, \n    \"type\": \"External\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payments/{paymentId}/refunds")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"comment\": \"Create a refund for unapplied payment.\", \n    \"methodType\": \"CreditCard\", \n    \"reasonCode\": \"Standard Refund\", \n    \"refundDate\": \"2017-03-01\", \n    \"totalAmount\": 4, \n    \"type\": \"External\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/payments/{paymentId}/refunds", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payments/{paymentId}/refunds")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"comment\": \"Create a refund for unapplied payment.\", \n    \"methodType\": \"CreditCard\", \n    \"reasonCode\": \"Standard Refund\", \n    \"refundDate\": \"2017-03-01\", \n    \"totalAmount\": 4, \n    \"type\": \"External\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payments/{paymentId}/refunds");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"comment\": \"Create a refund for unapplied payment.\", \n    \"methodType\": \"CreditCard\", \n    \"reasonCode\": \"Standard Refund\", \n    \"refundDate\": \"2017-03-01\", \n    \"totalAmount\": 4, \n    \"type\": \"External\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/payments/{paymentId}/unapply:
    put:
      description: "**Note:** The Invoice Settlement feature is in **Limited Availability**.\
        \ This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice\
        \ Item Settlement. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nUnapplies an applied\
        \ payment from invoices and debit memos.\n\nFor more information, see [Unapply\
        \ Payments from Invoices and Debit Memos](https://knowledgecenter.zuora.com/CB_Billing/Invoice_Settlement/A_Unapplied_Payments/Management_of_Unapplied_Payments/Unapply_Payments_from_Invoices_and_Debit_Memos).\n"
      summary: Unapply payment
      operationId: PUT_UnapplyPayment
      tags:
      - Payments
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 4028905f5a87c0ff015a87eb6b75007f
              number: P-00000001
              status: Processed
              type: External
              accountId: 4028905f5a87c0ff015a87d25ae90025
              amount: 44.1
              appliedAmount: 32.98
              unappliedAmount: 11.12
              refundAmount: 0
              creditBalanceAmount: 0
              currency: USD
              effectiveDate: '2017-03-01'
              comment: normal payment
              paymentMethodId: 402881e522cf4f9b0122cf5dc4020045
              paymentMethodSnapshotId: null
              authTransactionId: null
              bankIdentificationNumber: null
              gatewayId: null
              gatewayOrderId: null
              gatewayResponse: null
              gatewayResponseCode: null
              gatewayState: NotSubmitted
              markedForSubmissionOn: null
              referenceId: null
              secondPaymentReferenceId: null
              softDescriptor: null
              softDescriptorPhone: null
              submittedOn: null
              settledOn: null
              cancelledOn: null
              createdDate: '2017-03-01 11:30:37'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 13:53:12'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              financeInformation:
                bankAccountAccountingCode: null
                bankAccountAccountingCodeType: null
                unappliedPaymentAccountingCode: null
                unappliedPaymentAccountingCodeType: null
                transferredToAccounting: 'No'
              success: true
          schema:
            $ref: '#/definitions/GETARPaymentType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/UnapplyPaymentType'
        description: ''
      - type: string
        in: path
        name: paymentId
        required: true
        description: 'The unique ID of an applied payment. For example, 8a8082e65b27f6c3015b89e4344c16b1.

          '
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"debitMemos\": [\n \
          \       {\n            \"amount\": 1.02, \n            \"debitMemoId\":\
          \ \"4028905f5a87c0ff015a87e49e6b0062\", \n            \"items\": [\n   \
          \             {\n                    \"amount\": 1, \n                 \
          \   \"debitMemoItemId\": \"4028905f5a87c0ff015a87e49e7a0063\"\n        \
          \        }, \n                {\n                    \"amount\": 0.02, \n\
          \                    \"taxItemId\": \"4028905f5a87c0ff015a87e49f5e0065\"\
          \n                }\n            ]\n        }\n    ], \n    \"effectiveDate\"\
          : \"2017-03-01\", \n    \"invoices\": [\n        {\n            \"amount\"\
          : 10.1, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\"\
          , \n            \"items\": [\n                {\n                    \"\
          amount\": 10, \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\
          \n                }, \n                {\n                    \"amount\"\
          : 0.1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\
          \n                }\n            ]\n        }\n    ]\n}' \"https://rest.zuora.com/v1/payments/{paymentId}/unapply\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/payments/{paymentId}/unapply');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"debitMemos\": [\n        {\n        \
          \    \"amount\": 1.02, \n            \"debitMemoId\": \"4028905f5a87c0ff015a87e49e6b0062\"\
          , \n            \"items\": [\n                {\n                    \"\
          amount\": 1, \n                    \"debitMemoItemId\": \"4028905f5a87c0ff015a87e49e7a0063\"\
          \n                }, \n                {\n                    \"amount\"\
          : 0.02, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87e49f5e0065\"\
          \n                }\n            ]\n        }\n    ], \n    \"effectiveDate\"\
          : \"2017-03-01\", \n    \"invoices\": [\n        {\n            \"amount\"\
          : 10.1, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\"\
          , \n            \"items\": [\n                {\n                    \"\
          amount\": 10, \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\
          \n                }, \n                {\n                    \"amount\"\
          : 0.1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\
          \n                }\n            ]\n        }\n    ]\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"debitMemos\": [\n        {\n            \"amount\": 1.02, \n            \"debitMemoId\": \"4028905f5a87c0ff015a87e49e6b0062\", \n            \"items\": [\n                {\n                    \"amount\": 1, \n                    \"debitMemoItemId\": \"4028905f5a87c0ff015a87e49e7a0063\"\n                }, \n                {\n                    \"amount\": 0.02, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87e49f5e0065\"\n                }\n            ]\n        }\n    ], \n    \"effectiveDate\": \"2017-03-01\", \n    \"invoices\": [\n        {\n            \"amount\": 10.1, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\", \n            \"items\": [\n                {\n                    \"amount\": 10, \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\n                }, \n                {\n                    \"amount\": 0.1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\n                }\n            ]\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/payments/{paymentId}/unapply")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"debitMemos\": [\n        {\n            \"amount\": 1.02, \n            \"debitMemoId\": \"4028905f5a87c0ff015a87e49e6b0062\", \n            \"items\": [\n                {\n                    \"amount\": 1, \n                    \"debitMemoItemId\": \"4028905f5a87c0ff015a87e49e7a0063\"\n                }, \n                {\n                    \"amount\": 0.02, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87e49f5e0065\"\n                }\n            ]\n        }\n    ], \n    \"effectiveDate\": \"2017-03-01\", \n    \"invoices\": [\n        {\n            \"amount\": 10.1, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\", \n            \"items\": [\n                {\n                    \"amount\": 10, \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\n                }, \n                {\n                    \"amount\": 0.1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\n                }\n            ]\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/payments/{paymentId}/unapply", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/payments/{paymentId}/unapply")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"debitMemos\": [\n        {\n            \"amount\": 1.02, \n            \"debitMemoId\": \"4028905f5a87c0ff015a87e49e6b0062\", \n            \"items\": [\n                {\n                    \"amount\": 1, \n                    \"debitMemoItemId\": \"4028905f5a87c0ff015a87e49e7a0063\"\n                }, \n                {\n                    \"amount\": 0.02, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87e49f5e0065\"\n                }\n            ]\n        }\n    ], \n    \"effectiveDate\": \"2017-03-01\", \n    \"invoices\": [\n        {\n            \"amount\": 10.1, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\", \n            \"items\": [\n                {\n                    \"amount\": 10, \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\n                }, \n                {\n                    \"amount\": 0.1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\n                }\n            ]\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/payments/{paymentId}/unapply");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"debitMemos\": [\n        {\n            \"amount\": 1.02, \n            \"debitMemoId\": \"4028905f5a87c0ff015a87e49e6b0062\", \n            \"items\": [\n                {\n                    \"amount\": 1, \n                    \"debitMemoItemId\": \"4028905f5a87c0ff015a87e49e7a0063\"\n                }, \n                {\n                    \"amount\": 0.02, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87e49f5e0065\"\n                }\n            ]\n        }\n    ], \n    \"effectiveDate\": \"2017-03-01\", \n    \"invoices\": [\n        {\n            \"amount\": 10.1, \n            \"invoiceId\": \"4028905f5a87c0ff015a87d3f8f10043\", \n            \"items\": [\n                {\n                    \"amount\": 10, \n                    \"invoiceItemId\": \"4028905f5a87c0ff015a87d3f90c0045\"\n                }, \n                {\n                    \"amount\": 0.1, \n                    \"taxItemId\": \"4028905f5a87c0ff015a87d3f884003f\"\n                }\n            ]\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/rateplan/{product_id}/productRatePlan:
    get:
      summary: Get product rate plans
      operationId: GET_ProductRatePlans
      description: 'Retrieves information about all product rate plans of a specific
        product.

        '
      tags:
      - Product Rate Plans
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_page'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - name: product_id
        in: path
        type: string
        description: 'The unique ID of a product. For example, 2c92c0f96487e16a016487f663c71a61.

          '
        required: true
      responses:
        '200':
          examples:
            application/json:
              productRatePlans:
              - id: 40289f466464127601646473d6f7000f
                status: Active
                name: New Rate Plan
                description: ''
                effectiveStartDate: '2016-07-01'
                effectiveEndDate: '2020-07-31'
                productRatePlanCharges:
                - id: 40289f4664641276016464740dd0001c
                  name: New Component
                  type: Recurring
                  model: FlatFee
                  uom: null
                  pricingSummary:
                  - USD100
                  pricing:
                  - currency: USD
                    price: 100
                    tiers: null
                    includedUnits: null
                    overagePrice: null
                    discountPercentage: null
                    discountAmount: null
                  defaultQuantity: null
                  applyDiscountTo: null
                  discountLevel: null
                  discountClass: null
                  productDiscountApplyDetails: []
                  endDateCondition: Subscription_End
                  upToPeriods: null
                  upToPeriodsType: null
                  billingDay: DefaultFromCustomer
                  listPriceBase: Per_Billing_Period
                  billingTiming: IN_ADVANCE
                  billingPeriod: Month
                  billingPeriodAlignment: AlignToCharge
                  specificBillingPeriod: null
                  smoothingModel: null
                  numberOfPeriods: null
                  overageCalculationOption: null
                  overageUnusedUnitsCreditOption: null
                  unusedIncludedUnitPrice: null
                  usageRecordRatingOption: null
                  priceChangeOption: null
                  priceIncreasePercentage: null
                  useTenantDefaultForPriceChange: null
                  taxable: false
                  taxCode: ''
                  taxMode: null
                  triggerEvent: ContractEffective
                  description: ''
                  revenueRecognitionRuleName: Recognize upon invoicing
                  revRecTriggerCondition: ContractEffectiveDate
                  revRecCode: ''
                  useDiscountSpecificAccountingCode: null
                  financeInformation:
                    recognizedRevenueAccountingCode: ''
                    recognizedRevenueAccountingCodeType: null
                    deferredRevenueAccountingCode: ''
                    deferredRevenueAccountingCodeType: null
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETProductRatePlansResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/rateplan/{product_id}/productRatePlan"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/rateplan/{product_id}/productRatePlan');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/rateplan/{product_id}/productRatePlan")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/rateplan/{product_id}/productRatePlan", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/rateplan/{product_id}/productRatePlan")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/rateplan/{product_id}/productRatePlan");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/quotes/document:
    post:
      summary: Generate quotes document
      operationId: POST_QuotesDocument
      description: "The `document` call generates a quote document and returns the\
        \ generated document URL. You can directly access the generated quote file\
        \ through the returned URL.\n\nThe `document` call should be only used from\
        \ Zuora Quotes. \n\n## File Size Limitation \nThe maximum export file size\
        \ is 2047MB. If you have large data requests that go over this limit, you\
        \ will get the following 403 HTTP response code from Zuora:\n`security:max-object-size>2047MB</security:max-object-size>`\n\
        \nSubmit a request at [Zuora Global Support](http://support.zuora.com/) if\
        \ you require additional assistance.\n\nWe can work with you to determine\
        \ if large file optimization is an option for you.\n"
      tags:
      - Quotes Document
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTQuoteDocType'
      responses:
        '200':
          examples:
            application/json:
              success: true
              file: https://rest.zuora.com/v1/file/2c92c09447f1ca410147f7bfed8c5a87
          description: ''
          schema:
            $ref: '#/definitions/POSTQuoteDocResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"apiuser\": \"contact@example.com\"\
          , \n    \"documentType\": \"pdf\", \n    \"locale\": \"en_US\", \n    \"\
          quoteId\": \"a0Bi000000A71rp\", \n    \"serverUrl\": \"https://c.na10.visual.force.com/services/Soap/u/10.0/00DF00000008VnX\"\
          , \n    \"sessionId\": \"we764buuM03bkE0fmmc5zGMYp\", \n    \"templateId\"\
          : \"4028925648fdb7830148fdc1246c0003\", \n    \"useSFDCLocale\": \"1\",\
          \ \n    \"zquotesMajorVersion\": \"7\", \n    \"zquotesMinorVersion\": \"\
          0\"\n}' \"https://rest.zuora.com/v1/quotes/document\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/quotes/document');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"apiuser\": \"contact@example.com\", \n\
          \    \"documentType\": \"pdf\", \n    \"locale\": \"en_US\", \n    \"quoteId\"\
          : \"a0Bi000000A71rp\", \n    \"serverUrl\": \"https://c.na10.visual.force.com/services/Soap/u/10.0/00DF00000008VnX\"\
          , \n    \"sessionId\": \"we764buuM03bkE0fmmc5zGMYp\", \n    \"templateId\"\
          : \"4028925648fdb7830148fdc1246c0003\", \n    \"useSFDCLocale\": \"1\",\
          \ \n    \"zquotesMajorVersion\": \"7\", \n    \"zquotesMinorVersion\": \"\
          0\"\n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"apiuser\": \"contact@example.com\", \n    \"documentType\": \"pdf\", \n    \"locale\": \"en_US\", \n    \"quoteId\": \"a0Bi000000A71rp\", \n    \"serverUrl\": \"https://c.na10.visual.force.com/services/Soap/u/10.0/00DF00000008VnX\", \n    \"sessionId\": \"we764buuM03bkE0fmmc5zGMYp\", \n    \"templateId\": \"4028925648fdb7830148fdc1246c0003\", \n    \"useSFDCLocale\": \"1\", \n    \"zquotesMajorVersion\": \"7\", \n    \"zquotesMinorVersion\": \"0\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/quotes/document")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"apiuser\": \"contact@example.com\", \n    \"documentType\": \"pdf\", \n    \"locale\": \"en_US\", \n    \"quoteId\": \"a0Bi000000A71rp\", \n    \"serverUrl\": \"https://c.na10.visual.force.com/services/Soap/u/10.0/00DF00000008VnX\", \n    \"sessionId\": \"we764buuM03bkE0fmmc5zGMYp\", \n    \"templateId\": \"4028925648fdb7830148fdc1246c0003\", \n    \"useSFDCLocale\": \"1\", \n    \"zquotesMajorVersion\": \"7\", \n    \"zquotesMinorVersion\": \"0\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/quotes/document", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/quotes/document")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"apiuser\": \"contact@example.com\", \n    \"documentType\": \"pdf\", \n    \"locale\": \"en_US\", \n    \"quoteId\": \"a0Bi000000A71rp\", \n    \"serverUrl\": \"https://c.na10.visual.force.com/services/Soap/u/10.0/00DF00000008VnX\", \n    \"sessionId\": \"we764buuM03bkE0fmmc5zGMYp\", \n    \"templateId\": \"4028925648fdb7830148fdc1246c0003\", \n    \"useSFDCLocale\": \"1\", \n    \"zquotesMajorVersion\": \"7\", \n    \"zquotesMinorVersion\": \"0\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/quotes/document");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"apiuser\": \"contact@example.com\", \n    \"documentType\": \"pdf\", \n    \"locale\": \"en_US\", \n    \"quoteId\": \"a0Bi000000A71rp\", \n    \"serverUrl\": \"https://c.na10.visual.force.com/services/Soap/u/10.0/00DF00000008VnX\", \n    \"sessionId\": \"we764buuM03bkE0fmmc5zGMYp\", \n    \"templateId\": \"4028925648fdb7830148fdc1246c0003\", \n    \"useSFDCLocale\": \"1\", \n    \"zquotesMajorVersion\": \"7\", \n    \"zquotesMinorVersion\": \"0\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/refunds:
    get:
      description: "**Note:** This feature is only available if you have the Invoice\
        \ Settlement feature enabled. The Invoice Settlement feature is in **Limited\
        \ Availability**. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nRetrieves the\
        \ information about all refunds. Two types of refunds are available, electronic\
        \ refunds and external refunds.\n\n### Filtering\n\nYou can use query parameters\
        \ to restrict the data returned in the response. Each query parameter corresponds\
        \ to one field in the response body.\n\nIf the value of a filterable field\
        \ is string, you can set the corresponding query parameter to `null` when\
        \ filtering. Then, you can get the response data with this field value being\
        \ `null`.\n\nExamples:\n\n- /v1/refunds?status=Processed\n\n- /v1/refunds?amount=4&status=Processed\n\
        \n- /v1/refunds?status=Processed&type=External&sort=+number\n"
      summary: Get all refunds
      operationId: GET_Refunds
      tags:
      - Refunds
      responses:
        '200':
          description: ''
          examples:
            application/json:
              refunds:
              - id: 4028905f5a87c0ff015a889e590e00c9
                number: R-00000001
                status: Processed
                type: External
                methodType: CreditCard
                accountId: 4028905f5a87c0ff015a87d25ae90025
                amount: 4
                refundDate: '2017-03-01'
                comment: update comment
                paymentMethodId: null
                paymentMethodSnapshotId: null
                paymentId: 4028905f5a87c0ff015a889ddfb800c0
                creditMemoId: null
                reasonCode: Standard Refund
                gatewayId: null
                gatewayResponse: null
                gatewayResponseCode: null
                gatewayState: NotSubmitted
                markedForSubmissionOn: null
                referenceId: null
                secondRefundReferenceId: null
                softDescriptor: null
                softDescriptorPhone: null
                submittedOn: null
                settledOn: null
                cancelledOn: null
                createdDate: '2017-03-01 14:46:03'
                createdById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2017-03-01 16:56:41'
                updatedById: 402881e522cf4f9b0122cf5d82860002
                refundTransactionTime: null
                financeInformation:
                  bankAccountAccountingCode: null
                  bankAccountAccountingCodeType: null
                  unappliedPaymentAccountingCode: null
                  unappliedPaymentAccountingCodeType: null
                  transferredToAccounting: 'No'
              success: true
          schema:
            $ref: '#/definitions/GETRefundCollectionType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - name: accountId
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `accountId`
          field.

          '
      - name: amount
        in: query
        type: number
        format: double
        required: false
        description: 'This parameter filters the response based on the `amount` field.

          '
      - name: createdById
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `createdById`
          field.

          '
      - name: createdDate
        in: query
        type: string
        format: date-time
        required: false
        description: 'This parameter filters the response based on the `createdDate`
          field.

          '
      - name: methodType
        in: query
        type: string
        enum:
        - ACH
        - Cash
        - Check
        - CreditCard
        - PayPal
        - WireTransfer
        - DebitCard
        - CreditCardReferenceTransaction
        - BankTransfer
        - Other
        required: false
        description: 'This parameter filters the response based on the `methodType`
          field.

          '
      - name: number
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `number` field.

          '
      - name: paymentId
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `paymentId`
          field.

          '
      - name: refundDate
        in: query
        type: string
        format: date
        required: false
        description: 'This parameter filters the response based on the `refundDate`
          field.

          '
      - name: status
        in: query
        type: string
        enum:
        - Processed
        - Canceled
        - Error
        - Processing
        required: false
        description: 'This parameter filters the response based on the `status` field.

          '
      - name: type
        in: query
        type: string
        enum:
        - External
        - Electronic
        required: false
        description: 'This parameter filters the response based on the `type` field.

          '
      - name: updatedById
        in: query
        type: string
        required: false
        description: 'This parameter filters the response based on the `updatedById`
          field.

          '
      - name: updatedDate
        in: query
        type: string
        format: date-time
        required: false
        description: 'This parameter filters the response based on the `updatedDate`
          field.

          '
      - name: sort
        in: query
        type: string
        required: false
        description: "This parameter restricts the order of the data returned in the\
          \ response. You can use this parameter to supply a dimension you want to\
          \ sort on.\n\nA sortable field uses the following form: \n\n*operator* *field_name*\n\
          \nYou can use at most two sortable fields in one URL path. Use a comma to\
          \ separate sortable fields. For example:  *operator* *field_name*, *operator*\
          \ *field_name*  \n\n*operator* is used to mark the order of sequencing.\
          \ The operator is optional. If you only specify the sortable field without\
          \ any operator, the response data is sorted in descending order by this\
          \ field.\n\n  - The `-` operator indicates an ascending order.\n  - The\
          \ `+` operator indicates a descending order.\n\nBy default, the response\
          \ data is displayed in descending order by refund number.\n\n*field_name*\
          \ indicates the name of a sortable field. The supported sortable fields\
          \ of this operation are as below:\n\n  - number\n  - accountId\n  - amount\n\
          \  - refundDate\n  - paymentId\n  - createdDate\n  - createdById\n  - updatedDate\n\
          \  - updatedById\n  \nExamples:\n\n- /v1/refunds?sort=+number\n\n- /v1/refunds?status=Processed&sort=-number,+amount\n"
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/refunds"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/refunds');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/refunds")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/refunds", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/refunds")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/refunds");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/refunds/{refundId}:
    put:
      description: "**Note:** This feature is only available if you have the Invoice\
        \ Settlement feature enabled. The Invoice Settlement feature is in **Limited\
        \ Availability**. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nUpdates the basic\
        \ and finance information about a refund.\n"
      summary: Update refund
      operationId: PUT_UpdateRefund
      tags:
      - Refunds
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 4028905f5a87c0ff015a889e590e00c9
              number: R-00000001
              status: Processed
              type: External
              methodType: CreditCard
              accountId: 4028905f5a87c0ff015a87d25ae90025
              amount: 4
              refundDate: '2017-03-01'
              comment: update comment
              paymentMethodId: null
              paymentMethodSnapshotId: null
              paymentId: 4028905f5a87c0ff015a889ddfb800c0
              creditMemoId: null
              reasonCode: Standard Refund
              gatewayId: null
              gatewayResponse: null
              gatewayResponseCode: null
              gatewayState: NotSubmitted
              markedForSubmissionOn: null
              referenceId: null
              secondRefundReferenceId: null
              softDescriptor: null
              softDescriptorPhone: null
              submittedOn: null
              settledOn: null
              cancelledOn: null
              createdDate: '2017-03-01 14:46:03'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 16:56:41'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              refundTransactionTime: null
              financeInformation:
                bankAccountAccountingCode: null
                bankAccountAccountingCodeType: null
                unappliedPaymentAccountingCode: null
                unappliedPaymentAccountingCodeType: null
                transferredToAccounting: 'No'
              success: true
          schema:
            $ref: '#/definitions/GETRefundType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: body
        in: body
        required: true
        description: ''
        schema:
          $ref: '#/definitions/PUTRefundType'
      - type: string
        in: path
        name: refundId
        required: true
        description: 'The unique ID of a refund. For example, 4028905f5a87c0ff015a889e590e00c9.

          '
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"comment\": \"update\
          \ comment\", \n    \"financeInformation\": {\n        \"transferredToAccounting\"\
          : \"No\"\n    }\n}' \"https://rest.zuora.com/v1/refunds/{refundId}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/refunds/{refundId}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"comment\": \"update comment\", \n   \
          \ \"financeInformation\": {\n        \"transferredToAccounting\": \"No\"\
          \n    }\n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"comment\": \"update comment\", \n    \"financeInformation\": {\n        \"transferredToAccounting\": \"No\"\n    }\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/refunds/{refundId}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"comment\": \"update comment\", \n    \"financeInformation\": {\n        \"transferredToAccounting\": \"No\"\n    }\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/refunds/{refundId}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/refunds/{refundId}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"comment\": \"update comment\", \n    \"financeInformation\": {\n        \"transferredToAccounting\": \"No\"\n    }\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/refunds/{refundId}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"comment\": \"update comment\", \n    \"financeInformation\": {\n        \"transferredToAccounting\": \"No\"\n    }\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      description: "**Note:** This feature is only available if you have the Invoice\
        \ Settlement feature enabled. The Invoice Settlement feature is in **Limited\
        \ Availability**. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nRetrieves the\
        \ information about a specific refund.\n"
      summary: Get refund
      operationId: GET_Refund
      tags:
      - Refunds
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 4028905f5a87c0ff015a889e590e00c9
              number: R-00000001
              status: Processed
              type: External
              methodType: CreditCard
              accountId: 4028905f5a87c0ff015a87d25ae90025
              amount: 4
              refundDate: '2017-03-01'
              comment: Create a refund for unapplied payment.
              paymentMethodId: null
              paymentMethodSnapshotId: null
              paymentId: 4028905f5a87c0ff015a889ddfb800c0
              creditMemoId: null
              reasonCode: Standard Refund
              gatewayId: null
              gatewayResponse: null
              gatewayResponseCode: null
              gatewayState: NotSubmitted
              markedForSubmissionOn: null
              referenceId: null
              secondRefundReferenceId: null
              softDescriptor: null
              softDescriptorPhone: null
              submittedOn: null
              settledOn: null
              cancelledOn: null
              createdDate: '2017-03-01 14:46:03'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 14:46:03'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              refundTransactionTime: null
              financeInformation:
                bankAccountAccountingCode: null
                bankAccountAccountingCodeType: null
                unappliedPaymentAccountingCode: null
                unappliedPaymentAccountingCodeType: null
                transferredToAccounting: 'No'
              success: true
          schema:
            $ref: '#/definitions/GETRefundType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: refundId
        required: true
        description: 'The unique ID of a refund. For example, 4028905f5a87c0ff015a889e590e00c9.

          '
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/refunds/{refundId}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/refunds/{refundId}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/refunds/{refundId}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/refunds/{refundId}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/refunds/{refundId}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/refunds/{refundId}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    delete:
      description: "**Note:** This feature is only available if you have the Invoice\
        \ Settlement feature enabled. The Invoice Settlement feature is in **Limited\
        \ Availability**. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nDeletes a refund.\
        \ You can delete a refund with the Canceled or Error status. \n\nIf you have\
        \ the Invoice Settlement feature enabled, refunds applied to credit balance\
        \ cannot be deleted.\n"
      summary: Delete refund
      operationId: DELETE_Refund
      tags:
      - Refunds
      responses:
        '200':
          description: ''
          examples:
            application/json:
              success: true
          schema:
            $ref: '#/definitions/CommonResponseType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: refundId
        required: true
        description: 'The unique ID of a refund. For example, 4028905f5a87c0ff015a889e590e00c9.

          '
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/refunds/{refundId}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/refunds/{refundId}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/refunds/{refundId}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/refunds/{refundId}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/refunds/{refundId}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/refunds/{refundId}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/refunds/{refundId}/cancel:
    put:
      description: "**Note:** This feature is only available if you have the Invoice\
        \ Settlement feature enabled. The Invoice Settlement feature is in **Limited\
        \ Availability**. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nCancels a refund.\n\
        \nIf you have the Invoice Settlement feature enabled, refunds applied to credit\
        \ balance cannot be cancelled.\n"
      summary: Cancel refund
      operationId: PUT_CancelRefund
      tags:
      - Refunds
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 4028905f5a87c0ff015a889e590e00c9
              number: R-00000001
              status: Canceled
              type: External
              methodType: CreditCard
              accountId: 4028905f5a87c0ff015a87d25ae90025
              amount: 4
              refundDate: '2017-03-01'
              comment: update comment
              paymentMethodId: null
              paymentMethodSnapshotId: null
              paymentId: 4028905f5a87c0ff015a889ddfb800c0
              creditMemoId: null
              reasonCode: Standard Refund
              gatewayId: null
              gatewayResponse: null
              gatewayResponseCode: null
              gatewayState: NotSubmitted
              markedForSubmissionOn: null
              referenceId: null
              secondRefundReferenceId: null
              softDescriptor: null
              softDescriptorPhone: null
              submittedOn: null
              settledOn: null
              cancelledOn: '2017-03-01 17:03:07'
              createdDate: '2017-03-01 14:46:03'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 17:03:07'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              refundTransactionTime: null
              financeInformation:
                bankAccountAccountingCode: null
                bankAccountAccountingCodeType: null
                unappliedPaymentAccountingCode: null
                unappliedPaymentAccountingCodeType: null
                transferredToAccounting: 'No'
              success: true
          schema:
            $ref: '#/definitions/GETRefundType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: refundId
        required: true
        description: "The unique ID of a refund. For example, 4028905f5a87c0ff015a889e590e00c9.\
          \      \n"
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/refunds/{refundId}/cancel"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/refunds/{refundId}/cancel');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/refunds/{refundId}/cancel")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/refunds/{refundId}/cancel", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/refunds/{refundId}/cancel")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/refunds/{refundId}/cancel");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/refunds/{refundId}/parts:
    get:
      description: "**Note:** This feature is only available if you have the Invoice\
        \ Settlement feature enabled. The Invoice Settlement feature is in **Limited\
        \ Availability**. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nRetrieves the\
        \ information about all parts of a refund.\n"
      summary: Get refund parts
      operationId: GET_RefundParts
      tags:
      - Refunds
      responses:
        '200':
          description: ''
          examples:
            application/json:
              parts:
              - id: 4028905f5a87c0ff015a889e592b00cf
                paymentId: 4028905f5a87c0ff015a889ddfb800c0
                creditMemoId: null
                amount: 4
                createdDate: '2017-03-01 14:46:03'
                createdById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2017-03-01 14:46:03'
                updatedById: 402881e522cf4f9b0122cf5d82860002
              success: true
          schema:
            $ref: '#/definitions/GETRefundPartCollectionType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: refundId
        required: true
        description: 'The unique ID of a refund. For example, 4028905f5a87c0ff015a889e590e00c9.

          '
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/refunds/{refundId}/parts"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/refunds/{refundId}/parts');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/refunds/{refundId}/parts")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/refunds/{refundId}/parts", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/refunds/{refundId}/parts")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/refunds/{refundId}/parts");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/refunds/{refundId}/parts/{refundpartid}:
    get:
      description: "**Note:** This feature is only available if you have the Invoice\
        \ Settlement feature enabled. The Invoice Settlement feature is in **Limited\
        \ Availability**. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nRetrieves the\
        \ information about a specific refund part.\n"
      summary: Get refund part
      operationId: GET_RefundPart
      tags:
      - Refunds
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 4028905f5a87c0ff015a889e592b00cf
              paymentId: 4028905f5a87c0ff015a889ddfb800c0
              creditMemoId: null
              amount: 4
              createdDate: '2017-03-01 14:46:03'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 14:46:03'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              success: true
          schema:
            $ref: '#/definitions/RefundPartResponseType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: refundpartid
        required: true
        description: 'The unique ID of a specific refund part. You can get the refund
          part ID from the response of [Get refund parts](https://www.zuora.com/developer/api-reference/#operation/GET_RefundParts).

          '
      - type: string
        in: path
        name: refundId
        required: true
        description: 'The unique ID of a refund. For example, 4028905f5a87c0ff015a889e590e00c9.

          '
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/refunds/{refundId}/parts/{refundpartid}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/refunds/{refundId}/parts/{refundpartid}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/refunds/{refundId}/parts/{refundpartid}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/refunds/{refundId}/parts/{refundpartid}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/refunds/{refundId}/parts/{refundpartid}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/refunds/{refundId}/parts/{refundpartid}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/refunds/{refundId}/parts/{refundpartid}/itemparts:
    get:
      description: |
        **Note:** The Invoice Item Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at  [Zuora Global Support](http://support.zuora.com/).

        Retrieves the information about all items of a refund part. A refund part item is a single line item in a refund part. A refund part can consist of several different types of items.
      summary: Get refund part items
      operationId: GET_RefundItemParts
      tags:
      - Refunds
      responses:
        '200':
          description: ''
          examples:
            application/json:
              itemParts:
              - id: 4028905f5a87c0ff015a889e592a00ce
                amount: 4
                creditMemoItemId: null
                creditTaxItemId: null
                createdDate: '2017-03-01 14:46:03'
                createdById: 402881e522cf4f9b0122cf5d82860002
                updatedDate: '2017-03-01 14:46:03'
                updatedById: 402881e522cf4f9b0122cf5d82860002
              success: true
          schema:
            $ref: '#/definitions/GETRefundItemPartCollectionType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - type: string
        in: path
        name: refundpartid
        required: true
        description: 'The unique ID of a specific refund part. You can get the refund
          part ID from the response of [Get refund parts](https://www.zuora.com/developer/api-reference/#operation/GET_RefundParts).

          '
      - type: string
        in: path
        name: refundId
        required: true
        description: 'The unique ID of a refund. For example, 4028905f5a87c0ff015a889e590e00c9.

          '
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/refunds/{refundId}/parts/{refundpartid}/itemparts"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/refunds/{refundId}/parts/{refundpartid}/itemparts');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/refunds/{refundId}/parts/{refundpartid}/itemparts")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/refunds/{refundId}/parts/{refundpartid}/itemparts", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/refunds/{refundId}/parts/{refundpartid}/itemparts")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/refunds/{refundId}/parts/{refundpartid}/itemparts");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/refunds/{refundId}/parts/{refundpartid}/itemparts/{itempartid}:
    get:
      description: "**Note:** The Invoice Item Settlement feature is in **Limited\
        \ Availability**. If you wish to have access to the feature, submit a request\
        \ at  [Zuora Global Support](http://support.zuora.com/).  \n\nRetrieves the\
        \ information about a specific refund part item. A refund part item is a single\
        \ line item in a refund part. A refund part can consist of several different\
        \ types of items.\n"
      summary: Get refund part item
      operationId: GET_RefundItemPart
      tags:
      - Refunds
      responses:
        '200':
          description: ''
          examples:
            application/json:
              id: 4028905f5a87c0ff015a889e592a00ce
              amount: 4
              creditMemoItemId: null
              creditTaxItemId: null
              createdDate: '2017-03-01 14:46:03'
              createdById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-03-01 14:46:03'
              updatedById: 402881e522cf4f9b0122cf5d82860002
              success: true
          schema:
            $ref: '#/definitions/GETRefundItemPartType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: itempartid
        required: true
        description: 'The unique ID of a specific refund part item. You can get the
          refund part item ID from the response of [Get refund part items](https://www.zuora.com/developer/api-reference/#operation/GET_RefundItemParts).

          '
      - type: string
        in: path
        name: refundpartid
        required: true
        description: 'The unique ID of a specific refund part. You can get the refund
          part ID from the response of [Get refund parts](https://www.zuora.com/developer/api-reference/#operation/GET_RefundParts).

          '
      - type: string
        in: path
        name: refundId
        required: true
        description: 'The unique ID of a refund. For example, 4028905f5a87c0ff015a889e590e00c9.

          '
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/refunds/{refundId}/parts/{refundpartid}/itemparts/{itempartid}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/refunds/{refundId}/parts/{refundpartid}/itemparts/{itempartid}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/refunds/{refundId}/parts/{refundpartid}/itemparts/{itempartid}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/refunds/{refundId}/parts/{refundpartid}/itemparts/{itempartid}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/refunds/{refundId}/parts/{refundpartid}/itemparts/{itempartid}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/refunds/{refundId}/parts/{refundpartid}/itemparts/{itempartid}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/revenue-events/{event-number}:
    get:
      summary: Get revenue event details
      operationId: GET_RevenueEventDetails
      description: |2

        This REST API reference describes how to get revenue event details by specifying the revenue event number. Request and response field descriptions and sample code are provided.
      tags:
      - Revenue Events
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: event-number
        in: path
        description: The number associated with the revenue event.
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              number: RE-00000001
              currency: USD
              notes: null
              accountId: 2c92c0f8439770960143b2141f5a584e
              subscriptionId: 2c92c0f943977b4f0143b23487994327
              subscriptionChargeId: 2c92c0f943977b4f0143b23487ed432e
              createdOn: '2014-01-20 16:36:45'
              eventType: Invoice Posted
              recognitionStart: '2013-10-10'
              recognitionEnd: '2013-10-10'
              revenueItems:
              - accountingPeriodName: Oct'2013
                isAccountingPeriodClosed: false
                amount: 50
                currency: USD
                accountingPeriodStartDate: '2013-10-01'
                accountingPeriodEndDate: '2013-10-31'
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETRevenueEventDetailType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/revenue-events/{event-number}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/revenue-events/{event-number}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-events/{event-number}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/revenue-events/{event-number}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-events/{event-number}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-events/{event-number}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/revenue-events/revenue-schedules/{rs-number}:
    get:
      summary: Get revenue events for a revenue schedule
      operationId: GET_RevenueEventForRevenueSchedule
      description: |2

        This REST API reference describes how to get all revenue events in a revenue schedule by specifying the revenue schedule number. Request and response field descriptions and sample code are provided.
      tags:
      - Revenue Events
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize_finance_revenue'
      - name: rs-number
        in: path
        description: Revenue schedule number. The revenue schedule number is always
          prefixed with "RS", for example, "RS-00000001".
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              revenueEventDetails:
              - number: RE-00000001
                currency: USD
                notes: Phase 1 Test
                accountId: 2c92c0f8439770960143b2111f5a584e
                subscriptionId: 2c92c0f943977b4f0143b23487999327
                subscriptionChargeId: 2c92c0f943977b4f0143b22287ed432e
                createdOn: '2014-01-21 11:35:42'
                eventType: Revenue Distributed
                recognitionStart: null
                recognitionEnd: null
                revenueItems:
                - accountingPeriodName: Oct'2013
                  isAccountingPeriodClosed: false
                  amount: 10
                  currency: USD
                  accountingPeriodStartDate: '2013-10-01'
                  accountingPeriodEndDate: '2013-10-31'
                - accountingPeriodName: Open-Ended
                  isAccountingPeriodClosed: false
                  amount: -10
                  currency: USD
                  accountingPeriodStartDate: '2013-11-12'
                  accountingPeriodEndDate: null
              - number: RE-00000002
                currency: USD
                notes: null
                accountId: 2c92c0f8439770960143b2111f5a584e
                subscriptionId: 2c92c0f943977b4f0143b22287994327
                subscriptionChargeId: 2c92c0f943977b4f0143b99987ed432e
                createdOn: '2014-01-20 16:36:45'
                eventType: Invoice Posted
                recognitionStart: '2013-10-10'
                recognitionEnd: '2013-10-10'
                revenueItems:
                - accountingPeriodName: Oct'2013
                  isAccountingPeriodClosed: false
                  amount: 50
                  currency: USD
                  accountingPeriodStartDate: '2013-10-01'
                  accountingPeriodEndDate: '2013-10-31'
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETRevenueEventDetailsType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/revenue-events/revenue-schedules/{rs-number}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/revenue-events/revenue-schedules/{rs-number}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-events/revenue-schedules/{rs-number}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/revenue-events/revenue-schedules/{rs-number}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-events/revenue-schedules/{rs-number}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-events/revenue-schedules/{rs-number}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/revenue-items/charge-revenue-summaries/{crs-number}:
    get:
      summary: Get revenue items by charge revenue summary number
      operationId: GET_RevenueItemsByChargeRevenueSummaryNumber
      description: 'This REST API reference describes how to get the details for each
        revenue item in a charge revenue summary by specifying the charge revenue
        summary number. Request and response field descriptions and sample code are
        provided.

        '
      tags:
      - Revenue Items
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize_finance_accounting'
      - name: crs-number
        in: path
        description: The charge revenue summary number.
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              revenueItems:
              - accountingPeriodName: Sep'2013
                isAccountingPeriodClosed: false
                amount: 35
                currency: USD
                accountingPeriodStartDate: '2013-09-01'
                accountingPeriodEndDate: '2013-09-30'
              - accountingPeriodName: Oct'2013
                isAccountingPeriodClosed: false
                amount: 50
                currency: USD
                accountingPeriodStartDate: '2013-10-01'
                accountingPeriodEndDate: '2013-10-31'
              - accountingPeriodName: Open-Ended
                isAccountingPeriodClosed: false
                amount: 150
                currency: USD
                accountingPeriodStartDate: '2013-12-11'
                accountingPeriodEndDate: null
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETRevenueItemsType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/revenue-items/charge-revenue-summaries/{crs-number}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/revenue-items/charge-revenue-summaries/{crs-number}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-items/charge-revenue-summaries/{crs-number}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/revenue-items/charge-revenue-summaries/{crs-number}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-items/charge-revenue-summaries/{crs-number}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-items/charge-revenue-summaries/{crs-number}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/revenue-items/revenue-events/{event-number}:
    get:
      summary: Get revenue items by revenue event number
      operationId: GET_RevenueItemsByChargeRevenueEventNumber
      description: 'This REST API reference describes how to get the details of each
        revenue item in a revenue event by specifying the revenue event number. Request
        and response field descriptions and sample code are provided.

        '
      tags:
      - Revenue Items
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize_finance_accounting'
      - name: event-number
        in: path
        required: true
        type: string
        description: The number associated with the revenue event.
      responses:
        '200':
          examples:
            application/json:
              revenueItems:
              - accountingPeriodName: Oct'2013
                isAccountingPeriodClosed: false
                amount: 50
                currency: USD
                accountingPeriodStartDate: '2013-10-01'
                accountingPeriodEndDate: '2013-10-31'
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETRevenueItemsType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/revenue-items/revenue-events/{event-number}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/revenue-items/revenue-events/{event-number}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-items/revenue-events/{event-number}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/revenue-items/revenue-events/{event-number}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-items/revenue-events/{event-number}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-items/revenue-events/{event-number}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: Update custom fields on revenue items by revenue event number
      operationId: PUT_CustomFieldsonRevenueItemsByRevenueEvent
      description: 'This REST API reference describes how to update custom fields
        on revenue items by specifying the revenue event number. Request and response
        field descriptions and sample code are provided.

        '
      tags:
      - Revenue Items
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: event-number
        in: path
        required: true
        type: string
        description: The number associated with the revenue event.
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUTEventRIDetailType'
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"revenueItems\": [\n\
          \        {\n            \"accountingPeriodName\": \"Oct'\\''2014\"\n   \
          \     }, \n        {\n            \"accountingPeriodName\": \"Nov'\\''2014\"\
          \n        }\n    ]\n}' \"https://rest.zuora.com/v1/revenue-items/revenue-events/{event-number}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/revenue-items/revenue-events/{event-number}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"revenueItems\": [\n        {\n      \
          \      \"accountingPeriodName\": \"Oct\\'2014\"\n        }, \n        {\n\
          \            \"accountingPeriodName\": \"Nov\\'2014\"\n        }\n    ]\n\
          }');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"revenueItems\": [\n        {\n            \"accountingPeriodName\": \"Oct'2014\"\n        }, \n        {\n            \"accountingPeriodName\": \"Nov'2014\"\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-items/revenue-events/{event-number}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"revenueItems\": [\n        {\n            \"accountingPeriodName\": \"Oct'2014\"\n        }, \n        {\n            \"accountingPeriodName\": \"Nov'2014\"\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/revenue-items/revenue-events/{event-number}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-items/revenue-events/{event-number}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"revenueItems\": [\n        {\n            \"accountingPeriodName\": \"Oct'2014\"\n        }, \n        {\n            \"accountingPeriodName\": \"Nov'2014\"\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-items/revenue-events/{event-number}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"revenueItems\": [\n        {\n            \"accountingPeriodName\": \"Oct'2014\"\n        }, \n        {\n            \"accountingPeriodName\": \"Nov'2014\"\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/revenue-items/revenue-schedules/{rs-number}:
    get:
      summary: Get revenue items by revenue schedule
      operationId: GET_RevenueItemsByRevenueSchedule
      description: 'This REST API reference describes how to get the details for each
        revenue items in a revenue schedule by specifying the revenue schedule number.
        Request and response field descriptions and sample code are provided.

        '
      tags:
      - Revenue Items
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize_finance_accounting'
      - name: rs-number
        in: path
        required: true
        type: string
        description: Revenue schedule number. The revenue schedule number is always
          prefixed with "RS", for example, "RS-00000001".
      responses:
        '200':
          examples:
            application/json:
              revenueItems:
              - accountingPeriodName: Oct'2013
                isAccountingPeriodClosed: false
                amount: 50
                currency: USD
                accountingPeriodStartDate: '2013-10-01'
                accountingPeriodEndDate: '2013-10-31'
                recognizedRevenueAccountingCodeType: null
                recognizedRevenueAccountingCode: null
                deferredRevenueAccountingCodeType: null
                deferredRevenueAccountingCode: null
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETRsRevenueItemsType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/revenue-items/revenue-schedules/{rs-number}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/revenue-items/revenue-schedules/{rs-number}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-items/revenue-schedules/{rs-number}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/revenue-items/revenue-schedules/{rs-number}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-items/revenue-schedules/{rs-number}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-items/revenue-schedules/{rs-number}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: Update custom fields on revenue items by revenue schedule number
      operationId: PUT_CustomFieldsonRevenueItemsByRevenueSchedule
      description: 'This REST API reference describes how to update custom fields
        on revenue Items by specifying the revenue schedule number. Request and response
        field descriptions and sample code are provided.

        '
      tags:
      - Revenue Items
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: rs-number
        in: path
        required: true
        type: string
        description: Revenue schedule number. The revenue schedule number is always
          prefixed with "RS", for example, "RS-00000001".
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUTScheduleRIDetailType'
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"revenueItems\": [\n\
          \        {\n            \"accountingPeriodName\": \"Oct'\\''2014\"\n   \
          \     }, \n        {\n            \"accountingPeriodName\": \"Nov'\\''2014\"\
          \n        }\n    ]\n}' \"https://rest.zuora.com/v1/revenue-items/revenue-schedules/{rs-number}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/revenue-items/revenue-schedules/{rs-number}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"revenueItems\": [\n        {\n      \
          \      \"accountingPeriodName\": \"Oct\\'2014\"\n        }, \n        {\n\
          \            \"accountingPeriodName\": \"Nov\\'2014\"\n        }\n    ]\n\
          }');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"revenueItems\": [\n        {\n            \"accountingPeriodName\": \"Oct'2014\"\n        }, \n        {\n            \"accountingPeriodName\": \"Nov'2014\"\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-items/revenue-schedules/{rs-number}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"revenueItems\": [\n        {\n            \"accountingPeriodName\": \"Oct'2014\"\n        }, \n        {\n            \"accountingPeriodName\": \"Nov'2014\"\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/revenue-items/revenue-schedules/{rs-number}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-items/revenue-schedules/{rs-number}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"revenueItems\": [\n        {\n            \"accountingPeriodName\": \"Oct'2014\"\n        }, \n        {\n            \"accountingPeriodName\": \"Nov'2014\"\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-items/revenue-schedules/{rs-number}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"revenueItems\": [\n        {\n            \"accountingPeriodName\": \"Oct'2014\"\n        }, \n        {\n            \"accountingPeriodName\": \"Nov'2014\"\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/revenue-recognition-rules/product-charges/{charge-key}:
    get:
      description: "**Note:** This feature is only available if you have the Invoice\
        \ Settlement feature enabled. The Invoice Settlement feature is in **Limited\
        \ Availability**. If you wish to have access to the feature, submit a request\
        \ at [Zuora Global Support](http://support.zuora.com/). \n\nRetrieves the\
        \ revenue recognition rule associated with a production rate plan charge by\
        \ specifying the charge ID.\n"
      summary: Get revenue recognition rule by product rate plan charge
      operationId: GET_RevenueRecRulebyProductRatePlanCharge
      tags:
      - Revenue Rules
      responses:
        '200':
          description: ''
          examples:
            application/json:
              revenueRecognitionRuleName: Custom - Unlimited recognition
              success: true
          schema:
            $ref: '#/definitions/GETRevenueRecognitionRuleAssociationType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: charge-key
        description: 'The unique ID of a product rate plan charge. For example, 8a8082e65ba86084015bb323d3c61d82.

          '
        required: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/revenue-recognition-rules/product-charges/{charge-key}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/revenue-recognition-rules/product-charges/{charge-key}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-recognition-rules/product-charges/{charge-key}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/revenue-recognition-rules/product-charges/{charge-key}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-recognition-rules/product-charges/{charge-key}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-recognition-rules/product-charges/{charge-key}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/revenue-recognition-rules/subscription-charges/{charge-key}:
    get:
      summary: Get revenue recognition rule by subscription charge
      operationId: GET_RevenueRecRules
      description: 'Retrieves the revenue recognition rule associated with a subscription
        charge by specifying the charge ID. Request and response field descriptions
        and sample code are provided.

        '
      tags:
      - Revenue Rules
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: charge-key
        in: path
        description: 'The unique ID of the subscription rate plan charge. For example,
          402892793e173340013e173b81000012.

          '
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              revenueRecognitionRuleName: Recognize upon invoicing
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETRevenueRecognitionRuleAssociationType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/revenue-recognition-rules/subscription-charges/{charge-key}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/revenue-recognition-rules/subscription-charges/{charge-key}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-recognition-rules/subscription-charges/{charge-key}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/revenue-recognition-rules/subscription-charges/{charge-key}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-recognition-rules/subscription-charges/{charge-key}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-recognition-rules/subscription-charges/{charge-key}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/settings/finance/revenue-automation-start-date:
    get:
      summary: Get the revenue automation start date
      operationId: GET_RevenueAutomationStartDate
      description: 'This REST API reference describes how to get the revenue automation
        start date. Request and response field descriptions and sample code are provided.

        '
      tags:
      - Revenue Rules
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      responses:
        '200':
          examples:
            application/json:
              startDate: '2012-02-01'
              updatedOn: '2013-09-11 22:49:18'
              updatedBy: MyCorpAdmin
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETRevenueStartDateSettingType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/settings/finance/revenue-automation-start-date"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/settings/finance/revenue-automation-start-date');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/settings/finance/revenue-automation-start-date")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/settings/finance/revenue-automation-start-date", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/settings/finance/revenue-automation-start-date")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/settings/finance/revenue-automation-start-date");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/revenue-schedules/credit-memo-items/{cmi-id}:
    post:
      description: |
        **Note:** This feature is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

        Creates a revenue schedule for a credit memo item, and manually distribute the revenue.
      summary: 'Create revenue schedule for credit memo item (manual distribution)

        '
      operationId: POST_RSforCreditMemoItem_ManualDistribution
      tags:
      - Revenue Schedules
      responses:
        '200':
          description: ''
          examples:
            application/json:
              success: true
              revenueScheduleNumber: RS-00000119
          schema:
            $ref: '#/definitions/POSTRevenueScheduleByTransactionResponseType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: cmi-id
        description: 'The unique ID of a credit memo item. You can get the credit
          memo item ID from the response of [Get credit memo items](https://www.zuora.com/developer/api-reference/#operation/GET_CreditMemoItems).

          '
        required: true
      - name: body
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTRevenueScheduleByTransactionType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"revenueDistributions\"\
          : [\n        {\n            \"accountingPeriodName\": \"Jan '\\''16\", \n\
          \            \"newAmount\": \"20\"\n        }, \n        {\n           \
          \ \"accountingPeriodName\": \"Open-Ended\", \n            \"newAmount\"\
          : \"30\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\"\
          : \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\"\
          , \n        \"notes\": \"My notes\"\n    }\n}' \"https://rest.zuora.com/v1/revenue-schedules/credit-memo-items/{cmi-id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/revenue-schedules/credit-memo-items/{cmi-id}');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"revenueDistributions\": [\n        {\n\
          \            \"accountingPeriodName\": \"Jan \\'16\", \n            \"newAmount\"\
          : \"20\"\n        }, \n        {\n            \"accountingPeriodName\":\
          \ \"Open-Ended\", \n            \"newAmount\": \"30\"\n        }\n    ],\
          \ \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\"\
          , \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n       \
          \ \"notes\": \"My notes\"\n    }\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan '16\", \n            \"newAmount\": \"20\"\n        }, \n        {\n            \"accountingPeriodName\": \"Open-Ended\", \n            \"newAmount\": \"30\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"My notes\"\n    }\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-schedules/credit-memo-items/{cmi-id}")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan '16\", \n            \"newAmount\": \"20\"\n        }, \n        {\n            \"accountingPeriodName\": \"Open-Ended\", \n            \"newAmount\": \"30\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"My notes\"\n    }\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/revenue-schedules/credit-memo-items/{cmi-id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-schedules/credit-memo-items/{cmi-id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan '16\", \n            \"newAmount\": \"20\"\n        }, \n        {\n            \"accountingPeriodName\": \"Open-Ended\", \n            \"newAmount\": \"30\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"My notes\"\n    }\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-schedules/credit-memo-items/{cmi-id}");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan '16\", \n            \"newAmount\": \"20\"\n        }, \n        {\n            \"accountingPeriodName\": \"Open-Ended\", \n            \"newAmount\": \"30\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"My notes\"\n    }\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      description: |
        **Note:** This feature is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

        Retrieves the details about a revenue schedule by specifying a valid credit memo item ID.
      summary: 'Get revenue schedule by credit memo item ID

        '
      operationId: GET_RSbyCreditMemoItem
      tags:
      - Revenue Schedules
      responses:
        '200':
          description: ''
          examples:
            application/json:
              number: RS-00000116
              recognitionRuleName: Recognize upon invoicing
              amount: -100
              undistributedUnrecognizedRevenue: 0
              recognizedRevenue: 0
              unrecognizedRevenue: -100
              currency: USD
              notes: null
              createdOn: '2017-03-03 08:52:59'
              updatedOn: '2017-03-03 08:53:00'
              accountId: 2c90838f42cf16030142cf215ecb0014
              subscriptionId: 4028903b5a7eb9bc015a91a744a90111
              subscriptionChargeId: 4028903b5a7eb9bc015a91a744a90222
              productChargeId: 4028903b5a7eb9bc015a91a744a90165
              linkedTransactionId: 4028903b5a7eb9bc015a91a7bb380171
              linkedTransactionNumber: CM00000001
              linkedTransactionType: CreditMemoItem
              referenceId: null
              revenueScheduleDate: '2017-03-03'
              revenueItems:
              - accountingPeriodName: Mar-2017
                isAccountingPeriodClosed: false
                amount: -100
                currency: USD
                accountingPeriodStartDate: '2017-03-01'
                accountingPeriodEndDate: '2017-03-31'
                recognizedRevenueAccountingCodeType: Sales Revenue
                recognizedRevenueAccountingCode: Subscription Revenue
                deferredRevenueAccountingCodeType: Deferred Revenue
                deferredRevenueAccountingCode: Deferred Revenue
              success: true
          schema:
            $ref: '#/definitions/GETRSDetailType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: cmi-id
        description: 'The unique ID of a credit memo item. You can get the credit
          memo item ID from the response of [Get credit memo items](https://www.zuora.com/developer/api-reference/#operation/GET_CreditMemoItems).

          '
        required: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/revenue-schedules/credit-memo-items/{cmi-id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/revenue-schedules/credit-memo-items/{cmi-id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-schedules/credit-memo-items/{cmi-id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/revenue-schedules/credit-memo-items/{cmi-id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-schedules/credit-memo-items/{cmi-id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-schedules/credit-memo-items/{cmi-id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/revenue-schedules/credit-memo-items/{cmi-id}/distribute-revenue-with-date-range:
    post:
      description: |
        **Note:** This feature is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

        Creates a revenue schedule for a credit memo item, and automatically distribute the revenue by specifying the recognition start and end dates.
      summary: 'Create revenue schedule for credit memo item (distribute by date range)

        '
      operationId: POST_RSforCreditMemoItem_DistributeByDateRange
      tags:
      - Revenue Schedules
      responses:
        '200':
          description: ''
          examples:
            application/json:
              success: true
              revenueScheduleNumber: RS-00000119
          schema:
            $ref: '#/definitions/POSTRevenueScheduleByTransactionResponseType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: cmi-id
        description: 'The unique ID of a credit memo item. You can get the credit
          memo item ID from the response of [Get credit memo items](https://www.zuora.com/developer/api-reference/#operation/GET_CreditMemoItems).

          '
        required: true
      - name: body
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTRevenueScheduleByTransactionRatablyCMType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"distributionType\"\
          : \"daily distribution\", \n    \"notes\": \"notes\", \n    \"recognitionEnd\"\
          : \"2016-12-31\", \n    \"recognitionStart\": \"2016-01-01\", \n    \"revenueEvent\"\
          : {\n        \"eventType\": \"Credit Memo Posted\", \n        \"eventTypeSystemId\"\
          : \"CreditMemoPosted__z\", \n        \"notes\": \"some notes\"\n    }\n\
          }' \"https://rest.zuora.com/v1/revenue-schedules/credit-memo-items/{cmi-id}/distribute-revenue-with-date-range\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/revenue-schedules/credit-memo-items/{cmi-id}/distribute-revenue-with-date-range');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"distributionType\": \"daily distribution\"\
          , \n    \"notes\": \"notes\", \n    \"recognitionEnd\": \"2016-12-31\",\
          \ \n    \"recognitionStart\": \"2016-01-01\", \n    \"revenueEvent\": {\n\
          \        \"eventType\": \"Credit Memo Posted\", \n        \"eventTypeSystemId\"\
          : \"CreditMemoPosted__z\", \n        \"notes\": \"some notes\"\n    }\n\
          }');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"distributionType\": \"daily distribution\", \n    \"notes\": \"notes\", \n    \"recognitionEnd\": \"2016-12-31\", \n    \"recognitionStart\": \"2016-01-01\", \n    \"revenueEvent\": {\n        \"eventType\": \"Credit Memo Posted\", \n        \"eventTypeSystemId\": \"CreditMemoPosted__z\", \n        \"notes\": \"some notes\"\n    }\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-schedules/credit-memo-items/{cmi-id}/distribute-revenue-with-date-range")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"distributionType\": \"daily distribution\", \n    \"notes\": \"notes\", \n    \"recognitionEnd\": \"2016-12-31\", \n    \"recognitionStart\": \"2016-01-01\", \n    \"revenueEvent\": {\n        \"eventType\": \"Credit Memo Posted\", \n        \"eventTypeSystemId\": \"CreditMemoPosted__z\", \n        \"notes\": \"some notes\"\n    }\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/revenue-schedules/credit-memo-items/{cmi-id}/distribute-revenue-with-date-range", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-schedules/credit-memo-items/{cmi-id}/distribute-revenue-with-date-range")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"distributionType\": \"daily distribution\", \n    \"notes\": \"notes\", \n    \"recognitionEnd\": \"2016-12-31\", \n    \"recognitionStart\": \"2016-01-01\", \n    \"revenueEvent\": {\n        \"eventType\": \"Credit Memo Posted\", \n        \"eventTypeSystemId\": \"CreditMemoPosted__z\", \n        \"notes\": \"some notes\"\n    }\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-schedules/credit-memo-items/{cmi-id}/distribute-revenue-with-date-range");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"distributionType\": \"daily distribution\", \n    \"notes\": \"notes\", \n    \"recognitionEnd\": \"2016-12-31\", \n    \"recognitionStart\": \"2016-01-01\", \n    \"revenueEvent\": {\n        \"eventType\": \"Credit Memo Posted\", \n        \"eventTypeSystemId\": \"CreditMemoPosted__z\", \n        \"notes\": \"some notes\"\n    }\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/revenue-schedules/debit-memo-items/{dmi-id}:
    post:
      description: |
        **Note:** This feature is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

        Creates a revenue schedule for a debit memo item, and manually distribute the revenue.
      summary: 'Create revenue schedule for debit memo item (manual distribution)

        '
      operationId: POST_RSforDebitMemoItem_ManualDistribution
      tags:
      - Revenue Schedules
      responses:
        '200':
          description: ''
          examples:
            application/json:
              success: true
              revenueScheduleNumber: RS-00000119
          schema:
            $ref: '#/definitions/POSTRevenueScheduleByTransactionResponseType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: dmi-id
        description: 'The unique ID of a debit memo item. You can get the debit memo
          item ID from the response of [Get debit memo items](https://www.zuora.com/developer/api-reference/#operation/GET_DebitMemoItems).

          '
        required: true
      - name: body
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTRevenueScheduleByTransactionType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"revenueDistributions\"\
          : [\n        {\n            \"accountingPeriodName\": \"Jan '\\''16\", \n\
          \            \"newAmount\": \"20\"\n        }, \n        {\n           \
          \ \"accountingPeriodName\": \"Open-Ended\", \n            \"newAmount\"\
          : \"30\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\"\
          : \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\"\
          , \n        \"notes\": \"My notes\"\n    }\n}' \"https://rest.zuora.com/v1/revenue-schedules/debit-memo-items/{dmi-id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/revenue-schedules/debit-memo-items/{dmi-id}');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"revenueDistributions\": [\n        {\n\
          \            \"accountingPeriodName\": \"Jan \\'16\", \n            \"newAmount\"\
          : \"20\"\n        }, \n        {\n            \"accountingPeriodName\":\
          \ \"Open-Ended\", \n            \"newAmount\": \"30\"\n        }\n    ],\
          \ \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\"\
          , \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n       \
          \ \"notes\": \"My notes\"\n    }\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan '16\", \n            \"newAmount\": \"20\"\n        }, \n        {\n            \"accountingPeriodName\": \"Open-Ended\", \n            \"newAmount\": \"30\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"My notes\"\n    }\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-schedules/debit-memo-items/{dmi-id}")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan '16\", \n            \"newAmount\": \"20\"\n        }, \n        {\n            \"accountingPeriodName\": \"Open-Ended\", \n            \"newAmount\": \"30\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"My notes\"\n    }\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/revenue-schedules/debit-memo-items/{dmi-id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-schedules/debit-memo-items/{dmi-id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan '16\", \n            \"newAmount\": \"20\"\n        }, \n        {\n            \"accountingPeriodName\": \"Open-Ended\", \n            \"newAmount\": \"30\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"My notes\"\n    }\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-schedules/debit-memo-items/{dmi-id}");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan '16\", \n            \"newAmount\": \"20\"\n        }, \n        {\n            \"accountingPeriodName\": \"Open-Ended\", \n            \"newAmount\": \"30\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"My notes\"\n    }\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      description: |
        **Note:** This feature is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

        Retrieves the details about a revenue schedule by specifying a valid debit memo item ID.
      summary: 'Get revenue schedule by debit memo item ID

        '
      operationId: GET_RSbyDebitMemoItem
      tags:
      - Revenue Schedules
      responses:
        '200':
          description: ''
          examples:
            application/json:
              number: RS-00000117
              recognitionRuleName: Recognize upon invoicing
              amount: -100
              undistributedUnrecognizedRevenue: 0
              recognizedRevenue: 0
              unrecognizedRevenue: -100
              currency: USD
              notes: null
              createdOn: '2017-03-03 08:52:59'
              updatedOn: '2017-03-03 08:53:00'
              accountId: 2c90838f42cf16030142cf215ecb0014
              subscriptionId: 4028903b5a7eb9bc015a91a744a30111
              subscriptionChargeId: 4028903b5a7eb9bc015a91a344a90222
              productChargeId: 4028903b5a7eb9bc015a91a734a90165
              linkedTransactionId: 4028903b5a7eb9bc015a33a7bb380171
              linkedTransactionNumber: DM00000001
              linkedTransactionType: DebitMemoItem
              referenceId: null
              revenueScheduleDate: '2017-03-03'
              revenueItems:
              - accountingPeriodName: Mar-2017
                isAccountingPeriodClosed: false
                amount: -100
                currency: USD
                accountingPeriodStartDate: '2017-03-01'
                accountingPeriodEndDate: '2017-03-31'
                recognizedRevenueAccountingCodeType: Sales Revenue
                recognizedRevenueAccountingCode: Subscription Revenue
                deferredRevenueAccountingCodeType: Deferred Revenue
                deferredRevenueAccountingCode: Deferred Revenue
              success: true
          schema:
            $ref: '#/definitions/GETRSDetailType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: dmi-id
        description: 'The unique ID of a debit memo item. You can get the debit memo
          item ID from the response of [Get debit memo items](https://www.zuora.com/developer/api-reference/#operation/GET_DebitMemoItems).

          '
        required: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/revenue-schedules/debit-memo-items/{dmi-id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/revenue-schedules/debit-memo-items/{dmi-id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-schedules/debit-memo-items/{dmi-id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/revenue-schedules/debit-memo-items/{dmi-id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-schedules/debit-memo-items/{dmi-id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-schedules/debit-memo-items/{dmi-id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/revenue-schedules/debit-memo-items/{dmi-id}/distribute-revenue-with-date-range:
    post:
      description: |
        **Note:** This feature is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

        Creates a revenue schedule for a debit memo item, and automatically distribute the revenue by specifying the recognition start and end dates.
      summary: 'Create revenue schedule for debit memo item (distribute by date range)

        '
      operationId: POST_RSforDebitMemoItem_DistributeByDateRange
      tags:
      - Revenue Schedules
      responses:
        '200':
          description: ''
          examples:
            application/json:
              success: true
              revenueScheduleNumber: RS-00000119
          schema:
            $ref: '#/definitions/POSTRevenueScheduleByTransactionResponseType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: dmi-id
        description: 'The unique ID of a debit memo item. You can get the debit memo
          item ID from the response of [Get debit memo items](https://www.zuora.com/developer/api-reference/#operation/GET_DebitMemoItems).

          '
        required: true
      - name: body
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTRevenueScheduleByTransactionRatablyDMType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"distributionType\"\
          : \"daily distribution\", \n    \"notes\": \"notes\", \n    \"recognitionEnd\"\
          : \"2016-12-31\", \n    \"recognitionStart\": \"2016-01-01\", \n    \"revenueEvent\"\
          : {\n        \"eventType\": \"Debit Memo Posted\", \n        \"eventTypeSystemId\"\
          : \"DebitMemoPosted__z\", \n        \"notes\": \"some notes\"\n    }\n}'\
          \ \"https://rest.zuora.com/v1/revenue-schedules/debit-memo-items/{dmi-id}/distribute-revenue-with-date-range\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/revenue-schedules/debit-memo-items/{dmi-id}/distribute-revenue-with-date-range');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"distributionType\": \"daily distribution\"\
          , \n    \"notes\": \"notes\", \n    \"recognitionEnd\": \"2016-12-31\",\
          \ \n    \"recognitionStart\": \"2016-01-01\", \n    \"revenueEvent\": {\n\
          \        \"eventType\": \"Debit Memo Posted\", \n        \"eventTypeSystemId\"\
          : \"DebitMemoPosted__z\", \n        \"notes\": \"some notes\"\n    }\n}');\n\
          \ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"distributionType\": \"daily distribution\", \n    \"notes\": \"notes\", \n    \"recognitionEnd\": \"2016-12-31\", \n    \"recognitionStart\": \"2016-01-01\", \n    \"revenueEvent\": {\n        \"eventType\": \"Debit Memo Posted\", \n        \"eventTypeSystemId\": \"DebitMemoPosted__z\", \n        \"notes\": \"some notes\"\n    }\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-schedules/debit-memo-items/{dmi-id}/distribute-revenue-with-date-range")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"distributionType\": \"daily distribution\", \n    \"notes\": \"notes\", \n    \"recognitionEnd\": \"2016-12-31\", \n    \"recognitionStart\": \"2016-01-01\", \n    \"revenueEvent\": {\n        \"eventType\": \"Debit Memo Posted\", \n        \"eventTypeSystemId\": \"DebitMemoPosted__z\", \n        \"notes\": \"some notes\"\n    }\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/revenue-schedules/debit-memo-items/{dmi-id}/distribute-revenue-with-date-range", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-schedules/debit-memo-items/{dmi-id}/distribute-revenue-with-date-range")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"distributionType\": \"daily distribution\", \n    \"notes\": \"notes\", \n    \"recognitionEnd\": \"2016-12-31\", \n    \"recognitionStart\": \"2016-01-01\", \n    \"revenueEvent\": {\n        \"eventType\": \"Debit Memo Posted\", \n        \"eventTypeSystemId\": \"DebitMemoPosted__z\", \n        \"notes\": \"some notes\"\n    }\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-schedules/debit-memo-items/{dmi-id}/distribute-revenue-with-date-range");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"distributionType\": \"daily distribution\", \n    \"notes\": \"notes\", \n    \"recognitionEnd\": \"2016-12-31\", \n    \"recognitionStart\": \"2016-01-01\", \n    \"revenueEvent\": {\n        \"eventType\": \"Debit Memo Posted\", \n        \"eventTypeSystemId\": \"DebitMemoPosted__z\", \n        \"notes\": \"some notes\"\n    }\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/revenue-schedules/invoice-item-adjustments/{invoice-item-adj-key}:
    get:
      summary: Get revenue schedule by invoice item adjustment
      operationId: GET_RSbyInvoiceItemAdjustment
      description: 'Retrieves the details of a revenue schedule by specifying a valid
        invoice item adjustment identifier. Request and response field descriptions
        and sample code are provided.

        '
      tags:
      - Revenue Schedules
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: invoice-item-adj-key
        in: path
        required: true
        type: string
        description: ID of the Invoice Item Adjustment, for example, e20b07fd416dcfcf0141c81164fd0a72.
      responses:
        '200':
          examples:
            application/json:
              number: RS-00000273
              recognitionRuleName: Recognize upon invoicing
              amount: -25
              undistributedUnrecognizedRevenue: -25
              recognizedRevenue: 0
              unrecognizedRevenue: -25
              currency: USD
              notes: null
              createdOn: '2014-01-21 13:52:38'
              updatedOn: '2014-01-21 13:52:38'
              accountId: 2c92c0f8439770960143b2141f5a584e
              subscriptionId: 2c92c0f943977b4f0143b23487994327
              subscriptionChargeId: 2c92c0f943977b4f0143b23487ed432e
              linkedTransactionId: 2c92c0f8439770a40143b6ca76df205a
              linkedTransactionNumber: IIA-00000070
              linkedTransactionType: InvoiceItemAdjustment
              referenceId: null
              revenueScheduleDate: '2014-01-21'
              revenueItems:
              - accountingPeriodName: Open-Ended
                isAccountingPeriodClosed: false
                amount: -25
                currency: USD
                accountingPeriodStartDate: '2013-12-11'
                accountingPeriodEndDate: null
                recognizedRevenueAccountingCodeType: null
                recognizedRevenueAccountingCode: null
                deferredRevenueAccountingCodeType: null
                deferredRevenueAccountingCode: null
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETRSDetailType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/revenue-schedules/invoice-item-adjustments/{invoice-item-adj-key}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/revenue-schedules/invoice-item-adjustments/{invoice-item-adj-key}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-schedules/invoice-item-adjustments/{invoice-item-adj-key}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/revenue-schedules/invoice-item-adjustments/{invoice-item-adj-key}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-schedules/invoice-item-adjustments/{invoice-item-adj-key}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-schedules/invoice-item-adjustments/{invoice-item-adj-key}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    post:
      summary: Create revenue schedule for Invoice Item Adjustment (manual distribution)
      operationId: POST_RSforInvoiceItemAdjustment_ManualDistribution
      description: 'Creates a revenue schedule for an Invoice Item Adjustment and
        manually distribute the revenue.

        '
      tags:
      - Revenue Schedules
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: invoice-item-adj-key
        in: path
        description: |
          ID or number of the Invoice Item Adjustment, for example, e20b07fd416dcfcf0141c81164fd0a72.
          If the specified Invoice Item Adjustment is already associated with a revenue schedule, the call will fail.
        required: true
        type: string
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTRevenueScheduleByTransactionType'
      responses:
        '200':
          examples:
            application/json:
              revenueScheduleNumber: rs-00000002
              success: true
          description: ''
          schema:
            $ref: '#/definitions/POSTRevenueScheduleByTransactionResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"revenueDistributions\"\
          : [\n        {\n            \"accountingPeriodName\": \"Jan '\\''16\", \n\
          \            \"newAmount\": \"20\"\n        }, \n        {\n           \
          \ \"accountingPeriodName\": \"Open-Ended\", \n            \"newAmount\"\
          : \"30\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\"\
          : \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\"\
          , \n        \"notes\": \"My notes\"\n    }\n}' \"https://rest.zuora.com/v1/revenue-schedules/invoice-item-adjustments/{invoice-item-adj-key}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/revenue-schedules/invoice-item-adjustments/{invoice-item-adj-key}');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"revenueDistributions\": [\n        {\n\
          \            \"accountingPeriodName\": \"Jan \\'16\", \n            \"newAmount\"\
          : \"20\"\n        }, \n        {\n            \"accountingPeriodName\":\
          \ \"Open-Ended\", \n            \"newAmount\": \"30\"\n        }\n    ],\
          \ \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\"\
          , \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n       \
          \ \"notes\": \"My notes\"\n    }\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan '16\", \n            \"newAmount\": \"20\"\n        }, \n        {\n            \"accountingPeriodName\": \"Open-Ended\", \n            \"newAmount\": \"30\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"My notes\"\n    }\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-schedules/invoice-item-adjustments/{invoice-item-adj-key}")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan '16\", \n            \"newAmount\": \"20\"\n        }, \n        {\n            \"accountingPeriodName\": \"Open-Ended\", \n            \"newAmount\": \"30\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"My notes\"\n    }\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/revenue-schedules/invoice-item-adjustments/{invoice-item-adj-key}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-schedules/invoice-item-adjustments/{invoice-item-adj-key}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan '16\", \n            \"newAmount\": \"20\"\n        }, \n        {\n            \"accountingPeriodName\": \"Open-Ended\", \n            \"newAmount\": \"30\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"My notes\"\n    }\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-schedules/invoice-item-adjustments/{invoice-item-adj-key}");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan '16\", \n            \"newAmount\": \"20\"\n        }, \n        {\n            \"accountingPeriodName\": \"Open-Ended\", \n            \"newAmount\": \"30\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"My notes\"\n    }\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/revenue-schedules/invoice-item-adjustments/{invoice-item-adj-key}/distribute-revenue-with-date-range:
    post:
      summary: Create revenue schedule for Invoice Item Adjustment (distribute by
        date range)
      operationId: POST_RSforInvoiceItemAdjustment_DistributeByDateRange
      description: 'Creates a revenue schedule for an Invoice Item Adjustment and
        distribute the revenue by specifying the recognition start and end dates.

        '
      tags:
      - Revenue Schedules
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: invoice-item-adj-key
        in: path
        description: |
          ID or number of the Invoice Item Adjustment, for example, e20b07fd416dcfcf0141c81164fd0a72.
          If the specified Invoice Item Adjustment is already associated with a revenue schedule, the call will fail.
        required: true
        type: string
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTRevenueScheduleByDateRangeType'
      responses:
        '200':
          examples:
            application/json:
              revenueScheduleNumber: RS-00000003
              success: true
          description: ''
          schema:
            $ref: '#/definitions/POSTRevenueScheduleByTransactionResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"distributionType\"\
          : \"Daily distribution\", \n    \"notes\": \"Manually distribute revenue\
          \ by usage\", \n    \"recognitionEnd\": \"2016-12-31\", \n    \"recognitionStart\"\
          : \"2016-12-1\", \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue\
          \ Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\"\
          , \n        \"notes\": \"\"\n    }\n}' \"https://rest.zuora.com/v1/revenue-schedules/invoice-item-adjustments/{invoice-item-adj-key}/distribute-revenue-with-date-range\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/revenue-schedules/invoice-item-adjustments/{invoice-item-adj-key}/distribute-revenue-with-date-range');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"distributionType\": \"Daily distribution\"\
          , \n    \"notes\": \"Manually distribute revenue by usage\", \n    \"recognitionEnd\"\
          : \"2016-12-31\", \n    \"recognitionStart\": \"2016-12-1\", \n    \"revenueEvent\"\
          : {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\"\
          : \"RevenueDistributed__z\", \n        \"notes\": \"\"\n    }\n}');\n\n\
          try {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"distributionType\": \"Daily distribution\", \n    \"notes\": \"Manually distribute revenue by usage\", \n    \"recognitionEnd\": \"2016-12-31\", \n    \"recognitionStart\": \"2016-12-1\", \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"\"\n    }\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-schedules/invoice-item-adjustments/{invoice-item-adj-key}/distribute-revenue-with-date-range")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"distributionType\": \"Daily distribution\", \n    \"notes\": \"Manually distribute revenue by usage\", \n    \"recognitionEnd\": \"2016-12-31\", \n    \"recognitionStart\": \"2016-12-1\", \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"\"\n    }\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/revenue-schedules/invoice-item-adjustments/{invoice-item-adj-key}/distribute-revenue-with-date-range", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-schedules/invoice-item-adjustments/{invoice-item-adj-key}/distribute-revenue-with-date-range")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"distributionType\": \"Daily distribution\", \n    \"notes\": \"Manually distribute revenue by usage\", \n    \"recognitionEnd\": \"2016-12-31\", \n    \"recognitionStart\": \"2016-12-1\", \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"\"\n    }\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-schedules/invoice-item-adjustments/{invoice-item-adj-key}/distribute-revenue-with-date-range");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"distributionType\": \"Daily distribution\", \n    \"notes\": \"Manually distribute revenue by usage\", \n    \"recognitionEnd\": \"2016-12-31\", \n    \"recognitionStart\": \"2016-12-1\", \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"\"\n    }\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/revenue-schedules/invoice-items/{invoice-item-id}:
    post:
      summary: Create revenue schedule for Invoice Item (manual distribution)
      operationId: POST_RSforInvoiceItem_ManualDistribution
      description: 'Creates a revenue schedule for an Invoice Item and manually distribute
        the revenue.

        '
      tags:
      - Revenue Schedules
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: invoice-item-id
        in: path
        description: |
          ID of the Invoice Item, for example, e20b07fd416dcfcf0141c81164fd0a75.
          If the specified Invoice Item is already associated with a revenue schedule, the call will fail.
        required: true
        type: string
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTRevenueScheduleByTransactionType'
      responses:
        '200':
          examples:
            application/json:
              revenueScheduleNumber: RS-00000002
              success: true
          description: ''
          schema:
            $ref: '#/definitions/POSTRevenueScheduleByTransactionResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"revenueDistributions\"\
          : [\n        {\n            \"accountingPeriodName\": \"Jan '\\''16\", \n\
          \            \"newAmount\": \"20\"\n        }, \n        {\n           \
          \ \"accountingPeriodName\": \"Open-Ended\", \n            \"newAmount\"\
          : \"30\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\"\
          : \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\"\
          , \n        \"notes\": \"My notes\"\n    }\n}' \"https://rest.zuora.com/v1/revenue-schedules/invoice-items/{invoice-item-id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/revenue-schedules/invoice-items/{invoice-item-id}');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"revenueDistributions\": [\n        {\n\
          \            \"accountingPeriodName\": \"Jan \\'16\", \n            \"newAmount\"\
          : \"20\"\n        }, \n        {\n            \"accountingPeriodName\":\
          \ \"Open-Ended\", \n            \"newAmount\": \"30\"\n        }\n    ],\
          \ \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\"\
          , \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n       \
          \ \"notes\": \"My notes\"\n    }\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan '16\", \n            \"newAmount\": \"20\"\n        }, \n        {\n            \"accountingPeriodName\": \"Open-Ended\", \n            \"newAmount\": \"30\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"My notes\"\n    }\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-schedules/invoice-items/{invoice-item-id}")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan '16\", \n            \"newAmount\": \"20\"\n        }, \n        {\n            \"accountingPeriodName\": \"Open-Ended\", \n            \"newAmount\": \"30\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"My notes\"\n    }\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/revenue-schedules/invoice-items/{invoice-item-id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-schedules/invoice-items/{invoice-item-id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan '16\", \n            \"newAmount\": \"20\"\n        }, \n        {\n            \"accountingPeriodName\": \"Open-Ended\", \n            \"newAmount\": \"30\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"My notes\"\n    }\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-schedules/invoice-items/{invoice-item-id}");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan '16\", \n            \"newAmount\": \"20\"\n        }, \n        {\n            \"accountingPeriodName\": \"Open-Ended\", \n            \"newAmount\": \"30\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"My notes\"\n    }\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      summary: Get revenue schedule by invoice item ID
      operationId: GET_RSbyInvoiceItem
      description: 'Retrieves the details of a revenue schedule by specifying the
        invoice item ID.

        '
      tags:
      - Revenue Schedules
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: invoice-item-id
        in: path
        description: A valid Invoice Item ID.
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              number: RS-00000290
              recognitionRuleName: Recognize upon invoicing
              amount: 50
              undistributedUnrecognizedRevenue: 50
              recognizedRevenue: 0
              unrecognizedRevenue: 50
              currency: USD
              notes: null
              createdOn: '2014-01-21 13:59:25'
              updatedOn: '2014-01-21 13:59:25'
              accountId: 2c92c0f8439770960143b2141f5a584e
              subscriptionId: 2c92c0f943977b4f0143b23487994327
              subscriptionChargeId: 2c92c0f943977b4f0143b23487ed432e
              linkedTransactionId: 2c92c094439782460143b62c2ee60f59
              linkedTransactionType: InvoiceItem
              referenceId: null
              revenueScheduleDate: '2014-01-21'
              revenueItems:
              - accountingPeriodName: Open-Ended
                isAccountingPeriodClosed: false
                amount: 50
                currency: USD
                accountingPeriodStartDate: '2013-12-11'
                accountingPeriodEndDate: null
                recognizedRevenueAccountingCodeType: 'Revenue: Sales'
                recognizedRevenueAccountingCode: Recurring Monthly Revenue
                deferredRevenueAccountingCodeType: null
                deferredRevenueAccountingCode: null
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETRSDetailType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/revenue-schedules/invoice-items/{invoice-item-id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/revenue-schedules/invoice-items/{invoice-item-id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-schedules/invoice-items/{invoice-item-id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/revenue-schedules/invoice-items/{invoice-item-id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-schedules/invoice-items/{invoice-item-id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-schedules/invoice-items/{invoice-item-id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/revenue-schedules/invoice-items/{invoice-item-id}/distribute-revenue-with-date-range:
    post:
      summary: Create revenue schedule for Invoice Item (distribute by date range)
      operationId: POST_RSforInvoiceItem_DistributeByDateRange
      description: 'Creates a revenue schedule for an Invoice Item and distribute
        the revenue by specifying the recognition start and end dates.

        '
      tags:
      - Revenue Schedules
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: invoice-item-id
        in: path
        description: |
          ID of the Invoice Item, for example, e20b07fd416dcfcf0141c81164fd0a75.
          If the specified Invoice Item is already associated with a revenue schedule, the call will fail.
        required: true
        type: string
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTRevenueScheduleByDateRangeType'
      responses:
        '200':
          examples:
            application/json:
              revenueScheduleNumber: RS-00000003
              success: true
          description: ''
          schema:
            $ref: '#/definitions/POSTRevenueScheduleByTransactionResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"distributionType\"\
          : \"Daily distribution\", \n    \"notes\": \"Manually distribute revenue\
          \ by usage\", \n    \"recognitionEnd\": \"2016-12-31\", \n    \"recognitionStart\"\
          : \"2016-12-1\", \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue\
          \ Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\"\
          , \n        \"notes\": \"\"\n    }\n}' \"https://rest.zuora.com/v1/revenue-schedules/invoice-items/{invoice-item-id}/distribute-revenue-with-date-range\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/revenue-schedules/invoice-items/{invoice-item-id}/distribute-revenue-with-date-range');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"distributionType\": \"Daily distribution\"\
          , \n    \"notes\": \"Manually distribute revenue by usage\", \n    \"recognitionEnd\"\
          : \"2016-12-31\", \n    \"recognitionStart\": \"2016-12-1\", \n    \"revenueEvent\"\
          : {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\"\
          : \"RevenueDistributed__z\", \n        \"notes\": \"\"\n    }\n}');\n\n\
          try {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"distributionType\": \"Daily distribution\", \n    \"notes\": \"Manually distribute revenue by usage\", \n    \"recognitionEnd\": \"2016-12-31\", \n    \"recognitionStart\": \"2016-12-1\", \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"\"\n    }\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-schedules/invoice-items/{invoice-item-id}/distribute-revenue-with-date-range")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"distributionType\": \"Daily distribution\", \n    \"notes\": \"Manually distribute revenue by usage\", \n    \"recognitionEnd\": \"2016-12-31\", \n    \"recognitionStart\": \"2016-12-1\", \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"\"\n    }\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/revenue-schedules/invoice-items/{invoice-item-id}/distribute-revenue-with-date-range", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-schedules/invoice-items/{invoice-item-id}/distribute-revenue-with-date-range")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"distributionType\": \"Daily distribution\", \n    \"notes\": \"Manually distribute revenue by usage\", \n    \"recognitionEnd\": \"2016-12-31\", \n    \"recognitionStart\": \"2016-12-1\", \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"\"\n    }\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-schedules/invoice-items/{invoice-item-id}/distribute-revenue-with-date-range");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"distributionType\": \"Daily distribution\", \n    \"notes\": \"Manually distribute revenue by usage\", \n    \"recognitionEnd\": \"2016-12-31\", \n    \"recognitionStart\": \"2016-12-1\", \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"RevenueDistributed__z\", \n        \"notes\": \"\"\n    }\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/revenue-schedules/product-charges/{charge-key}/{account-key}:
    get:
      description: |
        **Note:** This feature is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

        Retrieves the details about all revenue schedules of a product rate plan charge by specifying the charge ID and billing account ID.
      summary: 'Get all revenue schedules of product charge by charge ID and billing
        account ID

        '
      operationId: GET_RSbyProductChargeAndBillingAccount
      tags:
      - Revenue Schedules
      responses:
        '200':
          description: ''
          examples:
            application/json:
              revenueSchedules:
              - number: RS-00000123
                recognitionRuleName: Custom - Unlimited recognition
                amount: 100
                undistributedUnrecognizedRevenue: 0
                recognizedRevenue: 0
                unrecognizedRevenue: 100
                currency: USD
                notes: some notes
                createdOn: '2017-03-03 09:55:53'
                updatedOn: '2017-03-03 09:55:53'
                accountId: 2c90838f42cf16030142cf215ecb0014
                productChargeId: 4028903b5a7eb9bc015a91a77404016a
                linkedTransactionId: 4028903b5a7eb9bc015a91df45ea024e
                linkedTransactionNumber: DM00000003
                linkedTransactionType: DebitMemoItem
                referenceId: null
                revenueScheduleDate: '2017-03-03'
                revenueItems:
                - accountingPeriodName: Mar-2017
                  isAccountingPeriodClosed: false
                  amount: 50
                  currency: USD
                  accountingPeriodStartDate: '2017-03-01'
                  accountingPeriodEndDate: '2017-03-31'
                  recognizedRevenueAccountingCodeType: null
                  recognizedRevenueAccountingCode: null
                  deferredRevenueAccountingCodeType: null
                  deferredRevenueAccountingCode: null
                - accountingPeriodName: Apr-2017
                  isAccountingPeriodClosed: false
                  amount: 50
                  currency: USD
                  accountingPeriodStartDate: '2017-04-01'
                  accountingPeriodEndDate: '2017-04-30'
                  recognizedRevenueAccountingCodeType: null
                  recognizedRevenueAccountingCode: null
                  deferredRevenueAccountingCodeType: null
                  deferredRevenueAccountingCode: null
              - number: RS-00000120
                recognitionRuleName: Custom - Unlimited recognition
                amount: 98.9
                undistributedUnrecognizedRevenue: 0
                recognizedRevenue: 0
                unrecognizedRevenue: 100
                currency: USD
                notes: notes
                createdOn: '2017-03-03 09:36:57'
                updatedOn: '2017-03-03 09:36:57'
                accountId: 2c90838f42cf16030142cf215ecb0014
                productChargeId: 4028903b5a7eb9bc015a91a77404016a
                linkedTransactionId: 4028903b5a7eb9bc015a91cc368101d1
                linkedTransactionNumber: DM00000002
                linkedTransactionType: DebitMemoItem
                referenceId: null
                revenueScheduleDate: '2017-03-03'
                revenueItems:
                - accountingPeriodName: Jan-2016
                  isAccountingPeriodClosed: false
                  amount: 98.9
                  currency: USD
                  accountingPeriodStartDate: '2016-01-01'
                  accountingPeriodEndDate: '2016-01-31'
                  recognizedRevenueAccountingCodeType: null
                  recognizedRevenueAccountingCode: null
                  deferredRevenueAccountingCodeType: null
                  deferredRevenueAccountingCode: null
              success: true
          schema:
            $ref: '#/definitions/GETRSDetailsByProductChargeType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize_finance_revenue'
      - type: string
        in: path
        name: account-key
        description: 'The account number or account ID.

          '
        required: true
      - type: string
        in: path
        name: charge-key
        description: 'The unique ID of a product rate plan charge. For example, 8a8082e65ba86084015bb323d3c61d82.

          '
        required: true
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/revenue-schedules/product-charges/{charge-key}/{account-key}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/revenue-schedules/product-charges/{charge-key}/{account-key}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-schedules/product-charges/{charge-key}/{account-key}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/revenue-schedules/product-charges/{charge-key}/{account-key}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-schedules/product-charges/{charge-key}/{account-key}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-schedules/product-charges/{charge-key}/{account-key}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/revenue-schedules/{rs-number}:
    get:
      summary: Get revenue schedule details
      operationId: GET_RS
      description: 'Retrieves the details of a revenue schedule by specifying the
        revenue schedule number. Request and response field descriptions and sample
        code are provided.

        '
      tags:
      - Revenue Schedules
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: rs-number
        in: path
        required: true
        type: string
        description: 'Revenue schedule number. The revenue schedule number is always
          prefixed with "RS", for example, "RS-00000001".

          '
      responses:
        '200':
          examples:
            application/json:
              number: RS-00000008
              recognitionRuleName: Recognize upon invoicing
              amount: 50
              undistributedUnrecognizedRevenue: -10
              recognizedRevenue: 0
              unrecognizedRevenue: 50
              currency: USD
              notes: change recognition term
              createdOn: '2014-01-20 16:36:45'
              updatedOn: '2014-01-28 17:05:52'
              accountId: 2c92c0f8439770960143b2141f5a584e
              subscriptionId: 2c92c0f943977b4f0143b23487994327
              subscriptionChargeId: 2c92c0f943977b4f0143b23487ed432e
              linkedTransactionId: 2c92c095439782cd0143b239aa234cf5
              linkedTransactionType: InvoiceItem
              referenceId: null
              revenueScheduleDate: '2014-01-20'
              revenueItems:
              - accountingPeriodName: Nov'2013
                isAccountingPeriodClosed: true
                amount: 60
                currency: USD
                accountingPeriodStartDate: '2013-10-01'
                accountingPeriodEndDate: '2013-10-31'
                recognizedRevenueAccountingCodeType: 'Revenue: Sales'
                recognizedRevenueAccountingCode: MONTHLY RECURRING CHARGE
                deferredRevenueAccountingCodeType: 'Liabilities: Deferred Revenue'
                deferredRevenueAccountingCode: MONTHLY RECURRING CHARGE
              - accountingPeriodName: Open-Ended
                isAccountingPeriodClosed: false
                amount: -10
                currency: USD
                accountingPeriodStartDate: '2013-11-01'
                accountingPeriodEndDate: null
                recognizedRevenueAccountingCodeType: 'Revenue: Sales'
                recognizedRevenueAccountingCode: MONTHLY RECURRING CHARGE
                deferredRevenueAccountingCodeType: 'Liabilities: Sales'
                deferredRevenueAccountingCode: MONTHLY RECURRING CHARGE
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETRSDetailType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/revenue-schedules/{rs-number}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/revenue-schedules/{rs-number}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-schedules/{rs-number}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/revenue-schedules/{rs-number}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-schedules/{rs-number}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-schedules/{rs-number}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    delete:
      summary: Delete revenue schedule
      operationId: DELETE_RS
      description: |
        Deletes a revenue schedule by specifying its revenue schedule number
        ## Prerequisites
        You must have the Delete Custom Revenue Schedule permissions in Zuora Finance.
      tags:
      - Revenue Schedules
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: rs-number
        in: path
        required: true
        type: string
        description: |2

          Revenue schedule number of the revenue schedule you want to delete, for example, RS-00000256. To be deleted, the revenue schedule:
          * Must be using a custom unlimited recognition rule.
          * Cannot have any revenue in a closed accounting period.
          * Cannot be included in a summary journal entry.
          * Cannot have a revenue schedule date in a closed accounting period.
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/revenue-schedules/{rs-number}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/revenue-schedules/{rs-number}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-schedules/{rs-number}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/revenue-schedules/{rs-number}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-schedules/{rs-number}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-schedules/{rs-number}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/revenue-schedules/{rs-number}/basic-information:
    put:
      summary: Update revenue schedule basic information
      operationId: PUT_RSBasicInfo
      description: 'Retrieves basic information of a revenue schedule by specifying
        the revenue schedule number. Request and response field descriptions and sample
        code are provided.

        '
      tags:
      - Revenue Schedules
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: rs-number
        in: path
        required: true
        type: string
        description: 'Revenue schedule number. The revenue schedule number is always
          prefixed with "RS", for example, "RS-00000001".

          '
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUTRSBasicInfoType'
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"notes\": \"change recognition\
          \ term\", \n    \"referenceId\": \"Reference ID\"\n}' \"https://rest.zuora.com/v1/revenue-schedules/{rs-number}/basic-information\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/revenue-schedules/{rs-number}/basic-information');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"notes\": \"change recognition term\"\
          , \n    \"referenceId\": \"Reference ID\"\n}');\n\ntry {\n  $response =\
          \ $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"notes\": \"change recognition term\", \n    \"referenceId\": \"Reference ID\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-schedules/{rs-number}/basic-information")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"notes\": \"change recognition term\", \n    \"referenceId\": \"Reference ID\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/revenue-schedules/{rs-number}/basic-information", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-schedules/{rs-number}/basic-information")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"notes\": \"change recognition term\", \n    \"referenceId\": \"Reference ID\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-schedules/{rs-number}/basic-information");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"notes\": \"change recognition term\", \n    \"referenceId\": \"Reference ID\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/revenue-schedules/{rs-number}/distribute-revenue-across-accounting-periods:
    put:
      summary: Distribute revenue across accounting periods
      operationId: PUT_RevenueAcrossAP
      description: 'Distributes revenue by specifying the revenue schedule number.
        Request and response field descriptions and sample code are provided.

        '
      tags:
      - Revenue Schedules
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: rs-number
        in: path
        required: true
        type: string
        description: 'Revenue schedule number. The revenue schedule number is always
          prefixed with "RS", for example, "RS-00000001".

          '
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUTAllocateManuallyType'
      responses:
        '200':
          examples:
            application/json:
              revenueEventNumber: RE-00000326
              success: true
          description: ''
          schema:
            $ref: '#/definitions/PUTRevenueScheduleResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"eventType\": \"Revenue\
          \ Distributed\", \n    \"eventTypeSystemId\": \"RevenueDistributed__z\"\
          , \n    \"notes\": \"Manually distribute revenue for Phase 1\", \n    \"\
          revenueDistributions\": [\n        {\n            \"accountingPeriodName\"\
          : \"Jan'\\''2013\", \n            \"newAmount\": \"500\"\n        }, \n\
          \        {\n            \"accountingPeriodName\": \"Feb'\\''2013\", \n \
          \           \"newAmount\": \"600\"\n        }\n    ]\n}' \"https://rest.zuora.com/v1/revenue-schedules/{rs-number}/distribute-revenue-across-accounting-periods\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/revenue-schedules/{rs-number}/distribute-revenue-across-accounting-periods');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"eventType\": \"Revenue Distributed\"\
          , \n    \"eventTypeSystemId\": \"RevenueDistributed__z\", \n    \"notes\"\
          : \"Manually distribute revenue for Phase 1\", \n    \"revenueDistributions\"\
          : [\n        {\n            \"accountingPeriodName\": \"Jan\\'2013\", \n\
          \            \"newAmount\": \"500\"\n        }, \n        {\n          \
          \  \"accountingPeriodName\": \"Feb\\'2013\", \n            \"newAmount\"\
          : \"600\"\n        }\n    ]\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"eventType\": \"Revenue Distributed\", \n    \"eventTypeSystemId\": \"RevenueDistributed__z\", \n    \"notes\": \"Manually distribute revenue for Phase 1\", \n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan'2013\", \n            \"newAmount\": \"500\"\n        }, \n        {\n            \"accountingPeriodName\": \"Feb'2013\", \n            \"newAmount\": \"600\"\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-schedules/{rs-number}/distribute-revenue-across-accounting-periods")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"eventType\": \"Revenue Distributed\", \n    \"eventTypeSystemId\": \"RevenueDistributed__z\", \n    \"notes\": \"Manually distribute revenue for Phase 1\", \n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan'2013\", \n            \"newAmount\": \"500\"\n        }, \n        {\n            \"accountingPeriodName\": \"Feb'2013\", \n            \"newAmount\": \"600\"\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/revenue-schedules/{rs-number}/distribute-revenue-across-accounting-periods", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-schedules/{rs-number}/distribute-revenue-across-accounting-periods")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"eventType\": \"Revenue Distributed\", \n    \"eventTypeSystemId\": \"RevenueDistributed__z\", \n    \"notes\": \"Manually distribute revenue for Phase 1\", \n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan'2013\", \n            \"newAmount\": \"500\"\n        }, \n        {\n            \"accountingPeriodName\": \"Feb'2013\", \n            \"newAmount\": \"600\"\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-schedules/{rs-number}/distribute-revenue-across-accounting-periods");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"eventType\": \"Revenue Distributed\", \n    \"eventTypeSystemId\": \"RevenueDistributed__z\", \n    \"notes\": \"Manually distribute revenue for Phase 1\", \n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan'2013\", \n            \"newAmount\": \"500\"\n        }, \n        {\n            \"accountingPeriodName\": \"Feb'2013\", \n            \"newAmount\": \"600\"\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/revenue-schedules/{rs-number}/distribute-revenue-on-specific-date:
    put:
      summary: Distribute revenue on specific date
      operationId: PUT_RevenueSpecificDate
      description: 'Distributes revenue on a specific recognition date. Request and
        response field descriptions and sample code are provided.

        '
      tags:
      - Revenue Schedules
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: rs-number
        in: path
        required: true
        type: string
        description: 'Revenue schedule number. The revenue schedule number is always
          prefixed with "RS", for example, "RS-00000001".

          '
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUTSpecificDateAllocationType'
      responses:
        '200':
          examples:
            application/json:
              revenueEventNumber: RE-00000326
              success: true
          description: ''
          schema:
            $ref: '#/definitions/PUTRevenueScheduleResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"amount\": \"1000.00\"\
          , \n    \"distributeOn\": \"2016-02-03\", \n    \"distributionType\": \"\
          specific date (delta fixed amount)\", \n    \"eventType\": \"Revenue Distributed\"\
          , \n    \"eventTypeSystemId\": \"RevenueDistributed__z\", \n    \"notes\"\
          : \"service delivered and accepted by customer\"\n}' \"https://rest.zuora.com/v1/revenue-schedules/{rs-number}/distribute-revenue-on-specific-date\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/revenue-schedules/{rs-number}/distribute-revenue-on-specific-date');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"amount\": \"1000.00\", \n    \"distributeOn\"\
          : \"2016-02-03\", \n    \"distributionType\": \"specific date (delta fixed\
          \ amount)\", \n    \"eventType\": \"Revenue Distributed\", \n    \"eventTypeSystemId\"\
          : \"RevenueDistributed__z\", \n    \"notes\": \"service delivered and accepted\
          \ by customer\"\n}');\n\ntry {\n  $response = $request->send();\n\n  echo\
          \ $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"amount\": \"1000.00\", \n    \"distributeOn\": \"2016-02-03\", \n    \"distributionType\": \"specific date (delta fixed amount)\", \n    \"eventType\": \"Revenue Distributed\", \n    \"eventTypeSystemId\": \"RevenueDistributed__z\", \n    \"notes\": \"service delivered and accepted by customer\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-schedules/{rs-number}/distribute-revenue-on-specific-date")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"amount\": \"1000.00\", \n    \"distributeOn\": \"2016-02-03\", \n    \"distributionType\": \"specific date (delta fixed amount)\", \n    \"eventType\": \"Revenue Distributed\", \n    \"eventTypeSystemId\": \"RevenueDistributed__z\", \n    \"notes\": \"service delivered and accepted by customer\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/revenue-schedules/{rs-number}/distribute-revenue-on-specific-date", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-schedules/{rs-number}/distribute-revenue-on-specific-date")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"amount\": \"1000.00\", \n    \"distributeOn\": \"2016-02-03\", \n    \"distributionType\": \"specific date (delta fixed amount)\", \n    \"eventType\": \"Revenue Distributed\", \n    \"eventTypeSystemId\": \"RevenueDistributed__z\", \n    \"notes\": \"service delivered and accepted by customer\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-schedules/{rs-number}/distribute-revenue-on-specific-date");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"amount\": \"1000.00\", \n    \"distributeOn\": \"2016-02-03\", \n    \"distributionType\": \"specific date (delta fixed amount)\", \n    \"eventType\": \"Revenue Distributed\", \n    \"eventTypeSystemId\": \"RevenueDistributed__z\", \n    \"notes\": \"service delivered and accepted by customer\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/revenue-schedules/{rs-number}/distribute-revenue-with-date-range:
    put:
      summary: Distribute revenue by recognition start and end dates
      operationId: PUT_RevenueByRecognitionStartandEndDates
      description: 'Distributes revenue by specifying the recognition start and end
        dates. Request and response field descriptions and sample code are provided.

        '
      tags:
      - Revenue Schedules
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: rs-number
        in: path
        required: true
        type: string
        description: "Revenue schedule number. Specify the revenue schedule whose\
          \ revenue you want to distribute.\n  \nThe revenue schedule number is always\
          \ prefixed with \"RS\", for example, \"RS-00000001\".\n"
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUTRSTermType'
      responses:
        '200':
          examples:
            application/json:
              revenueEventNumber: RE-00000326
              success: true
          description: ''
          schema:
            $ref: '#/definitions/PUTRevenueScheduleResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"distributionType\"\
          : \"Daily distribution\", \n    \"eventType\": \"Revenue Distributed\",\
          \ \n    \"eventTypeSystemId\": \"RevenueDistributed__z\", \n    \"notes\"\
          : \"manual distribute revenue by usage\", \n    \"recognitionEnd\": \"2015-12-31\"\
          , \n    \"recognitionStart\": \"2015-12-1\"\n}' \"https://rest.zuora.com/v1/revenue-schedules/{rs-number}/distribute-revenue-with-date-range\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/revenue-schedules/{rs-number}/distribute-revenue-with-date-range');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"distributionType\": \"Daily distribution\"\
          , \n    \"eventType\": \"Revenue Distributed\", \n    \"eventTypeSystemId\"\
          : \"RevenueDistributed__z\", \n    \"notes\": \"manual distribute revenue\
          \ by usage\", \n    \"recognitionEnd\": \"2015-12-31\", \n    \"recognitionStart\"\
          : \"2015-12-1\"\n}');\n\ntry {\n  $response = $request->send();\n\n  echo\
          \ $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"distributionType\": \"Daily distribution\", \n    \"eventType\": \"Revenue Distributed\", \n    \"eventTypeSystemId\": \"RevenueDistributed__z\", \n    \"notes\": \"manual distribute revenue by usage\", \n    \"recognitionEnd\": \"2015-12-31\", \n    \"recognitionStart\": \"2015-12-1\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-schedules/{rs-number}/distribute-revenue-with-date-range")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"distributionType\": \"Daily distribution\", \n    \"eventType\": \"Revenue Distributed\", \n    \"eventTypeSystemId\": \"RevenueDistributed__z\", \n    \"notes\": \"manual distribute revenue by usage\", \n    \"recognitionEnd\": \"2015-12-31\", \n    \"recognitionStart\": \"2015-12-1\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/revenue-schedules/{rs-number}/distribute-revenue-with-date-range", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-schedules/{rs-number}/distribute-revenue-with-date-range")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"distributionType\": \"Daily distribution\", \n    \"eventType\": \"Revenue Distributed\", \n    \"eventTypeSystemId\": \"RevenueDistributed__z\", \n    \"notes\": \"manual distribute revenue by usage\", \n    \"recognitionEnd\": \"2015-12-31\", \n    \"recognitionStart\": \"2015-12-1\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-schedules/{rs-number}/distribute-revenue-with-date-range");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"distributionType\": \"Daily distribution\", \n    \"eventType\": \"Revenue Distributed\", \n    \"eventTypeSystemId\": \"RevenueDistributed__z\", \n    \"notes\": \"manual distribute revenue by usage\", \n    \"recognitionEnd\": \"2015-12-31\", \n    \"recognitionStart\": \"2015-12-1\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/revenue-schedules/subscription-charges/{charge-key}:
    post:
      summary: Create revenue schedule on subscription charge
      operationId: POST_RSforSubscCharge
      description: |
        Creates a revenue schedule by specifying the subscription charge. This method is for custom unlimited revenue recognition only.

        **Note**: You can create a maximum of 3,000 revenue schedules for a subscription charge.
      tags:
      - Revenue Schedules
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: charge-key
        in: path
        description: ID of the subscription rate plan charge; for example, 402892793e173340013e173b81000012.
        required: true
        type: string
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTRevenueScheduleByChargeType'
      responses:
        '200':
          examples:
            application/json:
              revenueScheduleNumber: rs-00000001
              success: true
          description: ''
          schema:
            $ref: '#/definitions/POSTRevenueScheduleByChargeResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"amount\": \"300\",\
          \ \n    \"deferredRevenueAccountingCode\": \"Deferred Revenue\", \n    \"\
          deferredRevenueAccountingCodeType\": \"Deferred Revenue\", \n    \"overrideChargeAccountingCodes\"\
          : \"true\", \n    \"recognizedRevenueAccountingCode\": \"Subscription Revenue\"\
          , \n    \"recognizedRevenueAccountingCodeType\": \"Sales Revenue\", \n \
          \   \"referenceId\": \"rs transaction ref\", \n    \"revenueDistributions\"\
          : [\n        {\n            \"accountingPeriodName\": \"Jan'\\''2013\",\
          \ \n            \"newAmount\": \"100\"\n        }, \n        {\n       \
          \     \"accountingPeriodName\": \"Feb'\\''2013\", \n            \"newAmount\"\
          : \"200\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\"\
          : \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"1111111\"\
          , \n        \"notes\": \"Manually distribute revenue by usage\"\n    },\
          \ \n    \"revenueScheduleDate\": \"2013-01-01\"\n}' \"https://rest.zuora.com/v1/revenue-schedules/subscription-charges/{charge-key}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/revenue-schedules/subscription-charges/{charge-key}');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"amount\": \"300\", \n    \"deferredRevenueAccountingCode\"\
          : \"Deferred Revenue\", \n    \"deferredRevenueAccountingCodeType\": \"\
          Deferred Revenue\", \n    \"overrideChargeAccountingCodes\": \"true\", \n\
          \    \"recognizedRevenueAccountingCode\": \"Subscription Revenue\", \n \
          \   \"recognizedRevenueAccountingCodeType\": \"Sales Revenue\", \n    \"\
          referenceId\": \"rs transaction ref\", \n    \"revenueDistributions\": [\n\
          \        {\n            \"accountingPeriodName\": \"Jan\\'2013\", \n   \
          \         \"newAmount\": \"100\"\n        }, \n        {\n            \"\
          accountingPeriodName\": \"Feb\\'2013\", \n            \"newAmount\": \"\
          200\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\"\
          : \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"1111111\"\
          , \n        \"notes\": \"Manually distribute revenue by usage\"\n    },\
          \ \n    \"revenueScheduleDate\": \"2013-01-01\"\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"amount\": \"300\", \n    \"deferredRevenueAccountingCode\": \"Deferred Revenue\", \n    \"deferredRevenueAccountingCodeType\": \"Deferred Revenue\", \n    \"overrideChargeAccountingCodes\": \"true\", \n    \"recognizedRevenueAccountingCode\": \"Subscription Revenue\", \n    \"recognizedRevenueAccountingCodeType\": \"Sales Revenue\", \n    \"referenceId\": \"rs transaction ref\", \n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan'2013\", \n            \"newAmount\": \"100\"\n        }, \n        {\n            \"accountingPeriodName\": \"Feb'2013\", \n            \"newAmount\": \"200\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"1111111\", \n        \"notes\": \"Manually distribute revenue by usage\"\n    }, \n    \"revenueScheduleDate\": \"2013-01-01\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-schedules/subscription-charges/{charge-key}")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"amount\": \"300\", \n    \"deferredRevenueAccountingCode\": \"Deferred Revenue\", \n    \"deferredRevenueAccountingCodeType\": \"Deferred Revenue\", \n    \"overrideChargeAccountingCodes\": \"true\", \n    \"recognizedRevenueAccountingCode\": \"Subscription Revenue\", \n    \"recognizedRevenueAccountingCodeType\": \"Sales Revenue\", \n    \"referenceId\": \"rs transaction ref\", \n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan'2013\", \n            \"newAmount\": \"100\"\n        }, \n        {\n            \"accountingPeriodName\": \"Feb'2013\", \n            \"newAmount\": \"200\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"1111111\", \n        \"notes\": \"Manually distribute revenue by usage\"\n    }, \n    \"revenueScheduleDate\": \"2013-01-01\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/revenue-schedules/subscription-charges/{charge-key}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-schedules/subscription-charges/{charge-key}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"amount\": \"300\", \n    \"deferredRevenueAccountingCode\": \"Deferred Revenue\", \n    \"deferredRevenueAccountingCodeType\": \"Deferred Revenue\", \n    \"overrideChargeAccountingCodes\": \"true\", \n    \"recognizedRevenueAccountingCode\": \"Subscription Revenue\", \n    \"recognizedRevenueAccountingCodeType\": \"Sales Revenue\", \n    \"referenceId\": \"rs transaction ref\", \n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan'2013\", \n            \"newAmount\": \"100\"\n        }, \n        {\n            \"accountingPeriodName\": \"Feb'2013\", \n            \"newAmount\": \"200\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"1111111\", \n        \"notes\": \"Manually distribute revenue by usage\"\n    }, \n    \"revenueScheduleDate\": \"2013-01-01\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-schedules/subscription-charges/{charge-key}");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"amount\": \"300\", \n    \"deferredRevenueAccountingCode\": \"Deferred Revenue\", \n    \"deferredRevenueAccountingCodeType\": \"Deferred Revenue\", \n    \"overrideChargeAccountingCodes\": \"true\", \n    \"recognizedRevenueAccountingCode\": \"Subscription Revenue\", \n    \"recognizedRevenueAccountingCodeType\": \"Sales Revenue\", \n    \"referenceId\": \"rs transaction ref\", \n    \"revenueDistributions\": [\n        {\n            \"accountingPeriodName\": \"Jan'2013\", \n            \"newAmount\": \"100\"\n        }, \n        {\n            \"accountingPeriodName\": \"Feb'2013\", \n            \"newAmount\": \"200\"\n        }\n    ], \n    \"revenueEvent\": {\n        \"eventType\": \"Revenue Distributed\", \n        \"eventTypeSystemId\": \"1111111\", \n        \"notes\": \"Manually distribute revenue by usage\"\n    }, \n    \"revenueScheduleDate\": \"2013-01-01\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      summary: Get revenue schedule by subscription charge
      operationId: GET_RSforSubscCharge
      description: 'Retrieves the revenue schedule details by specifying subscription
        charge ID. Request and response field descriptions and sample code are provided

        '
      tags:
      - Revenue Schedules
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize_finance_revenue'
      - name: charge-key
        in: path
        description: ID of the subscription rate plan charge; for example, 402892793e173340013e173b81000012.
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              revenueSchedules:
              - number: RS-00000291
                recognitionRuleName: Recognize upon invoicing
                amount: 50
                undistributedUnrecognizedRevenue: 50
                recognizedRevenue: 0
                unrecognizedRevenue: 50
                currency: USD
                notes: null
                createdOn: '2014-01-21 13:59:25'
                updatedOn: '2014-01-21 13:59:25'
                accountId: 2c92c0f8439770960143b2141f5a584e
                subscriptionId: 2c92c0f943977b4f0143b23487994327
                subscriptionChargeId: 2c92c0f943977b4f0143b23487ed432e
                linkedTransactionId: 2c92c094439782460143b62c2ee90f5a
                linkedTransactionType: InvoiceItem
                referenceId: null
                revenueScheduleDate: '2014-01-21'
                revenueItems:
                - accountingPeriodName: Open-Ended
                  isAccountingPeriodClosed: false
                  amount: 50
                  currency: USD
                  accountingPeriodStartDate: '2013-12-11'
                  accountingPeriodEndDate: null
                  recognizedRevenueAccountingCodeType: null
                  recognizedRevenueAccountingCode: null
                  deferredRevenueAccountingCodeType: null
                  deferredRevenueAccountingCode: null
              - number: RS-00000290
                recognitionRuleName: Recognize upon invoicing
                amount: 50
                undistributedUnrecognizedRevenue: 50
                recognizedRevenue: 0
                unrecognizedRevenue: 50
                currency: USD
                notes: null
                createdOn: '2014-01-21 13:59:25'
                updatedOn: '2014-01-21 13:59:25'
                accountId: 2c92c0f8439770960143b2141f5a584e
                subscriptionId: 2c92c0f943977b4f0143b23487994327
                subscriptionChargeId: 2c92c0f943977b4f0143b23487ed432e
                linkedTransactionId: 2c92c094439782460143b62c2ee60f59
                linkedTransactionNumber: INV00000838
                linkedTransactionType: InvoiceItem
                referenceId: null
                revenueScheduleDate: '2014-01-21'
                revenueItems:
                - accountingPeriodName: Open-Ended
                  isAccountingPeriodClosed: false
                  amount: 50
                  currency: USD
                  accountingPeriodStartDate: '2013-12-11'
                  accountingPeriodEndDate: null
                  recognizedRevenueAccountingCodeType: null
                  recognizedRevenueAccountingCode: null
                  deferredRevenueAccountingCodeType: null
                  deferredRevenueAccountingCode: null
              nextPage: https://rest.zuora.com/v1/revenue-schedules/subscription-charges/2c92c0f943977b4f0143b23487ed432e?page=2&pageSize=8
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETRSDetailsByChargeType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/revenue-schedules/subscription-charges/{charge-key}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/revenue-schedules/subscription-charges/{charge-key}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revenue-schedules/subscription-charges/{charge-key}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/revenue-schedules/subscription-charges/{charge-key}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revenue-schedules/subscription-charges/{charge-key}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revenue-schedules/subscription-charges/{charge-key}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/revpro-accounting-codes:
    put:
      summary: Update an accounting code
      operationId: PUT_RevProAccountingCodes
      description: Update a RevPro Accounting Code by a valid Product Rate Plan Charge
        Id.
      tags:
      - RevPro Integration
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: body
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/RevproAccountingCodes'
      responses:
        '200':
          description: ''
          examples:
            application/json:
              success: true
          schema:
            $ref: '#/definitions/PUTRevproAccCodeResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"adjustmentLiabilityAccount\"\
          : \"adjustL-1\", \n    \"adjustmentRevenueAccount\": \"adjustRev-1\", \n\
          \    \"contractAssetAccount\": \"CA-2\", \n    \"contractLiabilityAccount\"\
          : \"CL-2\", \n    \"productRatePlanChargeId\": \"2c92c0f962470b8101624b869fcd45fc\"\
          , \n    \"recognizedRevenueAccount\": \"ContractRevRec-1\", \n    \"unbilledReceivablesAccount\"\
          : \"unbilledR-1\"\n}' \"https://rest.zuora.com/v1/revpro-accounting-codes\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/revpro-accounting-codes');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"adjustmentLiabilityAccount\": \"adjustL-1\"\
          , \n    \"adjustmentRevenueAccount\": \"adjustRev-1\", \n    \"contractAssetAccount\"\
          : \"CA-2\", \n    \"contractLiabilityAccount\": \"CL-2\", \n    \"productRatePlanChargeId\"\
          : \"2c92c0f962470b8101624b869fcd45fc\", \n    \"recognizedRevenueAccount\"\
          : \"ContractRevRec-1\", \n    \"unbilledReceivablesAccount\": \"unbilledR-1\"\
          \n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"adjustmentLiabilityAccount\": \"adjustL-1\", \n    \"adjustmentRevenueAccount\": \"adjustRev-1\", \n    \"contractAssetAccount\": \"CA-2\", \n    \"contractLiabilityAccount\": \"CL-2\", \n    \"productRatePlanChargeId\": \"2c92c0f962470b8101624b869fcd45fc\", \n    \"recognizedRevenueAccount\": \"ContractRevRec-1\", \n    \"unbilledReceivablesAccount\": \"unbilledR-1\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/revpro-accounting-codes")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"adjustmentLiabilityAccount\": \"adjustL-1\", \n    \"adjustmentRevenueAccount\": \"adjustRev-1\", \n    \"contractAssetAccount\": \"CA-2\", \n    \"contractLiabilityAccount\": \"CL-2\", \n    \"productRatePlanChargeId\": \"2c92c0f962470b8101624b869fcd45fc\", \n    \"recognizedRevenueAccount\": \"ContractRevRec-1\", \n    \"unbilledReceivablesAccount\": \"unbilledR-1\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/revpro-accounting-codes", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/revpro-accounting-codes")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"adjustmentLiabilityAccount\": \"adjustL-1\", \n    \"adjustmentRevenueAccount\": \"adjustRev-1\", \n    \"contractAssetAccount\": \"CA-2\", \n    \"contractLiabilityAccount\": \"CL-2\", \n    \"productRatePlanChargeId\": \"2c92c0f962470b8101624b869fcd45fc\", \n    \"recognizedRevenueAccount\": \"ContractRevRec-1\", \n    \"unbilledReceivablesAccount\": \"unbilledR-1\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/revpro-accounting-codes");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"adjustmentLiabilityAccount\": \"adjustL-1\", \n    \"adjustmentRevenueAccount\": \"adjustRev-1\", \n    \"contractAssetAccount\": \"CA-2\", \n    \"contractLiabilityAccount\": \"CL-2\", \n    \"productRatePlanChargeId\": \"2c92c0f962470b8101624b869fcd45fc\", \n    \"recognizedRevenueAccount\": \"ContractRevRec-1\", \n    \"unbilledReceivablesAccount\": \"unbilledR-1\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/rsa-signatures:
    post:
      summary: Generate RSA signature.
      operationId: POST_RSASignatures
      description: "\nThe REST API used in Payment Pages 2.0 are CORS (Cross-Origin\
        \ Resource Sharing) enabled and therefore requires a digital signature. The\
        \ POST rsa_signatures call generates and returns the required digital signature\
        \ and token for a Payment Pages 2.0 form. You need to pass the generated signature\
        \ to your client for it to access Payment Pages 2.0. \n  \nThis REST service\
        \ should be used only when you implement Payment Pages 2.0. \n\n**Note:**\
        \ To avoid potential credit card fraud attacks, you should secure your Payment\
        \ Pages from being accessed by fraudulent users before you issue client-side\
        \ digital signatures and tokens. See [Manage Token Issuance](https://knowledgecenter.zuora.com/CB_Billing/LA_Hosted_Payment_Pages/B_Payment_Pages_2.0/F_Generate_the_Digital_Signature_for_Payment_Pages_2.0#Manage_Token_Issuance)\
        \ for more information\n"
      tags:
      - RSA Signatures
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTRSASignatureType'
      responses:
        '200':
          examples:
            application/json:
              signature: VpCAFL2hHC2irxbhWYGLJmdBigjARsCStwHZiQ78z5LyVuBCFr2lkie0db/7E8n38MXaq12Ng5As5Qj+9Nhz6RBsSEWLod7c7hvwNI28OcgBZtcV/wscbWU69EP/+/XrQnF3ZUbHbqmcmhE8C/zNnc2zvHckfArroDW2HxxmATfMJS0xKUm5TrHi4tiILZVMYY1KIUqQTyuXV6uRWYzkqMkFkZDNCxSxf0XwzuBI/VOgTCmFZb0c3+bk/q6+7d/azFCrrg8C3dquCNJRfUeaBou+SLUa4TW3hV4rGd2zpvSrD/425x4qFNGV6JQ7wvIleIdrXU4qbh9nCmYoApMODA==
              token: E2BJEle7YrAlw93SjkaKthTmzMvXF341
              tenantId: '12270'
              key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmWRFTwxQOqaG4JDZSQF/NJWvCDoSXm3TYilNzoN8nBbuvhKa7SZBBS+VP6rFqcbIU38Fu+Rf09vqyYOxuasPJe7yhqeOiStWB/aCPLhwXBeKt37L/qkwpNOKb1FETtUgrc+UjbtT0pnl55wCfi+Ik//X5SQi0B+c0ei1DQv99qmPJJErrhnBtdxeaWAT0EYAo42AOQ5cp0UWDY6OdOYL6+RyFOUFIs1yEgtfg4VMMSpSOKBOhYclQYuSC7nBF5Cc18ydtzsBpf7l49gCLTFzG45NCDAocada8KihFNpGXbauV9V4EPRD4lofaXdsXJ5Tw8/+KCsrUlvIQI3vcEv9LQIDAQAB
              success: true
          description: ''
          schema:
            $ref: '#/definitions/POSTRSASignatureResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"method\": \"POST\"\
          , \n    \"pageId\": \"2c92c0f855e2b4630155ec9e6a1b6eec\", \n    \"uri\"\
          : \"https://apisandbox.zuora.com/apps/PublicHostedPageLite.do\"\n}' \"https://rest.zuora.com/v1/rsa-signatures\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/rsa-signatures');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"method\": \"POST\", \n    \"pageId\"\
          : \"2c92c0f855e2b4630155ec9e6a1b6eec\", \n    \"uri\": \"https://apisandbox.zuora.com/apps/PublicHostedPageLite.do\"\
          \n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"method\": \"POST\", \n    \"pageId\": \"2c92c0f855e2b4630155ec9e6a1b6eec\", \n    \"uri\": \"https://apisandbox.zuora.com/apps/PublicHostedPageLite.do\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/rsa-signatures")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"method\": \"POST\", \n    \"pageId\": \"2c92c0f855e2b4630155ec9e6a1b6eec\", \n    \"uri\": \"https://apisandbox.zuora.com/apps/PublicHostedPageLite.do\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/rsa-signatures", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/rsa-signatures")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"method\": \"POST\", \n    \"pageId\": \"2c92c0f855e2b4630155ec9e6a1b6eec\", \n    \"uri\": \"https://apisandbox.zuora.com/apps/PublicHostedPageLite.do\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/rsa-signatures");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"method\": \"POST\", \n    \"pageId\": \"2c92c0f855e2b4630155ec9e6a1b6eec\", \n    \"uri\": \"https://apisandbox.zuora.com/apps/PublicHostedPageLite.do\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/rsa-signatures/decrypt:
    post:
      summary: Decrypt RSA signature
      operationId: POST_DecryptRSASignatures
      description: "\nThe REST API used in Payment Pages 2.0 are CORS (Cross-Origin\
        \ Resource Sharing) enabled and therefore requires a digital signature. You\
        \ use rsa_signatures to generate the required digital signature and token\
        \ for a Payment Pages 2.0 form, and then you use the decrypt REST service\
        \ to decrypt the signature to validate the signature and key.\n\nThis REST\
        \ service should be used only when you implement Payment Pages 2.0. \n"
      tags:
      - RSA Signatures
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTDecryptionType'
      responses:
        '200':
          examples:
            application/json:
              publicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmWRFTwxQOqaG4JDZSQF/NJWvCDoSXm3TYilNzoN8nBbuvhKa7SZBBS+VP6rFqcbIU38Fu+Rf09vqyYOxuasPJe7yhqeOiStWB/aCPLhwXBeKt37L/qkwpNOKb1FETtUgrc+UjbtT0pnl55wCfi+Ik//X5SQi0B+c0ei1DQv99qmPJJErrhnBtdxeaWAT0EYAo42AOQ5cp0UWDY6OdOYL6+RyFOUFIs1yEgtfg4VMMSpSOKBOhYclQYuSC7nBF5Cc18ydtzsBpf7l49gCLTFzG45NCDAocada8KihFNpGXbauV9V4EPRD4lofaXdsXJ5Tw8/+KCsrUlvIQI3vcEv9LQIDAQAB
              signature: BeNYuHFkp/sbfm3clYyCkKEqd7XVTRDOJ1/5rL0tpkqxiSq+maqYkDz5kA+lN64ipoefQuJ7Rdm5TpICErufeJfa2sfTmGARDJ0hr+StXfLsIxHmDoNH5dqcXv3W6MR4kaljEqPVuhzGQ0We98DG52JcHWqqN53oHwTyuZuXocQqnmiE23IPm8UrU3g4hX/OLat0R81wDQ1SslZ+4pnqlncpTpopCK4FxeG3B0gYMhZcYd17Cmf0N3tEHVXHDlJIm4rOx0OVT+YBnjbKYLM0jxYu7PRKRis+yzN1BoappOEB0gmPjznIeiYF0u/fJdZWoEwK7d9mrfJeOBbpFyRoHA==
              decryptedSignature: /apps/publichostedpagelite.do#12270#tpyeSbjfUdpZpY4EMSCy7CrupvuhIdvM#1473658419005#2c92c0f855e2b4630155ec9e6a1b6eec
              success: true
          description: ''
          schema:
            $ref: '#/definitions/POSTDecryptResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"method\": \"POST\"\
          , \n    \"publicKey\": \"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmWRFTwxQOqaG4JDZSQF/NJWvCDoSXm3TYilNzoN8nBbuvhKa7SZBBS+VP6rFqcbIU38Fu+Rf09vqyYOxuasPJe7yhqeOiStWB/aCPLhwXBeKt37L/qkwpNOKb1FETtUgrc+UjbtT0pnl55wCfi+Ik//X5SQi0B+c0ei1DQv99qmPJJErrhnBtdxeaWAT0EYAo42AOQ5cp0UWDY6OdOYL6+RyFOUFIs1yEgtfg4VMMSpSOKBOhYclQYuSC7nBF5Cc18ydtzsBpf7l49gCLTFzG45NCDAocada8KihFNpGXbauV9V4EPRD4lofaXdsXJ5Tw8/+KCsrUlvIQI3vcEv9LQIDAQAB\"\
          , \n    \"signature\": \"BeNYuHFkp/sbfm3clYyCkKEqd7XVTRDOJ1/5rL0tpkqxiSq+maqYkDz5kA+lN64ipoefQuJ7Rdm5TpICErufeJfa2sfTmGARDJ0hr+StXfLsIxHmDoNH5dqcXv3W6MR4kaljEqPVuhzGQ0We98DG52JcHWqqN53oHwTyuZuXocQqnmiE23IPm8UrU3g4hX/OLat0R81wDQ1SslZ+4pnqlncpTpopCK4FxeG3B0gYMhZcYd17Cmf0N3tEHVXHDlJIm4rOx0OVT+YBnjbKYLM0jxYu7PRKRis+yzN1BoappOEB0gmPjznIeiYF0u/fJdZWoEwK7d9mrfJeOBbpFyRoHA==\"\
          \n}' \"https://rest.zuora.com/v1/rsa-signatures/decrypt\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/rsa-signatures/decrypt');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"method\": \"POST\", \n    \"publicKey\"\
          : \"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmWRFTwxQOqaG4JDZSQF/NJWvCDoSXm3TYilNzoN8nBbuvhKa7SZBBS+VP6rFqcbIU38Fu+Rf09vqyYOxuasPJe7yhqeOiStWB/aCPLhwXBeKt37L/qkwpNOKb1FETtUgrc+UjbtT0pnl55wCfi+Ik//X5SQi0B+c0ei1DQv99qmPJJErrhnBtdxeaWAT0EYAo42AOQ5cp0UWDY6OdOYL6+RyFOUFIs1yEgtfg4VMMSpSOKBOhYclQYuSC7nBF5Cc18ydtzsBpf7l49gCLTFzG45NCDAocada8KihFNpGXbauV9V4EPRD4lofaXdsXJ5Tw8/+KCsrUlvIQI3vcEv9LQIDAQAB\"\
          , \n    \"signature\": \"BeNYuHFkp/sbfm3clYyCkKEqd7XVTRDOJ1/5rL0tpkqxiSq+maqYkDz5kA+lN64ipoefQuJ7Rdm5TpICErufeJfa2sfTmGARDJ0hr+StXfLsIxHmDoNH5dqcXv3W6MR4kaljEqPVuhzGQ0We98DG52JcHWqqN53oHwTyuZuXocQqnmiE23IPm8UrU3g4hX/OLat0R81wDQ1SslZ+4pnqlncpTpopCK4FxeG3B0gYMhZcYd17Cmf0N3tEHVXHDlJIm4rOx0OVT+YBnjbKYLM0jxYu7PRKRis+yzN1BoappOEB0gmPjznIeiYF0u/fJdZWoEwK7d9mrfJeOBbpFyRoHA==\"\
          \n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"method\": \"POST\", \n    \"publicKey\": \"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmWRFTwxQOqaG4JDZSQF/NJWvCDoSXm3TYilNzoN8nBbuvhKa7SZBBS+VP6rFqcbIU38Fu+Rf09vqyYOxuasPJe7yhqeOiStWB/aCPLhwXBeKt37L/qkwpNOKb1FETtUgrc+UjbtT0pnl55wCfi+Ik//X5SQi0B+c0ei1DQv99qmPJJErrhnBtdxeaWAT0EYAo42AOQ5cp0UWDY6OdOYL6+RyFOUFIs1yEgtfg4VMMSpSOKBOhYclQYuSC7nBF5Cc18ydtzsBpf7l49gCLTFzG45NCDAocada8KihFNpGXbauV9V4EPRD4lofaXdsXJ5Tw8/+KCsrUlvIQI3vcEv9LQIDAQAB\", \n    \"signature\": \"BeNYuHFkp/sbfm3clYyCkKEqd7XVTRDOJ1/5rL0tpkqxiSq+maqYkDz5kA+lN64ipoefQuJ7Rdm5TpICErufeJfa2sfTmGARDJ0hr+StXfLsIxHmDoNH5dqcXv3W6MR4kaljEqPVuhzGQ0We98DG52JcHWqqN53oHwTyuZuXocQqnmiE23IPm8UrU3g4hX/OLat0R81wDQ1SslZ+4pnqlncpTpopCK4FxeG3B0gYMhZcYd17Cmf0N3tEHVXHDlJIm4rOx0OVT+YBnjbKYLM0jxYu7PRKRis+yzN1BoappOEB0gmPjznIeiYF0u/fJdZWoEwK7d9mrfJeOBbpFyRoHA==\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/rsa-signatures/decrypt")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"method\": \"POST\", \n    \"publicKey\": \"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmWRFTwxQOqaG4JDZSQF/NJWvCDoSXm3TYilNzoN8nBbuvhKa7SZBBS+VP6rFqcbIU38Fu+Rf09vqyYOxuasPJe7yhqeOiStWB/aCPLhwXBeKt37L/qkwpNOKb1FETtUgrc+UjbtT0pnl55wCfi+Ik//X5SQi0B+c0ei1DQv99qmPJJErrhnBtdxeaWAT0EYAo42AOQ5cp0UWDY6OdOYL6+RyFOUFIs1yEgtfg4VMMSpSOKBOhYclQYuSC7nBF5Cc18ydtzsBpf7l49gCLTFzG45NCDAocada8KihFNpGXbauV9V4EPRD4lofaXdsXJ5Tw8/+KCsrUlvIQI3vcEv9LQIDAQAB\", \n    \"signature\": \"BeNYuHFkp/sbfm3clYyCkKEqd7XVTRDOJ1/5rL0tpkqxiSq+maqYkDz5kA+lN64ipoefQuJ7Rdm5TpICErufeJfa2sfTmGARDJ0hr+StXfLsIxHmDoNH5dqcXv3W6MR4kaljEqPVuhzGQ0We98DG52JcHWqqN53oHwTyuZuXocQqnmiE23IPm8UrU3g4hX/OLat0R81wDQ1SslZ+4pnqlncpTpopCK4FxeG3B0gYMhZcYd17Cmf0N3tEHVXHDlJIm4rOx0OVT+YBnjbKYLM0jxYu7PRKRis+yzN1BoappOEB0gmPjznIeiYF0u/fJdZWoEwK7d9mrfJeOBbpFyRoHA==\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/rsa-signatures/decrypt", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/rsa-signatures/decrypt")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"method\": \"POST\", \n    \"publicKey\": \"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmWRFTwxQOqaG4JDZSQF/NJWvCDoSXm3TYilNzoN8nBbuvhKa7SZBBS+VP6rFqcbIU38Fu+Rf09vqyYOxuasPJe7yhqeOiStWB/aCPLhwXBeKt37L/qkwpNOKb1FETtUgrc+UjbtT0pnl55wCfi+Ik//X5SQi0B+c0ei1DQv99qmPJJErrhnBtdxeaWAT0EYAo42AOQ5cp0UWDY6OdOYL6+RyFOUFIs1yEgtfg4VMMSpSOKBOhYclQYuSC7nBF5Cc18ydtzsBpf7l49gCLTFzG45NCDAocada8KihFNpGXbauV9V4EPRD4lofaXdsXJ5Tw8/+KCsrUlvIQI3vcEv9LQIDAQAB\", \n    \"signature\": \"BeNYuHFkp/sbfm3clYyCkKEqd7XVTRDOJ1/5rL0tpkqxiSq+maqYkDz5kA+lN64ipoefQuJ7Rdm5TpICErufeJfa2sfTmGARDJ0hr+StXfLsIxHmDoNH5dqcXv3W6MR4kaljEqPVuhzGQ0We98DG52JcHWqqN53oHwTyuZuXocQqnmiE23IPm8UrU3g4hX/OLat0R81wDQ1SslZ+4pnqlncpTpopCK4FxeG3B0gYMhZcYd17Cmf0N3tEHVXHDlJIm4rOx0OVT+YBnjbKYLM0jxYu7PRKRis+yzN1BoappOEB0gmPjznIeiYF0u/fJdZWoEwK7d9mrfJeOBbpFyRoHA==\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/rsa-signatures/decrypt");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"method\": \"POST\", \n    \"publicKey\": \"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmWRFTwxQOqaG4JDZSQF/NJWvCDoSXm3TYilNzoN8nBbuvhKa7SZBBS+VP6rFqcbIU38Fu+Rf09vqyYOxuasPJe7yhqeOiStWB/aCPLhwXBeKt37L/qkwpNOKb1FETtUgrc+UjbtT0pnl55wCfi+Ik//X5SQi0B+c0ei1DQv99qmPJJErrhnBtdxeaWAT0EYAo42AOQ5cp0UWDY6OdOYL6+RyFOUFIs1yEgtfg4VMMSpSOKBOhYclQYuSC7nBF5Cc18ydtzsBpf7l49gCLTFzG45NCDAocada8KihFNpGXbauV9V4EPRD4lofaXdsXJ5Tw8/+KCsrUlvIQI3vcEv9LQIDAQAB\", \n    \"signature\": \"BeNYuHFkp/sbfm3clYyCkKEqd7XVTRDOJ1/5rL0tpkqxiSq+maqYkDz5kA+lN64ipoefQuJ7Rdm5TpICErufeJfa2sfTmGARDJ0hr+StXfLsIxHmDoNH5dqcXv3W6MR4kaljEqPVuhzGQ0We98DG52JcHWqqN53oHwTyuZuXocQqnmiE23IPm8UrU3g4hX/OLat0R81wDQ1SslZ+4pnqlncpTpopCK4FxeG3B0gYMhZcYd17Cmf0N3tEHVXHDlJIm4rOx0OVT+YBnjbKYLM0jxYu7PRKRis+yzN1BoappOEB0gmPjznIeiYF0u/fJdZWoEwK7d9mrfJeOBbpFyRoHA==\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/sequence-sets:
    post:
      summary: Create sequence sets
      operationId: POST_SequenceSets
      description: "Creates sequence sets, allowing distinct numbering sequences for\
        \ billing documents, payments, and refunds. Billing documents include invoices,\
        \ credit memos, and debit memos.\n\nYou can create a maximum of 100 sequence\
        \ sets in one single request. A sequence set comprises a set of custom prefixes\
        \ and starting numbers that are used for billing documents to generate, and\
        \ payments and refunds to create.\n\nSee [Prefix and Numbering Configuration\
        \ for Billing Documents](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Prefix_and_Numbering_Configuration_for_Billing_Documents)\
        \ for more information about limitations.\n\n**Note**: The Credit and Debit\
        \ Memos feature is only available if you have the Invoice Settlement feature\
        \ enabled. The Invoice Settlement feature is in Limited Availability. If you\
        \ wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).\
        \ \n"
      tags:
      - Sequence Sets
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTSequenceSetsRequest'
      responses:
        '200':
          headers:
            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.

                '
          examples:
            application/json:
              success: true
              sequenceSets:
              - name: FR
                id: 402892c74c9193cd014c96bbe7c101f9
                invoice:
                  prefix: FINV
                  startNumber: 10
                creditMemo:
                  prefix: FCM
                  startNumber: 10
                debitMemo:
                  prefix: FDM
                  startNumber: 10
                payment:
                  prefix: FP-
                  startNumber: 10
                refund:
                  prefix: FR-
                  startNumber: 10
              - name: ITA
                id: 402892c74c9193cd014c96bbe7c201f9
                invoice:
                  prefix: IINV
                  startNumber: 10
                creditMemo:
                  prefix: ICM
                  startNumber: 10
                debitMemo:
                  prefix: IDM
                  startNumber: 10
                payment:
                  prefix: IP-
                  startNumber: 10
                refund:
                  prefix: IR-
                  startNumber: 10
          description: ''
          schema:
            $ref: '#/definitions/POSTSequenceSetsResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"sequenceSets\": [\n\
          \        {\n            \"creditMemo\": {\n                \"prefix\": \"\
          FCM\", \n                \"startNumber\": 10\n            }, \n        \
          \    \"debitMemo\": {\n                \"prefix\": \"FDM\", \n         \
          \       \"startNumber\": 10\n            }, \n            \"invoice\": {\n\
          \                \"prefix\": \"FINV\", \n                \"startNumber\"\
          : 10\n            }, \n            \"name\": \"FR\", \n            \"payment\"\
          : {\n                \"prefix\": \"FP-\", \n                \"startNumber\"\
          : 10\n            }, \n            \"refund\": {\n                \"prefix\"\
          : \"FR-\", \n                \"startNumber\": 10\n            }\n      \
          \  }, \n        {\n            \"creditMemo\": {\n                \"prefix\"\
          : \"ICM\", \n                \"startNumber\": 10\n            }, \n    \
          \        \"debitMemo\": {\n                \"prefix\": \"IDM\", \n     \
          \           \"startNumber\": 10\n            }, \n            \"invoice\"\
          : {\n                \"prefix\": \"IINV\", \n                \"startNumber\"\
          : 10\n            }, \n            \"name\": \"ITA\", \n            \"payment\"\
          : {\n                \"prefix\": \"IP-\", \n                \"startNumber\"\
          : 10\n            }, \n            \"refund\": {\n                \"prefix\"\
          : \"IR-\", \n                \"startNumber\": 10\n            }\n      \
          \  }\n    ]\n}' \"https://rest.zuora.com/v1/sequence-sets\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/sequence-sets');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"sequenceSets\": [\n        {\n      \
          \      \"creditMemo\": {\n                \"prefix\": \"FCM\", \n      \
          \          \"startNumber\": 10\n            }, \n            \"debitMemo\"\
          : {\n                \"prefix\": \"FDM\", \n                \"startNumber\"\
          : 10\n            }, \n            \"invoice\": {\n                \"prefix\"\
          : \"FINV\", \n                \"startNumber\": 10\n            }, \n   \
          \         \"name\": \"FR\", \n            \"payment\": {\n             \
          \   \"prefix\": \"FP-\", \n                \"startNumber\": 10\n       \
          \     }, \n            \"refund\": {\n                \"prefix\": \"FR-\"\
          , \n                \"startNumber\": 10\n            }\n        }, \n  \
          \      {\n            \"creditMemo\": {\n                \"prefix\": \"\
          ICM\", \n                \"startNumber\": 10\n            }, \n        \
          \    \"debitMemo\": {\n                \"prefix\": \"IDM\", \n         \
          \       \"startNumber\": 10\n            }, \n            \"invoice\": {\n\
          \                \"prefix\": \"IINV\", \n                \"startNumber\"\
          : 10\n            }, \n            \"name\": \"ITA\", \n            \"payment\"\
          : {\n                \"prefix\": \"IP-\", \n                \"startNumber\"\
          : 10\n            }, \n            \"refund\": {\n                \"prefix\"\
          : \"IR-\", \n                \"startNumber\": 10\n            }\n      \
          \  }\n    ]\n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"sequenceSets\": [\n        {\n            \"creditMemo\": {\n                \"prefix\": \"FCM\", \n                \"startNumber\": 10\n            }, \n            \"debitMemo\": {\n                \"prefix\": \"FDM\", \n                \"startNumber\": 10\n            }, \n            \"invoice\": {\n                \"prefix\": \"FINV\", \n                \"startNumber\": 10\n            }, \n            \"name\": \"FR\", \n            \"payment\": {\n                \"prefix\": \"FP-\", \n                \"startNumber\": 10\n            }, \n            \"refund\": {\n                \"prefix\": \"FR-\", \n                \"startNumber\": 10\n            }\n        }, \n        {\n            \"creditMemo\": {\n                \"prefix\": \"ICM\", \n                \"startNumber\": 10\n            }, \n            \"debitMemo\": {\n                \"prefix\": \"IDM\", \n                \"startNumber\": 10\n            }, \n            \"invoice\": {\n                \"prefix\": \"IINV\", \n                \"startNumber\": 10\n            }, \n            \"name\": \"ITA\", \n            \"payment\": {\n                \"prefix\": \"IP-\", \n                \"startNumber\": 10\n            }, \n            \"refund\": {\n                \"prefix\": \"IR-\", \n                \"startNumber\": 10\n            }\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/sequence-sets")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"sequenceSets\": [\n        {\n            \"creditMemo\": {\n                \"prefix\": \"FCM\", \n                \"startNumber\": 10\n            }, \n            \"debitMemo\": {\n                \"prefix\": \"FDM\", \n                \"startNumber\": 10\n            }, \n            \"invoice\": {\n                \"prefix\": \"FINV\", \n                \"startNumber\": 10\n            }, \n            \"name\": \"FR\", \n            \"payment\": {\n                \"prefix\": \"FP-\", \n                \"startNumber\": 10\n            }, \n            \"refund\": {\n                \"prefix\": \"FR-\", \n                \"startNumber\": 10\n            }\n        }, \n        {\n            \"creditMemo\": {\n                \"prefix\": \"ICM\", \n                \"startNumber\": 10\n            }, \n            \"debitMemo\": {\n                \"prefix\": \"IDM\", \n                \"startNumber\": 10\n            }, \n            \"invoice\": {\n                \"prefix\": \"IINV\", \n                \"startNumber\": 10\n            }, \n            \"name\": \"ITA\", \n            \"payment\": {\n                \"prefix\": \"IP-\", \n                \"startNumber\": 10\n            }, \n            \"refund\": {\n                \"prefix\": \"IR-\", \n                \"startNumber\": 10\n            }\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/sequence-sets", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/sequence-sets")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"sequenceSets\": [\n        {\n            \"creditMemo\": {\n                \"prefix\": \"FCM\", \n                \"startNumber\": 10\n            }, \n            \"debitMemo\": {\n                \"prefix\": \"FDM\", \n                \"startNumber\": 10\n            }, \n            \"invoice\": {\n                \"prefix\": \"FINV\", \n                \"startNumber\": 10\n            }, \n            \"name\": \"FR\", \n            \"payment\": {\n                \"prefix\": \"FP-\", \n                \"startNumber\": 10\n            }, \n            \"refund\": {\n                \"prefix\": \"FR-\", \n                \"startNumber\": 10\n            }\n        }, \n        {\n            \"creditMemo\": {\n                \"prefix\": \"ICM\", \n                \"startNumber\": 10\n            }, \n            \"debitMemo\": {\n                \"prefix\": \"IDM\", \n                \"startNumber\": 10\n            }, \n            \"invoice\": {\n                \"prefix\": \"IINV\", \n                \"startNumber\": 10\n            }, \n            \"name\": \"ITA\", \n            \"payment\": {\n                \"prefix\": \"IP-\", \n                \"startNumber\": 10\n            }, \n            \"refund\": {\n                \"prefix\": \"IR-\", \n                \"startNumber\": 10\n            }\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/sequence-sets");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"sequenceSets\": [\n        {\n            \"creditMemo\": {\n                \"prefix\": \"FCM\", \n                \"startNumber\": 10\n            }, \n            \"debitMemo\": {\n                \"prefix\": \"FDM\", \n                \"startNumber\": 10\n            }, \n            \"invoice\": {\n                \"prefix\": \"FINV\", \n                \"startNumber\": 10\n            }, \n            \"name\": \"FR\", \n            \"payment\": {\n                \"prefix\": \"FP-\", \n                \"startNumber\": 10\n            }, \n            \"refund\": {\n                \"prefix\": \"FR-\", \n                \"startNumber\": 10\n            }\n        }, \n        {\n            \"creditMemo\": {\n                \"prefix\": \"ICM\", \n                \"startNumber\": 10\n            }, \n            \"debitMemo\": {\n                \"prefix\": \"IDM\", \n                \"startNumber\": 10\n            }, \n            \"invoice\": {\n                \"prefix\": \"IINV\", \n                \"startNumber\": 10\n            }, \n            \"name\": \"ITA\", \n            \"payment\": {\n                \"prefix\": \"IP-\", \n                \"startNumber\": 10\n            }, \n            \"refund\": {\n                \"prefix\": \"IR-\", \n                \"startNumber\": 10\n            }\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      summary: Get sequence sets
      operationId: GET_SequenceSets
      description: "Retrieves information about all sequence sets configured for billing\
        \ documents, payments, and refunds. Billing documents include invoices, credit\
        \ memos, and debit memos.\n\nYou can use query parameters to restrict the\
        \ data returned in the response.\n\n**Note**: The Credit and Debit Memos feature\
        \ is only available if you have the Invoice Settlement feature enabled. The\
        \ Invoice Settlement feature is in Limited Availability. If you wish to have\
        \ access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).\
        \ \n"
      tags:
      - Sequence Sets
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - $ref: '#/parameters/GLOBAL_REQUEST_page'
      - name: name
        in: query
        description: 'The name of a specific sequence set.

          '
        required: false
        type: string
      responses:
        200:
          headers:
            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.

                '
          examples:
            application/json:
              sequenceSets:
              - name: DEFAULT
                id: 2c98906c69be199c0169be74ed210afd
                invoice:
                  prefix: INV
                  startNumber: 10
                creditMemo:
                  prefix: CM
                  startNumber: 11
                debitMemo:
                  prefix: DM
                  startNumber: 12
                payment:
                  prefix: P-
                  startNumber: 13
                refund:
                  prefix: R-
                  startNumber: 14
              - name: FR
                id: 2c98906c69be199c0169be74ed211afd
                invoice:
                  prefix: FINV
                  startNumber: 10
                creditMemo:
                  prefix: FCM
                  startNumber: 11
                debitMemo:
                  prefix: FDM
                  startNumber: 12
                payment:
                  prefix: FP-
                  startNumber: 13
                refund:
                  prefix: FR-
                  startNumber: 14
              - name: ITA
                id: 2c98906c69be199c0169be74ed212afd
                invoice:
                  prefix: ITAINV
                  startNumber: 10
                creditMemo:
                  prefix: ITACM
                  startNumber: 11
                debitMemo:
                  prefix: ITADM
                  startNumber: 12
                payment:
                  prefix: ITAP-
                  startNumber: 13
                refund:
                  prefix: ITAR-
                  startNumber: 14
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETSequenceSetsResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/sequence-sets"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/sequence-sets');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/sequence-sets")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/sequence-sets", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/sequence-sets")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/sequence-sets");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/sequence-sets/{id}:
    put:
      summary: Update sequence set
      operationId: PUT_SequenceSet
      description: "Updates a specific sequence set configured for billing documents,\
        \ payments, and refunds. Billing documents include invoices, credit memos,\
        \ and debit memos.\n\n**Note**: The Credit and Debit Memos feature is only\
        \ available if you have the Invoice Settlement feature enabled. The Invoice\
        \ Settlement feature is in Limited Availability. If you wish to have access\
        \ to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).\
        \ \n"
      tags:
      - Sequence Sets
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: 'The ID of the sequence set to update.

          '
        required: true
        type: string
      - name: Request
        in: body
        description: ''
        required: false
        schema:
          $ref: '#/definitions/PUTSequenceSetRequest'
      responses:
        200:
          headers:
            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.

                '
          description: ''
          examples:
            application/json:
              success: true
          schema:
            $ref: '#/definitions/PUTSequenceSetResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"creditMemo\": {\n \
          \       \"prefix\": \"FR-CM\"\n    }, \n    \"invoice\": {\n        \"startNumber\"\
          : 100\n    }, \n    \"name\": \"FR\", \n    \"payment\": {\n        \"prefix\"\
          : \"FR-P-\"\n    }\n}' \"https://rest.zuora.com/v1/sequence-sets/{id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/sequence-sets/{id}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"creditMemo\": {\n        \"prefix\":\
          \ \"FR-CM\"\n    }, \n    \"invoice\": {\n        \"startNumber\": 100\n\
          \    }, \n    \"name\": \"FR\", \n    \"payment\": {\n        \"prefix\"\
          : \"FR-P-\"\n    }\n}');\n\ntry {\n  $response = $request->send();\n\n \
          \ echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"creditMemo\": {\n        \"prefix\": \"FR-CM\"\n    }, \n    \"invoice\": {\n        \"startNumber\": 100\n    }, \n    \"name\": \"FR\", \n    \"payment\": {\n        \"prefix\": \"FR-P-\"\n    }\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/sequence-sets/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"creditMemo\": {\n        \"prefix\": \"FR-CM\"\n    }, \n    \"invoice\": {\n        \"startNumber\": 100\n    }, \n    \"name\": \"FR\", \n    \"payment\": {\n        \"prefix\": \"FR-P-\"\n    }\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/sequence-sets/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/sequence-sets/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"creditMemo\": {\n        \"prefix\": \"FR-CM\"\n    }, \n    \"invoice\": {\n        \"startNumber\": 100\n    }, \n    \"name\": \"FR\", \n    \"payment\": {\n        \"prefix\": \"FR-P-\"\n    }\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/sequence-sets/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"creditMemo\": {\n        \"prefix\": \"FR-CM\"\n    }, \n    \"invoice\": {\n        \"startNumber\": 100\n    }, \n    \"name\": \"FR\", \n    \"payment\": {\n        \"prefix\": \"FR-P-\"\n    }\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      summary: Get sequence set
      operationId: GET_SequenceSet
      description: "Retrieves information about a specific sequence set configured\
        \ for billing documents, payments, and refunds. Billing documents include\
        \ invoices, credit memos, and debit memos\n\n**Note**: The Credit and Debit\
        \ Memos feature is only available if you have the Invoice Settlement feature\
        \ enabled. The Invoice Settlement feature is in Limited Availability. If you\
        \ wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).\
        \ \n"
      tags:
      - Sequence Sets
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: 'The ID of the sequence set to retrieve information about.

          '
        required: true
        type: string
      responses:
        200:
          headers:
            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.

                '
          examples:
            application/json:
              name: FR
              invoice:
                prefix: FINV
                startNumber: 10
              creditMemo:
                prefix: FCM
                startNumber: 11
              debitMemo:
                prefix: FDM
                startNumber: 12
              payment:
                prefix: FP-
                startNumber: 13
              refund:
                prefix: FR-
                startNumber: 14
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETSequenceSetResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/sequence-sets/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/sequence-sets/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/sequence-sets/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/sequence-sets/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/sequence-sets/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/sequence-sets/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    delete:
      summary: Delete sequence set
      operationId: DELETE_SequenceSet
      description: "Deletes a specific sequence set configured for billing documents,\
        \ payments, and refunds. Billing documents include invoices, credit memos,\
        \ and debit memos.\n\n**Note**: The Credit and Debit Memos feature is only\
        \ available if you have the Invoice Settlement feature enabled. The Invoice\
        \ Settlement feature is in Limited Availability. If you wish to have access\
        \ to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).\
        \ \n"
      tags:
      - Sequence Sets
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: 'The ID of the sequence set to delete.

          '
        required: true
        type: string
      responses:
        200:
          headers:
            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.

                '
          description: ''
          examples:
            application/json:
              success: true
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/sequence-sets/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/sequence-sets/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/sequence-sets/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/sequence-sets/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/sequence-sets/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/sequence-sets/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /settings/listing:
    get:
      tags:
      - Settings
      summary: List all settings
      description: "**Note:** The Settings API is **In Development**.\n\nGet a list\
        \ of all available settings in your tenant. \n\nThe response message is by\
        \ default in JSON format. If you want to receive all the availabe settings\
        \ in csv format, include `Accept` in the header parameters and set it to `application/csv`.\n\
        \            \nSee a [200 response sample in JSON format](https://assets.zuora.com/zuora-documentation/ListAllSettingsResponseSample.json).\n\
        \nSee a [200 response sample in CSV format](https://assets.zuora.com/zuora-documentation/ListAllSettingsResponseSample.csv).\n\
        \nYou can find a specific operate of an available setting item in your tenant\
        \ from the 200 response body of this call. See the following tutorials of\
        \ Settings API for how to operate on a specifc setting item.\n\n * [Get a\
        \ specific setting - Billing Rules](https://knowledgecenter.zuora.com/DC_Developers/BB_C_Settings_API/Settings_API_tutorials/AA_Get_a_specific_setting_-_Billing_Rules)\n\
        \ * [Update a specific setting - Billing Rules](https://knowledgecenter.zuora.com/DC_Developers/BB_C_Settings_API/Settings_API_tutorials/AB_Update_a_specific_setting_-_Billing_Rules)\n\
        \ * [Get all Communication Profiles](https://knowledgecenter.zuora.com/DC_Developers/BB_C_Settings_API/Settings_API_tutorials/Get_all_Communication_Profiles)\n\
        \ * [Create a new Communication Profile](https://knowledgecenter.zuora.com/DC_Developers/BB_C_Settings_API/Settings_API_tutorials/Create_a_new_Communication_Profile)\n\
        \ * [Modify a Communication Profile](https://knowledgecenter.zuora.com/DC_Developers/BB_C_Settings_API/Settings_API_tutorials/Modify_a_Communication_Profile)\n\
        \ * [Get all Notifications under a particular Communication Profile](https://knowledgecenter.zuora.com/DC_Developers/BB_C_Settings_API/Settings_API_tutorials/Get_all_Notifications_under_a_particular_Communication_Profile)\n\
        \ * [Get a specific Invoice Template](https://knowledgecenter.zuora.com/DC_Developers/BB_C_Settings_API/Settings_API_tutorials/Get_a_specific_Invoice_Template)\n\
        \ * [Get all Invoice Templates](https://knowledgecenter.zuora.com/DC_Developers/BB_C_Settings_API/Settings_API_tutorials/Get_all_Invoice_Templates)\n\
        \ * [Create a new Invoice Template](https://knowledgecenter.zuora.com/DC_Developers/BB_C_Settings_API/Settings_API_tutorials/Create_a_new_Invoice_Template)\n\
        \ * [Get Age Buckets](https://knowledgecenter.zuora.com/DC_Developers/BB_C_Settings_API/Settings_API_tutorials/Get_Age_Buckets)\n\
        \ * [Update Age Buckets](https://knowledgecenter.zuora.com/DC_Developers/BB_C_Settings_API/Settings_API_tutorials/Update_Age_Buckets)\n\
        \ * [Get Chart of Accounts](https://knowledgecenter.zuora.com/DC_Developers/BB_C_Settings_API/Settings_API_tutorials/Get_Chart_of_Accounts)\n"
      operationId: GET_ListAllSettings
      produces:
      - application/json
      - application/csv
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: Accept
        in: header
        required: false
        type: string
        maxLength: 64
        description: 'Specifies response media type. If you omit the `Accept` header
          parameter, the response body is by default in JSON format. If you include
          `Accept` header parameter and set it to `application/csv`, the response
          body is in csv format.

          '
      responses:
        200:
          description: OK
          headers:
            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.

                '
          examples:
            application/json:
              settings:
              - key: AccountingRules
                description: Accounting Rules settings
                context: Entity
                pathPattern: /accounting-rules
                httpOperations:
                - method: GET
                  url: /settings/accounting-rules
                  parameters: []
                  responseType: {}
                - method: PUT
                  url: /settings/accounting-rules
                  parameters: []
                  requestType: {}
                  responseType: {}
          schema:
            $ref: '#/definitions/ListAllSettingsResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/settings/listing"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/settings/listing');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/settings/listing")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/settings/listing", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/settings/listing")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/settings/listing");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /settings/batch-requests:
    post:
      tags:
      - Settings
      summary: Submit multiple settings requests as a batch
      description: "**Note:** The Settings API is **In Development**.\n\nSubmit a\
        \ batch of settings requests by this single API operation.\n\nBy default,\
        \ one batch settings request can contain a maximum of 100 single operation\
        \ requests, including: \n* All the single requests in the process batch settings\
        \ request.\n* All the children requests of the single requests.\n\nThis maximum\
        \ value is configurable.\n"
      operationId: POST_ProcessSettingsBatchRequest
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - in: body
        name: batchRequest
        required: true
        schema:
          $ref: '#/definitions/SettingsBatchRequest'
      responses:
        200:
          headers:
            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.

                '
          examples:
            application/json:
              responses:
              - id: '1'
                method: GET
                url: /billing-rules
                children: []
                response:
                  status: 200 OK
                  body:
                    oneTimeCreditBack: false
                    proratePeriodOfRecurringCharge: true
                    prorateRecurringWeeklyCharges: true
                    prorateRecurringMonthlyCharges: true
                    prorateUsageMonthlyCharges: true
                    prorateUsageWeeklyCharges: true
                    daysInMonth: UseActualDays
                    prorationUnit: ProrateByDay
                    allowAutoPostBillRun: true
                    autoPostBillRunDefaultValue: true
                    includeNegativeInvoice: true
                    includeChildUsage: true
                    rateUsageIndividually: true
                    transactionOnSubscription: true
                    taxAddressOwner: SubscriptionOwner
                    takeContactSnapshot: true
                    taxInclusiveRoundingRule: RoundingNetAmount
                    legalDocumentGeneratingRule: GroupByOriginalSRPC
                    recurringChargeStyle: Advanced
                    preGenerateInvoicePdf: false
                    timeOfDailyInvoice: 0
                    notSendZeroItemsForTax: false
                    taxRateChangeOption: OneTaxItem
                    availableToCreditValidationLevel: HeaderLevel
                    invoicePastEndOfTerm: false
                    billToTermEndWhenAutoRenew: true
                    zuoraTaxRoundingDiffDispersion: false
              - id: '2'
                method: GET
                url: /accounting-rules
                children: []
                response:
                  status: 200 OK
                  body:
                    allowBlankAccountingCodes: true
                    allowCreationInClosedPeriod: true
                    allowUsageInClosedPeriod: true
                    allowRevenueScheduleNegativeAmounts: true
                    differentCurrencies: false
          description: OK
          schema:
            $ref: '#/definitions/SettingsBatchResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"requests\": [\n   \
          \     {\n            \"id\": \"1\", \n            \"method\": \"GET\", \n\
          \            \"url\": \"/billing-rules\"\n        }, \n        {\n     \
          \       \"id\": \"2\", \n            \"method\": \"GET\", \n           \
          \ \"url\": \"/accounting-rules\"\n        }\n    ]\n}' \"https://rest.zuora.com/settings/batch-requests\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/settings/batch-requests');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"requests\": [\n        {\n          \
          \  \"id\": \"1\", \n            \"method\": \"GET\", \n            \"url\"\
          : \"/billing-rules\"\n        }, \n        {\n            \"id\": \"2\"\
          , \n            \"method\": \"GET\", \n            \"url\": \"/accounting-rules\"\
          \n        }\n    ]\n}');\n\ntry {\n  $response = $request->send();\n\n \
          \ echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"requests\": [\n        {\n            \"id\": \"1\", \n            \"method\": \"GET\", \n            \"url\": \"/billing-rules\"\n        }, \n        {\n            \"id\": \"2\", \n            \"method\": \"GET\", \n            \"url\": \"/accounting-rules\"\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/settings/batch-requests")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"requests\": [\n        {\n            \"id\": \"1\", \n            \"method\": \"GET\", \n            \"url\": \"/billing-rules\"\n        }, \n        {\n            \"id\": \"2\", \n            \"method\": \"GET\", \n            \"url\": \"/accounting-rules\"\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/settings/batch-requests", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/settings/batch-requests")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"requests\": [\n        {\n            \"id\": \"1\", \n            \"method\": \"GET\", \n            \"url\": \"/billing-rules\"\n        }, \n        {\n            \"id\": \"2\", \n            \"method\": \"GET\", \n            \"url\": \"/accounting-rules\"\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/settings/batch-requests");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"requests\": [\n        {\n            \"id\": \"1\", \n            \"method\": \"GET\", \n            \"url\": \"/billing-rules\"\n        }, \n        {\n            \"id\": \"2\", \n            \"method\": \"GET\", \n            \"url\": \"/accounting-rules\"\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/subscriptions/preview:
    post:
      summary: Preview subscription
      operationId: POST_PreviewSubscription
      description: "The REST API reference describes how to create a new subscription\
        \ in preview mode. This call does not require a valid customer account. It\
        \ can be used to show potential new customers a preview of a subscription\
        \ with complete details and charges before creating an account, or to let\
        \ existing customers preview a subscription with all charges before committing.\n\
        \n## Notes\n- The response of the Preview Subscription call is based on the\
        \ REST API minor version you set in the request header. The response structure\
        \ might be different if you use different minor version numbers. \n\n- If\
        \ you have the Invoice Settlement feature enabled, we recommend that you set\
        \ the `zuora-version` parameter to `207.0` or later. Otherwise, an error is\
        \ returned.\n\n\n- Default values for **customerAcceptanceDate** and **serviceActivationDate**\
        \ are set as follows.\n\n|        | serviceActivationDate (SA) specified \
        \         | serviceActivationDate (SA) NOT specified  |\n| ------------- |:-------------:|\
        \ -----:|\n| customerAcceptanceDate (CA) specified      | SA uses value in\
        \ the request call; CA uses value in the request call| CA uses value in the\
        \ request call;SA uses CE as default |\n| customerAcceptanceDate (CA) NOT\
        \ specified      | SA uses value in the request call; CA uses SA as default\
        \ |   SA and CA use CE as default |\n"
      tags:
      - Subscriptions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: zuora-version
        in: header
        required: false
        type: string
        description: "\nThe minor version of the Zuora REST API. \n\nYou need to set\
          \ this parameter if you use the following fields:\n* targetDate\n* includeExistingDraftDocItems\n\
          * previewType\n\n\nIf you have the Invoice Settlement feature enabled, you\
          \ need to specify this parameter. Otherwise, an error is returned.\n\n\n\
          See [Zuora REST API Versions](https://www.zuora.com/developer/api-reference/#section/API-Versions)\
          \ for more information. \n"
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTSubscriptionPreviewType'
      responses:
        '200':
          examples:
            application/json:
              success: true
              contractedMrr: 100
              totalContractedValue: 277.4193548
              amount: 278.28
              amountWithoutTax: 278.28
              taxAmount: 0
              invoiceTargetDate: '2016-12-31'
              invoiceItems:
              - serviceStartDate: '2016-01-15'
                serviceEndDate: '2016-01-30'
                chargeAmount: 51.61
                taxAmount: 5.16
                chargeDescription: ''
                chargeName: recurring
                productName: restAPITest
                productRatePlanChargeId: 40289070576ad42f0157b24a62420918
                quantity: 1
                unitOfMeasure: ''
              - serviceStartDate: '2016-01-31'
                serviceEndDate: '2016-02-28'
                chargeAmount: 100
                taxAmount: 10
                chargeDescription: ''
                chargeName: recurring
                productName: restAPITest
                productRatePlanChargeId: 40289070576ad42f0157b24a62420918
                quantity: 1
                unitOfMeasure: ''
              - serviceStartDate: '2016-02-29'
                serviceEndDate: '2016-03-30'
                chargeAmount: 100
                taxAmount: 10
                chargeDescription: ''
                chargeName: recurring
                productName: restAPITest
                productRatePlanChargeId: 40289070576ad42f0157b24a62420918
                quantity: 1
                unitOfMeasure: ''
              - serviceStartDate: '2016-03-31'
                serviceEndDate: '2016-04-07'
                chargeAmount: 26.67
                taxAmount: 2.66
                chargeDescription: ''
                chargeName: recurring
                productName: restAPITest
                productRatePlanChargeId: 40289070576ad42f0157b24a62420918
                quantity: 1
                unitOfMeasure: ''
          description: ''
          schema:
            $ref: '#/definitions/POSTSubscriptionPreviewResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"contractEffectiveDate\"\
          : \"2013-1-15\", \n    \"initialTerm\": 12, \n    \"initialTermPeriodType\"\
          : \"Week\", \n    \"invoiceTargetDate\": \"2013-12-31\", \n    \"previewAccountInfo\"\
          : {\n        \"billCycleDay\": 31, \n        \"billToContact\": {\n    \
          \        \"city\": \"Walnut Creek\", \n            \"country\": \"United\
          \ States\", \n            \"county\": \"Contra Consta\", \n            \"\
          state\": \"California\", \n            \"zipCode\": \"94549\"\n        },\
          \ \n        \"currency\": \"USD\"\n    }, \n    \"subscribeToRatePlans\"\
          : [\n        {\n            \"chargeOverrides\": [\n                {\n\
          \                    \"productRatePlanChargeId\": \"ff8080811ca15d19011cddad8c953b53\"\
          , \n                    \"quantity\": 100\n                }\n         \
          \   ], \n            \"productRatePlanId\": \"ff8080811ca15d19011cdda9b0ad3b51\"\
          \n        }\n    ], \n    \"termType\": \"TERMED\"\n}' \"https://rest.zuora.com/v1/subscriptions/preview\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/subscriptions/preview');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"contractEffectiveDate\": \"2013-1-15\"\
          , \n    \"initialTerm\": 12, \n    \"initialTermPeriodType\": \"Week\",\
          \ \n    \"invoiceTargetDate\": \"2013-12-31\", \n    \"previewAccountInfo\"\
          : {\n        \"billCycleDay\": 31, \n        \"billToContact\": {\n    \
          \        \"city\": \"Walnut Creek\", \n            \"country\": \"United\
          \ States\", \n            \"county\": \"Contra Consta\", \n            \"\
          state\": \"California\", \n            \"zipCode\": \"94549\"\n        },\
          \ \n        \"currency\": \"USD\"\n    }, \n    \"subscribeToRatePlans\"\
          : [\n        {\n            \"chargeOverrides\": [\n                {\n\
          \                    \"productRatePlanChargeId\": \"ff8080811ca15d19011cddad8c953b53\"\
          , \n                    \"quantity\": 100\n                }\n         \
          \   ], \n            \"productRatePlanId\": \"ff8080811ca15d19011cdda9b0ad3b51\"\
          \n        }\n    ], \n    \"termType\": \"TERMED\"\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"contractEffectiveDate\": \"2013-1-15\", \n    \"initialTerm\": 12, \n    \"initialTermPeriodType\": \"Week\", \n    \"invoiceTargetDate\": \"2013-12-31\", \n    \"previewAccountInfo\": {\n        \"billCycleDay\": 31, \n        \"billToContact\": {\n            \"city\": \"Walnut Creek\", \n            \"country\": \"United States\", \n            \"county\": \"Contra Consta\", \n            \"state\": \"California\", \n            \"zipCode\": \"94549\"\n        }, \n        \"currency\": \"USD\"\n    }, \n    \"subscribeToRatePlans\": [\n        {\n            \"chargeOverrides\": [\n                {\n                    \"productRatePlanChargeId\": \"ff8080811ca15d19011cddad8c953b53\", \n                    \"quantity\": 100\n                }\n            ], \n            \"productRatePlanId\": \"ff8080811ca15d19011cdda9b0ad3b51\"\n        }\n    ], \n    \"termType\": \"TERMED\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/subscriptions/preview")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"contractEffectiveDate\": \"2013-1-15\", \n    \"initialTerm\": 12, \n    \"initialTermPeriodType\": \"Week\", \n    \"invoiceTargetDate\": \"2013-12-31\", \n    \"previewAccountInfo\": {\n        \"billCycleDay\": 31, \n        \"billToContact\": {\n            \"city\": \"Walnut Creek\", \n            \"country\": \"United States\", \n            \"county\": \"Contra Consta\", \n            \"state\": \"California\", \n            \"zipCode\": \"94549\"\n        }, \n        \"currency\": \"USD\"\n    }, \n    \"subscribeToRatePlans\": [\n        {\n            \"chargeOverrides\": [\n                {\n                    \"productRatePlanChargeId\": \"ff8080811ca15d19011cddad8c953b53\", \n                    \"quantity\": 100\n                }\n            ], \n            \"productRatePlanId\": \"ff8080811ca15d19011cdda9b0ad3b51\"\n        }\n    ], \n    \"termType\": \"TERMED\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/subscriptions/preview", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/subscriptions/preview")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"contractEffectiveDate\": \"2013-1-15\", \n    \"initialTerm\": 12, \n    \"initialTermPeriodType\": \"Week\", \n    \"invoiceTargetDate\": \"2013-12-31\", \n    \"previewAccountInfo\": {\n        \"billCycleDay\": 31, \n        \"billToContact\": {\n            \"city\": \"Walnut Creek\", \n            \"country\": \"United States\", \n            \"county\": \"Contra Consta\", \n            \"state\": \"California\", \n            \"zipCode\": \"94549\"\n        }, \n        \"currency\": \"USD\"\n    }, \n    \"subscribeToRatePlans\": [\n        {\n            \"chargeOverrides\": [\n                {\n                    \"productRatePlanChargeId\": \"ff8080811ca15d19011cddad8c953b53\", \n                    \"quantity\": 100\n                }\n            ], \n            \"productRatePlanId\": \"ff8080811ca15d19011cdda9b0ad3b51\"\n        }\n    ], \n    \"termType\": \"TERMED\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/subscriptions/preview");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"contractEffectiveDate\": \"2013-1-15\", \n    \"initialTerm\": 12, \n    \"initialTermPeriodType\": \"Week\", \n    \"invoiceTargetDate\": \"2013-12-31\", \n    \"previewAccountInfo\": {\n        \"billCycleDay\": 31, \n        \"billToContact\": {\n            \"city\": \"Walnut Creek\", \n            \"country\": \"United States\", \n            \"county\": \"Contra Consta\", \n            \"state\": \"California\", \n            \"zipCode\": \"94549\"\n        }, \n        \"currency\": \"USD\"\n    }, \n    \"subscribeToRatePlans\": [\n        {\n            \"chargeOverrides\": [\n                {\n                    \"productRatePlanChargeId\": \"ff8080811ca15d19011cddad8c953b53\", \n                    \"quantity\": 100\n                }\n            ], \n            \"productRatePlanId\": \"ff8080811ca15d19011cdda9b0ad3b51\"\n        }\n    ], \n    \"termType\": \"TERMED\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/subscriptions:
    post:
      summary: Create subscription
      operationId: POST_Subscription
      description: |
        This REST API reference describes how to create a new subscription for an existing customer account.

        ## Notes

        If you have the Invoice Settlement feature enabled, it is best practice to set the `zuora-version` parameter to `211.0` or later. Otherwise, an error occurs.

        If `invoiceCollect` is `true`, the call will not return `success` = `true` unless the subscription, invoice, and payment are all successful.

        Default values for **customerAcceptanceDate** and **serviceActivationDate** are set as follows. This API operation does not support creating a pending subscription.

        |        | serviceActivationDate(SA) specified          | serviceActivationDate (SA) NOT specified  |
        | ------------- |:-------------:| -----:|
        | customerAcceptanceDate (CA) specified| SA uses value in the request call; CA uses value in the request call| CA uses value in the request call;SA uses CE as default |
        | customerAcceptanceDate (CA) NOT specified      | SA uses value in the request call; CA uses SA as default |   SA and CA use CE as default |
      tags:
      - Subscriptions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: zuora-version
        in: header
        required: false
        type: string
        description: "The minor version of the Zuora REST API. \n\nYou only need to\
          \ set this parameter if you use the following fields:\n* invoice\n* collect\n\
          * runBilling\n* targetDate\n"
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTSubscriptionType'
      responses:
        '200':
          examples:
            application/json:
              success: true
              subscriptionId: 402890fc4fa094d5014fa0a4aa78001d
              subscriptionNumber: A-S00000041
              contractedMrr: 1950
              totalContractedValue: 6227.41935465
          description: ''
          schema:
            $ref: '#/definitions/POSTSubscriptionResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"accountKey\": \"A00001115\"\
          , \n    \"autoRenew\": true, \n    \"contractEffectiveDate\": \"2015-02-1\"\
          , \n    \"initialTerm\": \"12\", \n    \"initialTermPeriodType\": \"Week\"\
          , \n    \"notes\": \"Test POST subscription from z-ruby-sdk\", \n    \"\
          renewalTerm\": \"3\", \n    \"renewalTermPeriodType\": \"Week\", \n    \"\
          subscribeToRatePlans\": [\n        {\n            \"chargeOverrides\": [\n\
          \                {\n                    \"billCycleDay\": \"5\", \n    \
          \                \"billCycleType\": \"SpecificDayofMonth\", \n         \
          \           \"billingPeriodAlignment\": \"AlignToCharge\", \n          \
          \          \"billingTiming\": \"IN_ARREARS\", \n                    \"description\"\
          : \"This is rate plan charge description\", \n                    \"number\"\
          : \"TestCharge\", \n                    \"price\": 12.01, \n           \
          \         \"productRatePlanChargeId\": \"ff8080811ca15d19011cddad8c953b53\"\
          , \n                    \"triggerDate\": \"2015-09-01\", \n            \
          \        \"triggerEvent\": \"USD\"\n                }\n            ], \n\
          \            \"productRatePlanId\": \"ff8080811ca15d19011cdda9b0ad3b51\"\
          \n        }\n    ], \n    \"termType\": \"TERMED\"\n}' \"https://rest.zuora.com/v1/subscriptions\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/subscriptions');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"accountKey\": \"A00001115\", \n    \"\
          autoRenew\": true, \n    \"contractEffectiveDate\": \"2015-02-1\", \n  \
          \  \"initialTerm\": \"12\", \n    \"initialTermPeriodType\": \"Week\", \n\
          \    \"notes\": \"Test POST subscription from z-ruby-sdk\", \n    \"renewalTerm\"\
          : \"3\", \n    \"renewalTermPeriodType\": \"Week\", \n    \"subscribeToRatePlans\"\
          : [\n        {\n            \"chargeOverrides\": [\n                {\n\
          \                    \"billCycleDay\": \"5\", \n                    \"billCycleType\"\
          : \"SpecificDayofMonth\", \n                    \"billingPeriodAlignment\"\
          : \"AlignToCharge\", \n                    \"billingTiming\": \"IN_ARREARS\"\
          , \n                    \"description\": \"This is rate plan charge description\"\
          , \n                    \"number\": \"TestCharge\", \n                 \
          \   \"price\": 12.01, \n                    \"productRatePlanChargeId\"\
          : \"ff8080811ca15d19011cddad8c953b53\", \n                    \"triggerDate\"\
          : \"2015-09-01\", \n                    \"triggerEvent\": \"USD\"\n    \
          \            }\n            ], \n            \"productRatePlanId\": \"ff8080811ca15d19011cdda9b0ad3b51\"\
          \n        }\n    ], \n    \"termType\": \"TERMED\"\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"accountKey\": \"A00001115\", \n    \"autoRenew\": true, \n    \"contractEffectiveDate\": \"2015-02-1\", \n    \"initialTerm\": \"12\", \n    \"initialTermPeriodType\": \"Week\", \n    \"notes\": \"Test POST subscription from z-ruby-sdk\", \n    \"renewalTerm\": \"3\", \n    \"renewalTermPeriodType\": \"Week\", \n    \"subscribeToRatePlans\": [\n        {\n            \"chargeOverrides\": [\n                {\n                    \"billCycleDay\": \"5\", \n                    \"billCycleType\": \"SpecificDayofMonth\", \n                    \"billingPeriodAlignment\": \"AlignToCharge\", \n                    \"billingTiming\": \"IN_ARREARS\", \n                    \"description\": \"This is rate plan charge description\", \n                    \"number\": \"TestCharge\", \n                    \"price\": 12.01, \n                    \"productRatePlanChargeId\": \"ff8080811ca15d19011cddad8c953b53\", \n                    \"triggerDate\": \"2015-09-01\", \n                    \"triggerEvent\": \"USD\"\n                }\n            ], \n            \"productRatePlanId\": \"ff8080811ca15d19011cdda9b0ad3b51\"\n        }\n    ], \n    \"termType\": \"TERMED\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/subscriptions")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"accountKey\": \"A00001115\", \n    \"autoRenew\": true, \n    \"contractEffectiveDate\": \"2015-02-1\", \n    \"initialTerm\": \"12\", \n    \"initialTermPeriodType\": \"Week\", \n    \"notes\": \"Test POST subscription from z-ruby-sdk\", \n    \"renewalTerm\": \"3\", \n    \"renewalTermPeriodType\": \"Week\", \n    \"subscribeToRatePlans\": [\n        {\n            \"chargeOverrides\": [\n                {\n                    \"billCycleDay\": \"5\", \n                    \"billCycleType\": \"SpecificDayofMonth\", \n                    \"billingPeriodAlignment\": \"AlignToCharge\", \n                    \"billingTiming\": \"IN_ARREARS\", \n                    \"description\": \"This is rate plan charge description\", \n                    \"number\": \"TestCharge\", \n                    \"price\": 12.01, \n                    \"productRatePlanChargeId\": \"ff8080811ca15d19011cddad8c953b53\", \n                    \"triggerDate\": \"2015-09-01\", \n                    \"triggerEvent\": \"USD\"\n                }\n            ], \n            \"productRatePlanId\": \"ff8080811ca15d19011cdda9b0ad3b51\"\n        }\n    ], \n    \"termType\": \"TERMED\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/subscriptions", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/subscriptions")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"accountKey\": \"A00001115\", \n    \"autoRenew\": true, \n    \"contractEffectiveDate\": \"2015-02-1\", \n    \"initialTerm\": \"12\", \n    \"initialTermPeriodType\": \"Week\", \n    \"notes\": \"Test POST subscription from z-ruby-sdk\", \n    \"renewalTerm\": \"3\", \n    \"renewalTermPeriodType\": \"Week\", \n    \"subscribeToRatePlans\": [\n        {\n            \"chargeOverrides\": [\n                {\n                    \"billCycleDay\": \"5\", \n                    \"billCycleType\": \"SpecificDayofMonth\", \n                    \"billingPeriodAlignment\": \"AlignToCharge\", \n                    \"billingTiming\": \"IN_ARREARS\", \n                    \"description\": \"This is rate plan charge description\", \n                    \"number\": \"TestCharge\", \n                    \"price\": 12.01, \n                    \"productRatePlanChargeId\": \"ff8080811ca15d19011cddad8c953b53\", \n                    \"triggerDate\": \"2015-09-01\", \n                    \"triggerEvent\": \"USD\"\n                }\n            ], \n            \"productRatePlanId\": \"ff8080811ca15d19011cdda9b0ad3b51\"\n        }\n    ], \n    \"termType\": \"TERMED\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/subscriptions");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"accountKey\": \"A00001115\", \n    \"autoRenew\": true, \n    \"contractEffectiveDate\": \"2015-02-1\", \n    \"initialTerm\": \"12\", \n    \"initialTermPeriodType\": \"Week\", \n    \"notes\": \"Test POST subscription from z-ruby-sdk\", \n    \"renewalTerm\": \"3\", \n    \"renewalTermPeriodType\": \"Week\", \n    \"subscribeToRatePlans\": [\n        {\n            \"chargeOverrides\": [\n                {\n                    \"billCycleDay\": \"5\", \n                    \"billCycleType\": \"SpecificDayofMonth\", \n                    \"billingPeriodAlignment\": \"AlignToCharge\", \n                    \"billingTiming\": \"IN_ARREARS\", \n                    \"description\": \"This is rate plan charge description\", \n                    \"number\": \"TestCharge\", \n                    \"price\": 12.01, \n                    \"productRatePlanChargeId\": \"ff8080811ca15d19011cddad8c953b53\", \n                    \"triggerDate\": \"2015-09-01\", \n                    \"triggerEvent\": \"USD\"\n                }\n            ], \n            \"productRatePlanId\": \"ff8080811ca15d19011cdda9b0ad3b51\"\n        }\n    ], \n    \"termType\": \"TERMED\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/subscriptions/accounts/{account-key}:
    get:
      summary: Get subscriptions by account
      operationId: GET_SubscriptionsByAccount
      description: |
        Retrieves all subscriptions associated with the specified account. Zuora only returns the latest version of the subscriptions.

        Subscription data is returned in reverse chronological order based on `updatedDate`.
      tags:
      - Subscriptions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - name: account-key
        in: path
        description: |2

          Possible values are:
          * an account number
          * an account ID
        required: true
        type: string
      - name: charge-detail
        in: query
        description: "The segmented rate plan charges.\n\nWhen an amendment results\
          \ in a change to a charge, Zuora creates a segmented rate plan charge. Use\
          \ this field to track segment charges.\n\nPossible values are:\n\n* __last-segment__:\
          \ (Default) The last rate plan charge on the subscription. The last rate\
          \ plan charge is the last one in the order of time on the subscription rather\
          \ than the most recent changed charge on the subscription.\n * __current-segment__:\
          \ The segmented charge that is active on today\u2019s date (effectiveStartDate\
          \ <= today\u2019s date < effectiveEndDate).\n \n * __all-segments__: All\
          \ the segmented charges. The `chargeSegments` field is returned in the response.\
          \ The `chargeSegments` field contains an array of the charge information\
          \ for all the charge segments.\n\n * __specific-segment&as-of-date=date__:\
          \ The segmented charge that is active on a date you specified (effectiveStartDate\
          \ <= specific date < effectiveEndDate). The format of the date is yyyy-mm-dd.\n"
        required: false
        type: string
      responses:
        '200':
          examples:
            application/json:
              subscriptions:
              - id: 8a8082c45aa81b51015ad68743ec0fdb
                accountId: 8a8082c45aa81b51015ad64396090f5c
                accountNumber: A00002641
                accountName: ABCD
                invoiceOwnerAccountId: 8a8082c45aa81b51015ad64396090f5c
                invoiceOwnerAccountNumber: A00002641
                invoiceOwnerAccountName: ABCD
                subscriptionNumber: A-S00007412
                termType: TERMED
                invoiceSeparately: false
                contractEffectiveDate: '2017-01-01'
                serviceActivationDate: '2017-01-01'
                customerAcceptanceDate: '2017-01-01'
                subscriptionStartDate: '2017-01-01'
                termStartDate: '2017-01-01'
                termEndDate: '2018-01-01'
                initialTerm: 12
                initialTermPeriodType: Month
                currentTerm: 12
                currentTermPeriodType: Month
                autoRenew: true
                renewalSetting: RENEW_WITH_SPECIFIC_TERM
                renewalTerm: 12
                renewalTermPeriodType: Month
                contractedMrr: 8.33
                totalContractedValue: 100
                notes: ''
                status: Active
                ratePlans:
                - id: 8a8082c45aa81b51015ad68744030fe3
                  productId: 8a8082c45aa81b51015ad5a2d07d0e89
                  productName: ABC
                  productSku: SKU-00000987
                  productRatePlanId: 8a8082c45aa81b51015ad5a473fb0e8d
                  ratePlanName: RatePlan 1
                  ratePlanCharges:
                  - id: 8a8082c45aa81b51015ad68744160fe4
                    originalChargeId: 8a8082c45aa81b51015ad68744160fe4
                    productRatePlanChargeId: 8a8082c45aa81b51015ad5a655c00e8f
                    number: C-00032238
                    name: Annual Charge
                    type: Recurring
                    model: FlatFee
                    uom: null
                    version: 1
                    pricingSummary: USD100
                    priceChangeOption: NoChange
                    priceIncreasePercentage: null
                    currency: USD
                    price: 100
                    tiers: null
                    includedUnits: null
                    overagePrice: null
                    discountPercentage: null
                    discountAmount: null
                    applyDiscountTo: null
                    discountLevel: null
                    discountClass: null
                    discountApplyDetails: []
                    billingDay: DefaultFromCustomer
                    listPriceBase: Per_Billing_Period
                    billingPeriod: Annual
                    specificBillingPeriod: null
                    billingTiming: IN_ADVANCE
                    billingPeriodAlignment: AlignToCharge
                    quantity: 1
                    smoothingModel: null
                    numberOfPeriods: null
                    overageCalculationOption: null
                    overageUnusedUnitsCreditOption: null
                    unusedUnitsCreditRates: null
                    usageRecordRatingOption: null
                    segment: 1
                    effectiveStartDate: '2017-01-01'
                    effectiveEndDate: '2018-01-01'
                    processedThroughDate: null
                    chargedThroughDate: null
                    done: false
                    triggerDate: null
                    triggerEvent: ContractEffective
                    endDateCondition: Subscription_End
                    upToPeriodsType: null
                    upToPeriods: null
                    specificEndDate: null
                    mrr: 8.333333
                    dmrc: 8.333333
                    tcv: 100
                    dtcv: 100
                    description: ''
                  - id: 8a8082c45aa81b51015ad68744240fe5
                    originalChargeId: 8a8082c45aa81b51015ad68744240fe5
                    productRatePlanChargeId: 8a8082c45aa81b51015ad683bc590fd8
                    number: C-00032239
                    name: Discount-Fixed 10
                    type: Recurring
                    model: DiscountFixedAmount
                    uom: null
                    version: 1
                    pricingSummary: USD10 fixed amount discount
                    priceChangeOption: null
                    priceIncreasePercentage: null
                    currency: USD
                    price: null
                    tiers: null
                    includedUnits: null
                    overagePrice: null
                    discountPercentage: null
                    discountAmount: 10
                    applyDiscountTo: ONETIMERECURRINGUSAGE
                    discountLevel: subscription
                    discountClass: VIP Discount
                    discountApplyDetails:
                    - appliedProductRatePlanId: 8a8082c45aa81b51015ad5a473fb0e8d
                      appliedProductRatePlanChargeId: 8a8082c45aa81b51015ad5a655c00e8f
                    - appliedProductRatePlanId: 8a8082c45aa81b51015ad5a473fb0e8d
                      appliedProductRatePlanChargeId: 8a8082c45aa81b51015ad5a655c00e8f
                    billingDay: DefaultFromCustomer
                    listPriceBase: null
                    billingPeriod: Month
                    specificBillingPeriod: null
                    billingTiming: null
                    billingPeriodAlignment: AlignToCharge
                    quantity: null
                    smoothingModel: null
                    numberOfPeriods: null
                    overageCalculationOption: null
                    overageUnusedUnitsCreditOption: null
                    unusedUnitsCreditRates: null
                    usageRecordRatingOption: null
                    segment: 1
                    effectiveStartDate: '2017-01-01'
                    effectiveEndDate: '2018-01-01'
                    processedThroughDate: null
                    chargedThroughDate: null
                    done: false
                    triggerDate: null
                    triggerEvent: ContractEffective
                    endDateCondition: Subscription_End
                    upToPeriodsType: null
                    upToPeriods: null
                    specificEndDate: null
                    mrr: 0
                    dmrc: 0
                    tcv: 0
                    dtcv: 0
                    description: ''
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETSubscriptionWrapper'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/subscriptions/accounts/{account-key}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/subscriptions/accounts/{account-key}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/subscriptions/accounts/{account-key}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/subscriptions/accounts/{account-key}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/subscriptions/accounts/{account-key}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/subscriptions/accounts/{account-key}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/subscriptions/{subscription-key}:
    put:
      summary: Update subscription
      operationId: PUT_Subscription
      description: "Use this call to make the following kinds of changes to a subscription:\n\
        \  * Add a note\n  * Change the renewal term or auto-renewal flag\n  * Change\
        \ the term length or change between evergreen and termed\n  * Add a new product\
        \ rate plan\n  * Remove an existing subscription rate plan\n  * Change the\
        \ quantity or price of an existing subscription rate plan\n\n## Notes\n* The\
        \ Update Subscription call creates a new subscription, which has the old subscription\
        \ number but a new subscription ID.  The old subscription is canceled but\
        \ remains in the system.\n* In one request, this call can make:\n  * Up to\
        \ 9 combined add, update, and remove changes\n  * No more than 1 change to\
        \ terms & conditions\n* Updates are performed in the following sequence:\n\
        \  1. First change the notes on the existing subscription, if requested.\n\
        \  2. Then change the terms and conditions, if requested.\n  3. Then perform\
        \ the remaining amendments based upon the effective dates specified. If multiple\
        \ amendments have the same contract-effective dates, then execute adds before\
        \ updates, and updates before removes.\n* The update operation is atomic.\
        \ If any of the updates fails, the entire operation is rolled back.\n* The\
        \ response of the Update Subscription call is based on the REST API minor\
        \ version you set in the request header. The response structure might be different\
        \ if you use different minor version numbers. \n* If you have the Invoice\
        \ Settlement feature enabled, it is best practice to set the `zuora-version`\
        \ parameter to `211.0` or later. Otherwise, an error occurs.\n\n## Override\
        \ a Tiered Price\nThere are two ways you override a tiered price:\n\n* Override\
        \ a specific tier number\nFor example: `tiers[{tier:1,price:8},{tier:2,price:6}]`\n\
        \n* Override the entire tier structure\nFor example:  `tiers[{tier:1,price:8,startingUnit:1,endingUnit:100,priceFormat:\"\
        FlatFee\"},\n{tier:2,price:6,startingUnit:101,priceFormat:\"FlatFee\"}]`\n\
        \nIf you just override a specific tier, do not include the `startingUnit`\
        \ field in the request.\n"
      tags:
      - Subscriptions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: zuora-version
        in: header
        required: false
        type: string
        description: "\nThe minor version of the Zuora REST API. \n\nYou need to set\
          \ this parameter if you use the following fields:\n* collect\n* invoice\n\
          * includeExistingDraftDocItems\n* previewType\n* runBilling\n* targetDate\n\
          \n\nIf you have the Invoice Settlement feature enabled, you need to specify\
          \ this parameter. Otherwise, an error is returned.\n\n\nSee [Zuora REST\
          \ API Versions](https://www.zuora.com/developer/api-reference/#section/API-Versions)\
          \ for more information.\n"
      - name: subscription-key
        in: path
        required: true
        type: string
        description: Subscription number or ID.
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUTSubscriptionType'
      responses:
        '200':
          examples:
            application/json:
              success: true
              subscriptionId: 4028bb83510f8ed7015114a503cf0373
              totalDeltaMrr: 100.0
              totalDeltaTcv: 4867.7419355
          description: ''
          schema:
            $ref: '#/definitions/PUTSubscriptionResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"autoRenew\": false,\
          \ \n    \"collect\": false, \n    \"currentTerm\": \"10\", \n    \"currentTermPeriodType\"\
          : \"Month\", \n    \"notes\": \"Test UPDATE subscription from z-ruby-sdk\"\
          , \n    \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n    \"renewalTerm\"\
          : \"4\", \n    \"renewalTermPeriodType\": \"Month\", \n    \"runBilling\"\
          : true, \n    \"termType\": \"TERMED\", \n    \"update\": [\n        {\n\
          \            \"chargeUpdateDetails\": [\n                {\n           \
          \         \"quantity\": 12, \n                    \"ratePlanChargeId\":\
          \ \"2c92c8f83dcbd8b1013dcce0eb510075\"\n                }\n            ],\
          \ \n            \"contractEffectiveDate\": \"2013-04-28\", \n          \
          \  \"ratePlanId\": \"2c92c8f83dcbd8b1013dcce0ea7e006f\"\n        }\n   \
          \ ]\n}' \"https://rest.zuora.com/v1/subscriptions/{subscription-key}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/subscriptions/{subscription-key}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"autoRenew\": false, \n    \"collect\"\
          : false, \n    \"currentTerm\": \"10\", \n    \"currentTermPeriodType\"\
          : \"Month\", \n    \"notes\": \"Test UPDATE subscription from z-ruby-sdk\"\
          , \n    \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n    \"renewalTerm\"\
          : \"4\", \n    \"renewalTermPeriodType\": \"Month\", \n    \"runBilling\"\
          : true, \n    \"termType\": \"TERMED\", \n    \"update\": [\n        {\n\
          \            \"chargeUpdateDetails\": [\n                {\n           \
          \         \"quantity\": 12, \n                    \"ratePlanChargeId\":\
          \ \"2c92c8f83dcbd8b1013dcce0eb510075\"\n                }\n            ],\
          \ \n            \"contractEffectiveDate\": \"2013-04-28\", \n          \
          \  \"ratePlanId\": \"2c92c8f83dcbd8b1013dcce0ea7e006f\"\n        }\n   \
          \ ]\n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"autoRenew\": false, \n    \"collect\": false, \n    \"currentTerm\": \"10\", \n    \"currentTermPeriodType\": \"Month\", \n    \"notes\": \"Test UPDATE subscription from z-ruby-sdk\", \n    \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n    \"renewalTerm\": \"4\", \n    \"renewalTermPeriodType\": \"Month\", \n    \"runBilling\": true, \n    \"termType\": \"TERMED\", \n    \"update\": [\n        {\n            \"chargeUpdateDetails\": [\n                {\n                    \"quantity\": 12, \n                    \"ratePlanChargeId\": \"2c92c8f83dcbd8b1013dcce0eb510075\"\n                }\n            ], \n            \"contractEffectiveDate\": \"2013-04-28\", \n            \"ratePlanId\": \"2c92c8f83dcbd8b1013dcce0ea7e006f\"\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/subscriptions/{subscription-key}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"autoRenew\": false, \n    \"collect\": false, \n    \"currentTerm\": \"10\", \n    \"currentTermPeriodType\": \"Month\", \n    \"notes\": \"Test UPDATE subscription from z-ruby-sdk\", \n    \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n    \"renewalTerm\": \"4\", \n    \"renewalTermPeriodType\": \"Month\", \n    \"runBilling\": true, \n    \"termType\": \"TERMED\", \n    \"update\": [\n        {\n            \"chargeUpdateDetails\": [\n                {\n                    \"quantity\": 12, \n                    \"ratePlanChargeId\": \"2c92c8f83dcbd8b1013dcce0eb510075\"\n                }\n            ], \n            \"contractEffectiveDate\": \"2013-04-28\", \n            \"ratePlanId\": \"2c92c8f83dcbd8b1013dcce0ea7e006f\"\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/subscriptions/{subscription-key}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/subscriptions/{subscription-key}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"autoRenew\": false, \n    \"collect\": false, \n    \"currentTerm\": \"10\", \n    \"currentTermPeriodType\": \"Month\", \n    \"notes\": \"Test UPDATE subscription from z-ruby-sdk\", \n    \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n    \"renewalTerm\": \"4\", \n    \"renewalTermPeriodType\": \"Month\", \n    \"runBilling\": true, \n    \"termType\": \"TERMED\", \n    \"update\": [\n        {\n            \"chargeUpdateDetails\": [\n                {\n                    \"quantity\": 12, \n                    \"ratePlanChargeId\": \"2c92c8f83dcbd8b1013dcce0eb510075\"\n                }\n            ], \n            \"contractEffectiveDate\": \"2013-04-28\", \n            \"ratePlanId\": \"2c92c8f83dcbd8b1013dcce0ea7e006f\"\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/subscriptions/{subscription-key}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"autoRenew\": false, \n    \"collect\": false, \n    \"currentTerm\": \"10\", \n    \"currentTermPeriodType\": \"Month\", \n    \"notes\": \"Test UPDATE subscription from z-ruby-sdk\", \n    \"renewalSetting\": \"RENEW_WITH_SPECIFIC_TERM\", \n    \"renewalTerm\": \"4\", \n    \"renewalTermPeriodType\": \"Month\", \n    \"runBilling\": true, \n    \"termType\": \"TERMED\", \n    \"update\": [\n        {\n            \"chargeUpdateDetails\": [\n                {\n                    \"quantity\": 12, \n                    \"ratePlanChargeId\": \"2c92c8f83dcbd8b1013dcce0eb510075\"\n                }\n            ], \n            \"contractEffectiveDate\": \"2013-04-28\", \n            \"ratePlanId\": \"2c92c8f83dcbd8b1013dcce0ea7e006f\"\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      summary: Get subscriptions by key
      operationId: GET_SubscriptionsByKey
      description: 'This REST API reference describes how to retrieve detailed information
        about a specified subscription in the latest version.

        '
      tags:
      - Subscriptions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: subscription-key
        in: path
        description: |
          Possible values are:
            * a subscription number
            * a subscription ID
        required: true
        type: string
      - name: charge-detail
        in: query
        description: "\nThe segmented rate plan charges. When an amendment results\
          \ in a change to a charge, Zuora creates a segmented rate plan charge. Use\
          \ this field to track segment charges.\n\nPossible values are:\n\n * __last-segment__:\
          \ (Default) The last rate plan charge on the subscription. The last rate\
          \ plan charge is the last one in the order of time on the subscription rather\
          \ than the most recent changed charge on the subscription.\n * __current-segment__:\
          \ The segmented charge that is active on today\u2019s date (effectiveStartDate\
          \ <= today\u2019s date < effectiveEndDate).\n \n * __all-segments__: All\
          \ the segmented charges. The `chargeSegments` field is returned in the response.\
          \ The `chargeSegments` field contains an array of the charge information\
          \ for all the charge segments.\n\n * __specific-segment&as-of-date=date__:\
          \ The segmented charge that is active on a date you specified ((specific\
          \ date = effectiveStartDate) OR (effectiveStartDate < specific date < effectiveEndDate)).\
          \ The format of the date is yyyy-mm-dd.\n"
        required: false
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
              id: 8a8082c45aa81b51015ad68743ec0fdb
              accountId: 8a8082c45aa81b51015ad64396090f5c
              accountNumber: A00002641
              accountName: ABCD
              invoiceOwnerAccountId: 8a8082c45aa81b51015ad64396090f5c
              invoiceOwnerAccountNumber: A00002641
              invoiceOwnerAccountName: ABCD
              subscriptionNumber: A-S00007412
              termType: TERMED
              invoiceSeparately: false
              contractEffectiveDate: '2017-01-01'
              serviceActivationDate: '2017-01-01'
              customerAcceptanceDate: '2017-01-01'
              subscriptionStartDate: '2017-01-01'
              termStartDate: '2017-01-01'
              termEndDate: '2018-01-01'
              initialTerm: 12
              initialTermPeriodType: Month
              currentTerm: 12
              currentTermPeriodType: Month
              autoRenew: true
              renewalSetting: RENEW_WITH_SPECIFIC_TERM
              renewalTerm: 12
              renewalTermPeriodType: Month
              contractedMrr: 8.33
              totalContractedValue: 100
              notes: ''
              status: Active
              ratePlans:
              - id: 8a8082c45aa81b51015ad68744030fe3
                productId: 8a8082c45aa81b51015ad5a2d07d0e89
                productName: ABC
                productSku: SKU-00000987
                productRatePlanId: 8a8082c45aa81b51015ad5a473fb0e8d
                ratePlanName: RatePlan 1
                ratePlanCharges:
                - id: 8a8082c45aa81b51015ad68744160fe4
                  originalChargeId: 8a8082c45aa81b51015ad68744160fe4
                  productRatePlanChargeId: 8a8082c45aa81b51015ad5a655c00e8f
                  number: C-00032238
                  name: Annual Charge
                  type: Recurring
                  model: FlatFee
                  uom: null
                  version: 1
                  pricingSummary: USD100
                  priceChangeOption: NoChange
                  priceIncreasePercentage: null
                  currency: USD
                  price: 100
                  tiers: null
                  includedUnits: null
                  overagePrice: null
                  discountPercentage: null
                  discountAmount: null
                  applyDiscountTo: null
                  discountLevel: null
                  discountClass: null
                  discountApplyDetails: []
                  billingDay: DefaultFromCustomer
                  listPriceBase: Per_Billing_Period
                  billingPeriod: Annual
                  specificBillingPeriod: null
                  billingTiming: IN_ADVANCE
                  billingPeriodAlignment: AlignToCharge
                  quantity: 1
                  smoothingModel: null
                  numberOfPeriods: null
                  overageCalculationOption: null
                  overageUnusedUnitsCreditOption: null
                  unusedUnitsCreditRates: null
                  usageRecordRatingOption: null
                  segment: 1
                  effectiveStartDate: '2017-01-01'
                  effectiveEndDate: '2018-01-01'
                  processedThroughDate: null
                  chargedThroughDate: null
                  done: false
                  triggerDate: null
                  triggerEvent: ContractEffective
                  endDateCondition: Subscription_End
                  upToPeriodsType: null
                  upToPeriods: null
                  specificEndDate: null
                  mrr: 8.333333
                  dmrc: 8.333333
                  tcv: 100
                  dtcv: 100
                  description: ''
                - id: 8a8082c45aa81b51015ad68744240fe5
                  originalChargeId: 8a8082c45aa81b51015ad68744240fe5
                  productRatePlanChargeId: 8a8082c45aa81b51015ad683bc590fd8
                  number: C-00032239
                  name: Discount-Fixed 10
                  type: Recurring
                  model: DiscountFixedAmount
                  uom: null
                  version: 1
                  pricingSummary: USD10 fixed amount discount
                  priceChangeOption: null
                  priceIncreasePercentage: null
                  currency: USD
                  price: null
                  tiers: null
                  includedUnits: null
                  overagePrice: null
                  discountPercentage: null
                  discountAmount: 10
                  applyDiscountTo: ONETIMERECURRINGUSAGE
                  discountLevel: subscription
                  discountClass: VIP Discount
                  discountApplyDetails:
                  - appliedProductRatePlanId: 8a8082c45aa81b51015ad5a473fb0e8d
                    appliedProductRatePlanChargeId: 8a8082c45aa81b51015ad5a655c00e8f
                  billingDay: DefaultFromCustomer
                  listPriceBase: null
                  billingPeriod: Month
                  specificBillingPeriod: null
                  billingTiming: null
                  billingPeriodAlignment: AlignToCharge
                  quantity: null
                  smoothingModel: null
                  numberOfPeriods: null
                  overageCalculationOption: null
                  overageUnusedUnitsCreditOption: null
                  unusedUnitsCreditRates: null
                  usageRecordRatingOption: null
                  segment: 1
                  effectiveStartDate: '2017-01-01'
                  effectiveEndDate: '2018-01-01'
                  processedThroughDate: null
                  chargedThroughDate: null
                  done: false
                  triggerDate: null
                  triggerEvent: ContractEffective
                  endDateCondition: Subscription_End
                  upToPeriodsType: null
                  upToPeriods: null
                  specificEndDate: null
                  mrr: 0
                  dmrc: 0
                  tcv: 0
                  dtcv: 0
                  description: ''
          description: ''
          schema:
            $ref: '#/definitions/GETSubscriptionTypeWithSuccess'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/subscriptions/{subscription-key}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/subscriptions/{subscription-key}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/subscriptions/{subscription-key}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/subscriptions/{subscription-key}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/subscriptions/{subscription-key}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/subscriptions/{subscription-key}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/subscriptions/{subscription-key}/versions/{version}:
    get:
      summary: Get subscriptions by key and version
      operationId: GET_SubscriptionsByKeyAndVersion
      description: 'This REST API reference describes how to retrieve detailed information
        about a specified subscription in a specified version. When you create a subscription
        amendment, you create a new version of the subscription. You can use this
        method to retrieve information about a subscription in any version.

        '
      tags:
      - Subscriptions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: subscription-key
        in: path
        description: 'Subscription number. For example, A-S00000135.

          '
        required: true
        type: string
      - name: version
        in: path
        description: 'Subscription version. For example, 1.

          '
        required: true
        type: string
      - name: charge-detail
        in: query
        description: "\nThe segmented rate plan charges. When an amendment results\
          \ in a change to a charge, Zuora creates a segmented rate plan charge. Use\
          \ this field to track segment charges.\n\nPossible values are:\n\n * __last-segment__:\
          \ (Default) The last rate plan charge on the subscription. The last rate\
          \ plan charge is the last one in the order of time on the subscription rather\
          \ than the most recent changed charge on the subscription.\n * __current-segment__:\
          \ The segmented charge that is active on today\u2019s date (effectiveStartDate\
          \ <= today\u2019s date < effectiveEndDate).\n \n * __all-segments__: All\
          \ the segmented charges. The `chargeSegments` field is returned in the response.\
          \ The `chargeSegments` field contains an array of the charge information\
          \ for all the charge segments.\n\n * __specific-segment&as-of-date=date__:\
          \ The segmented charge that is active on a date you specified (effectiveStartDate\
          \ <= specific date < effectiveEndDate). The format of the date is yyyy-mm-dd.\n"
        required: false
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
              id: 2c9081a03c63c94c013c687b864e0195
              accountId: 2c9081a03c63c94c013c66688a2c00bf
              accountNumber: RestAPI
              accountName: RestAPI
              subscriptionNumber: A-S00000004
              termType: TERMED
              contractEffectiveDate: '2012-02-01'
              serviceActivationDate: '2012-02-01'
              customerAcceptanceDate: '2012-02-01'
              subscriptionStartDate: '2012-02-01'
              termStartDate: '2012-02-01'
              termEndDate: '2013-02-01'
              initialTermPeriodType: Week
              currentTerm: 12
              currentTermPeriodType: Week
              autoRenew: false
              renewalSetting: RENEW_WITH_SPECIFIC_TERM
              renewalTerm: 0
              renewalTermPeriodType: Week
              contractedMrr: 26.67
              totalContractedValue: 404.0
              notes: ''
              status: Active
              ratePlans:
              - id: 2c9081a03c63c94c013c687b868901a4
                productId: 2c9081a03c63c94c013c66499ef0001b
                productName: OneTime
                productSku: SKU-00000022
                productRatePlanId: 2c9081a03c63c94c013c665102e5003a
                ratePlanName: OT_Tiered
                ratePlanCharges:
                - id: 2c9081a03c63c94c013c687b868901a5
                  originalChargeId: 2c9081a03c63c94c013c687a92d70175
                  productRatePlanChargeId: 2c9081a03c63c94c013c6651d677003c
                  number: C-00000010
                  name: OT_Tiered
                  type: OneTime
                  model: Tiered
                  uom: Each
                  version: 1
                  pricingSummary: '0 to 10 Each: USD20 flat fee;  11 Each or more:
                    USD4/Each'
                  priceChangeOption: null
                  priceIncreasePercentage: null
                  currency: USD
                  price: null
                  tiers:
                  - tier: 1
                    startingUnit: 0E-9
                    endingUnit: 10.0
                    price: 20.0
                    priceFormat: FlatFee
                  - tier: 2
                    startingUnit: 11.0
                    endingUnit: null
                    price: 4.0
                    priceFormat: PerUnit
                  includedUnits: null
                  overagePrice: null
                  discountPercentage: null
                  discountAmount: null
                  applyDiscountTo: null
                  discountLevel: null
                  billingDay: null
                  listPriceBase: null
                  billingPeriod: null
                  specificBillingPeriod: null
                  billingTiming: null
                  billingPeriodAlignment: null
                  quantity: 11.0
                  smoothingModel: null
                  numberOfPeriods: null
                  overageCalculationOption: null
                  overageUnusedUnitsCreditOption: null
                  unusedUnitsCreditRates: null
                  usageRecordRatingOption: null
                  segment: 1
                  effectiveStartDate: '2012-02-01'
                  effectiveEndDate: '2012-02-02'
                  processedThroughDate: '2012-02-02'
                  chargedThroughDate: '2012-02-02'
                  done: true
                  triggerDate: null
                  triggerEvent: ContractEffective
                  endDateCondition: One_Time
                  upToPeriodsType: null
                  upToPeriods: null
                  specificEndDate: null
                  mrr: null
                  dmrc: null
                  tcv: 24.0
                  dtcv: 24.0
                  description: ''
          description: ''
          schema:
            $ref: '#/definitions/GETSubscriptionTypeWithSuccess'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/subscriptions/{subscription-key}/versions/{version}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/subscriptions/{subscription-key}/versions/{version}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/subscriptions/{subscription-key}/versions/{version}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/subscriptions/{subscription-key}/versions/{version}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/subscriptions/{subscription-key}/versions/{version}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/subscriptions/{subscription-key}/versions/{version}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/subscriptions/{subscription-key}/renew:
    put:
      summary: Renew subscription
      operationId: PUT_RenewSubscription
      description: |
        Renews a termed subscription using existing renewal terms.

        **Note**: If you have the Invoice Settlement feature enabled, it is best practice to set the `zuora-version` parameter to `211.0` or later. Otherwise, an error occurs.
      tags:
      - Subscriptions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: zuora-version
        in: header
        required: false
        type: string
        description: "The minor version of the Zuora REST API. \n\nYou only need to\
          \ set this parameter if you use the following fields:\n* invoice\n* collect\n\
          * runBilling\n* targetDate \n"
      - name: subscription-key
        in: path
        required: true
        type: string
        description: Subscription number or ID
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUTRenewSubscriptionType'
      responses:
        '200':
          examples:
            application/json:
              termStartDate: '2014-02-01'
              success: true
              termEndDate: '2014-05-01'
              subscriptionId: 2c92c8f83dcbd8b1013dcce0f09100a5
          description: ''
          schema:
            $ref: '#/definitions/PUTRenewSubscriptionResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"collect\": false, \n\
          \    \"runBilling\": true\n}' \"https://rest.zuora.com/v1/subscriptions/{subscription-key}/renew\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/subscriptions/{subscription-key}/renew');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"collect\": false, \n    \"runBilling\"\
          : true\n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"collect\": false, \n    \"runBilling\": true\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/subscriptions/{subscription-key}/renew")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"collect\": false, \n    \"runBilling\": true\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/subscriptions/{subscription-key}/renew", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/subscriptions/{subscription-key}/renew")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"collect\": false, \n    \"runBilling\": true\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/subscriptions/{subscription-key}/renew");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"collect\": false, \n    \"runBilling\": true\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/subscriptions/{subscription-key}/cancel:
    put:
      summary: Cancel subscription
      operationId: PUT_CancelSubscription
      description: |
        This REST API reference describes how to cancel an active subscription.

        **Note**: If you have the Invoice Settlement feature enabled, it is best practice to set the `zuora-version` parameter to `211.0` or later. Otherwise, an error occurs.
      tags:
      - Subscriptions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: zuora-version
        in: header
        required: false
        type: string
        description: "The minor version of the Zuora REST API. \n\nYou only need to\
          \ set this parameter if you use the following fields:\n* invoice\n* collect\n\
          * runBilling\n* targetDate \n"
      - name: subscription-key
        in: path
        required: true
        type: string
        description: Subscription number or ID. Subscription status must be `Active`.
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTSubscriptionCancellationType'
      responses:
        '200':
          examples:
            application/json:
              success: true
              subscriptionId: 8a8082c453cd2a620154efc7bba0350e
              cancelledDate: '2019-05-31'
              totalDeltaMrr: 0
              totalDeltaTcv: -703.2258065
              invoiceId: 8a8082c453cd2a620153e426c7eb78b3
          description: ''
          schema:
            $ref: '#/definitions/POSTSubscriptionCancellationResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"cancellationEffectiveDate\"\
          : \"2019-05-31\", \n    \"cancellationPolicy\": \"SpecificDate\", \n   \
          \ \"collect\": false, \n    \"runBilling\": true\n}' \"https://rest.zuora.com/v1/subscriptions/{subscription-key}/cancel\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/subscriptions/{subscription-key}/cancel');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"cancellationEffectiveDate\": \"2019-05-31\"\
          , \n    \"cancellationPolicy\": \"SpecificDate\", \n    \"collect\": false,\
          \ \n    \"runBilling\": true\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"cancellationEffectiveDate\": \"2019-05-31\", \n    \"cancellationPolicy\": \"SpecificDate\", \n    \"collect\": false, \n    \"runBilling\": true\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/subscriptions/{subscription-key}/cancel")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"cancellationEffectiveDate\": \"2019-05-31\", \n    \"cancellationPolicy\": \"SpecificDate\", \n    \"collect\": false, \n    \"runBilling\": true\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/subscriptions/{subscription-key}/cancel", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/subscriptions/{subscription-key}/cancel")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"cancellationEffectiveDate\": \"2019-05-31\", \n    \"cancellationPolicy\": \"SpecificDate\", \n    \"collect\": false, \n    \"runBilling\": true\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/subscriptions/{subscription-key}/cancel");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"cancellationEffectiveDate\": \"2019-05-31\", \n    \"cancellationPolicy\": \"SpecificDate\", \n    \"collect\": false, \n    \"runBilling\": true\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/subscriptions/{subscription-key}/resume:
    put:
      summary: Resume subscription
      operationId: PUT_ResumeSubscription
      description: "This REST API reference describes how to resume a suspended subscription.\
        \ \n\nThis feature is in **Limited Availability**. If you wish to have access\
        \ to the feature, submit a request at [Zuora Global Support](http://suport.zuora.com).\
        \ \n\n**Note**: If you have the Invoice Settlement feature enabled, it is\
        \ best practice to set the `zuora-version` parameter to `211.0` or later.\
        \ Otherwise, an error occurs.\n"
      tags:
      - Subscriptions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: zuora-version
        in: header
        required: false
        type: string
        description: "The minor version of the Zuora REST API. \n\nYou only need to\
          \ set this parameter if you use the following fields:\n* invoice\n* collect\n\
          * runBilling\n* targetDate\n"
      - name: subscription-key
        in: path
        required: true
        type: string
        description: Subscription number or ID. Subscription status must be Active.
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUTSubscriptionResumeType'
      responses:
        '200':
          examples:
            application/json:
              success: true
              subscriptionId: 8a8082c4539c5bcc0153a752f9c87094
              resumeDate: '2019-10-01'
              termEndDate: '2020-01-31'
              totalDeltaTcv: 396.7741935
          description: ''
          schema:
            $ref: '#/definitions/PUTSubscriptionResumeResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"collect\": false, \n\
          \    \"contractEffectiveDate\": \"2019-02-01\", \n    \"extendsTerm\": true,\
          \ \n    \"resumePolicy\": \"SpecificDate\", \n    \"resumeSpecificDate\"\
          : \"2019-10-01\", \n    \"runBilling\": true\n}' \"https://rest.zuora.com/v1/subscriptions/{subscription-key}/resume\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/subscriptions/{subscription-key}/resume');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"collect\": false, \n    \"contractEffectiveDate\"\
          : \"2019-02-01\", \n    \"extendsTerm\": true, \n    \"resumePolicy\": \"\
          SpecificDate\", \n    \"resumeSpecificDate\": \"2019-10-01\", \n    \"runBilling\"\
          : true\n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"collect\": false, \n    \"contractEffectiveDate\": \"2019-02-01\", \n    \"extendsTerm\": true, \n    \"resumePolicy\": \"SpecificDate\", \n    \"resumeSpecificDate\": \"2019-10-01\", \n    \"runBilling\": true\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/subscriptions/{subscription-key}/resume")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"collect\": false, \n    \"contractEffectiveDate\": \"2019-02-01\", \n    \"extendsTerm\": true, \n    \"resumePolicy\": \"SpecificDate\", \n    \"resumeSpecificDate\": \"2019-10-01\", \n    \"runBilling\": true\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/subscriptions/{subscription-key}/resume", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/subscriptions/{subscription-key}/resume")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"collect\": false, \n    \"contractEffectiveDate\": \"2019-02-01\", \n    \"extendsTerm\": true, \n    \"resumePolicy\": \"SpecificDate\", \n    \"resumeSpecificDate\": \"2019-10-01\", \n    \"runBilling\": true\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/subscriptions/{subscription-key}/resume");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"collect\": false, \n    \"contractEffectiveDate\": \"2019-02-01\", \n    \"extendsTerm\": true, \n    \"resumePolicy\": \"SpecificDate\", \n    \"resumeSpecificDate\": \"2019-10-01\", \n    \"runBilling\": true\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/subscriptions/{subscription-key}/suspend:
    put:
      summary: Suspend subscription
      operationId: PUT_SuspendSubscription
      description: "This REST API reference describes how to suspend an active subscription.\
        \ \n\nThis feature is in **Limited Availability**. If you wish to have access\
        \ to the feature, submit a request at [Zuora Global Support](http://suport.zuora.com).\n\
        \n**Note**: If you have the Invoice Settlement feature enabled, it is best\
        \ practice to set the `zuora-version` parameter to `211.0` or later. Otherwise,\
        \ an error occurs.\n"
      tags:
      - Subscriptions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: zuora-version
        in: header
        required: false
        type: string
        description: "The minor version of the Zuora REST API. \n\nYou only need to\
          \ set this parameter if you use the following fields:\n* invoice\n* collect\n\
          * runBilling\n* targetDate\n"
      - name: subscription-key
        in: path
        required: true
        type: string
        description: Subscription number or ID. Subscription status must be Active.
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUTSubscriptionSuspendType'
      responses:
        '200':
          examples:
            application/json:
              success: true
              subscriptionId: 8a8082c4539c5bcc0153a658a9636fcc
              suspendDate: '2019-05-01'
              resumeDate: '2016-06-01'
              termEndDate: '2020-02-01'
              totalDeltaTcv: -896.6666667
              invoiceId: 8a8082c453bb061f0153c529bc921b4b
          description: ''
          schema:
            $ref: '#/definitions/PUTSubscriptionSuspendResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"collect\": false, \n\
          \    \"contractEffectiveDate\": \"2019-02-01\", \n    \"extendsTerm\": true,\
          \ \n    \"resume\": true, \n    \"resumePolicy\": \"SpecificDate\", \n \
          \   \"resumeSpecificDate\": \"2019-06-01\", \n    \"runBilling\": true,\
          \ \n    \"suspendPeriods\": 10, \n    \"suspendPeriodsType\": \"Day\", \n\
          \    \"suspendPolicy\": \"FixedPeriodsFromToday\"\n}' \"https://rest.zuora.com/v1/subscriptions/{subscription-key}/suspend\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/subscriptions/{subscription-key}/suspend');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"collect\": false, \n    \"contractEffectiveDate\"\
          : \"2019-02-01\", \n    \"extendsTerm\": true, \n    \"resume\": true, \n\
          \    \"resumePolicy\": \"SpecificDate\", \n    \"resumeSpecificDate\": \"\
          2019-06-01\", \n    \"runBilling\": true, \n    \"suspendPeriods\": 10,\
          \ \n    \"suspendPeriodsType\": \"Day\", \n    \"suspendPolicy\": \"FixedPeriodsFromToday\"\
          \n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"collect\": false, \n    \"contractEffectiveDate\": \"2019-02-01\", \n    \"extendsTerm\": true, \n    \"resume\": true, \n    \"resumePolicy\": \"SpecificDate\", \n    \"resumeSpecificDate\": \"2019-06-01\", \n    \"runBilling\": true, \n    \"suspendPeriods\": 10, \n    \"suspendPeriodsType\": \"Day\", \n    \"suspendPolicy\": \"FixedPeriodsFromToday\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/subscriptions/{subscription-key}/suspend")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"collect\": false, \n    \"contractEffectiveDate\": \"2019-02-01\", \n    \"extendsTerm\": true, \n    \"resume\": true, \n    \"resumePolicy\": \"SpecificDate\", \n    \"resumeSpecificDate\": \"2019-06-01\", \n    \"runBilling\": true, \n    \"suspendPeriods\": 10, \n    \"suspendPeriodsType\": \"Day\", \n    \"suspendPolicy\": \"FixedPeriodsFromToday\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/subscriptions/{subscription-key}/suspend", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/subscriptions/{subscription-key}/suspend")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"collect\": false, \n    \"contractEffectiveDate\": \"2019-02-01\", \n    \"extendsTerm\": true, \n    \"resume\": true, \n    \"resumePolicy\": \"SpecificDate\", \n    \"resumeSpecificDate\": \"2019-06-01\", \n    \"runBilling\": true, \n    \"suspendPeriods\": 10, \n    \"suspendPeriodsType\": \"Day\", \n    \"suspendPolicy\": \"FixedPeriodsFromToday\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/subscriptions/{subscription-key}/suspend");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"collect\": false, \n    \"contractEffectiveDate\": \"2019-02-01\", \n    \"extendsTerm\": true, \n    \"resume\": true, \n    \"resumePolicy\": \"SpecificDate\", \n    \"resumeSpecificDate\": \"2019-06-01\", \n    \"runBilling\": true, \n    \"suspendPeriods\": 10, \n    \"suspendPeriodsType\": \"Day\", \n    \"suspendPolicy\": \"FixedPeriodsFromToday\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/subscriptions/{subscriptionNumber}/versions/{version}/customFields:
    put:
      tags:
      - Subscriptions
      summary: Update subscription custom fields of a specified subscription version
      description: 'Updates the custom fields of a specified subscription version.

        '
      operationId: PUT_UpdateSubscriptionCustomFieldsOfASpecifiedVersion
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: subscriptionNumber
        in: path
        description: The subscription number to be updated.
        required: true
        type: string
        format: string
      - name: version
        in: path
        description: The subscription version to be updated.
        required: true
        type: string
        format: string
      - name: body
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUTSubscriptionPatchRequestType'
      responses:
        200:
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
          examples:
            application/json:
              success: true
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"customFields\": {\n\
          \        \"sub_cf__c\": \"subscription custom field\"\n    }, \n    \"ratePlans\"\
          : [\n        {\n            \"charges\": [\n                {\n        \
          \            \"chargeNumber\": \"C-00000016\", \n                    \"\
          customFields\": {\n                        \"sub_rpc__c\": \"rate plan charge\
          \ custom field\"\n                    }\n                }\n           \
          \ ], \n            \"customFields\": {\n                \"sub_rate_plan__c\"\
          : \"rate plan custom field\"\n            }, \n            \"ratePlanId\"\
          : \"8a8081085d834928015da220da08207f\"\n        }\n    ]\n}' \"https://rest.zuora.com/v1/subscriptions/{subscriptionNumber}/versions/{version}/customFields\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/subscriptions/{subscriptionNumber}/versions/{version}/customFields');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"customFields\": {\n        \"sub_cf__c\"\
          : \"subscription custom field\"\n    }, \n    \"ratePlans\": [\n       \
          \ {\n            \"charges\": [\n                {\n                   \
          \ \"chargeNumber\": \"C-00000016\", \n                    \"customFields\"\
          : {\n                        \"sub_rpc__c\": \"rate plan charge custom field\"\
          \n                    }\n                }\n            ], \n          \
          \  \"customFields\": {\n                \"sub_rate_plan__c\": \"rate plan\
          \ custom field\"\n            }, \n            \"ratePlanId\": \"8a8081085d834928015da220da08207f\"\
          \n        }\n    ]\n}');\n\ntry {\n  $response = $request->send();\n\n \
          \ echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"customFields\": {\n        \"sub_cf__c\": \"subscription custom field\"\n    }, \n    \"ratePlans\": [\n        {\n            \"charges\": [\n                {\n                    \"chargeNumber\": \"C-00000016\", \n                    \"customFields\": {\n                        \"sub_rpc__c\": \"rate plan charge custom field\"\n                    }\n                }\n            ], \n            \"customFields\": {\n                \"sub_rate_plan__c\": \"rate plan custom field\"\n            }, \n            \"ratePlanId\": \"8a8081085d834928015da220da08207f\"\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/subscriptions/{subscriptionNumber}/versions/{version}/customFields")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"customFields\": {\n        \"sub_cf__c\": \"subscription custom field\"\n    }, \n    \"ratePlans\": [\n        {\n            \"charges\": [\n                {\n                    \"chargeNumber\": \"C-00000016\", \n                    \"customFields\": {\n                        \"sub_rpc__c\": \"rate plan charge custom field\"\n                    }\n                }\n            ], \n            \"customFields\": {\n                \"sub_rate_plan__c\": \"rate plan custom field\"\n            }, \n            \"ratePlanId\": \"8a8081085d834928015da220da08207f\"\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/subscriptions/{subscriptionNumber}/versions/{version}/customFields", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/subscriptions/{subscriptionNumber}/versions/{version}/customFields")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"customFields\": {\n        \"sub_cf__c\": \"subscription custom field\"\n    }, \n    \"ratePlans\": [\n        {\n            \"charges\": [\n                {\n                    \"chargeNumber\": \"C-00000016\", \n                    \"customFields\": {\n                        \"sub_rpc__c\": \"rate plan charge custom field\"\n                    }\n                }\n            ], \n            \"customFields\": {\n                \"sub_rate_plan__c\": \"rate plan custom field\"\n            }, \n            \"ratePlanId\": \"8a8081085d834928015da220da08207f\"\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/subscriptions/{subscriptionNumber}/versions/{version}/customFields");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"customFields\": {\n        \"sub_cf__c\": \"subscription custom field\"\n    }, \n    \"ratePlans\": [\n        {\n            \"charges\": [\n                {\n                    \"chargeNumber\": \"C-00000016\", \n                    \"customFields\": {\n                        \"sub_rpc__c\": \"rate plan charge custom field\"\n                    }\n                }\n            ], \n            \"customFields\": {\n                \"sub_rate_plan__c\": \"rate plan custom field\"\n            }, \n            \"ratePlanId\": \"8a8081085d834928015da220da08207f\"\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/journal-entries:
    post:
      summary: Create summary journal entry
      operationId: POST_SummaryJournalEntry
      description: |
        This REST API reference describes how to manually create a summary journal entry. Request and response field descriptions and sample code are provided.
        ## Requirements
        1.The sum of debits must equal the sum of credits in the summary journal entry.

        2.The following applies only if you use foreign currency conversion:
          * If you have configured Aggregate transactions with different currencies during a Journal Run to "Yes", the value of the **currency** field must be the same as your tenant's home currency. That is, you must create journal entries using your home currency.
          * All journal entries in an accounting period must either all be aggregated or all be unaggregated. You cannot have a mix of aggregated and unaggregated journal entries in the same accounting period.
      tags:
      - Summary Journal Entries
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/POSTJournalEntryType'
      responses:
        '200':
          examples:
            application/json:
              success: true
              journalEntryNumber: JE-00000001
          description: ''
          schema:
            $ref: '#/definitions/POSTJournalEntryResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"accountingPeriodName\"\
          : \"Nov-2014\", \n    \"currency\": \"USD\", \n    \"journalEntryDate\"\
          : \"2014-09-09\", \n    \"journalEntryItems\": [\n        {\n          \
          \  \"accountingCodeName\": \"Accounts Receivable\", \n            \"accountingCodeType\"\
          : \"Deferred Revenue\", \n            \"amount\": \"400.9\", \n        \
          \    \"homeCurrencyAmount\": \"801.8\", \n            \"type\": \"Credit\"\
          \n        }, \n        {\n            \"accountingCodeName\": \"Subscription\
          \ Revenue\", \n            \"accountingCodeType\": \"Sales Revenue\", \n\
          \            \"amount\": \"400.9\", \n            \"homeCurrencyAmount\"\
          : \"801.8\", \n            \"type\": \"Debit\"\n        }\n    ], \n   \
          \ \"notes\": \"my account\", \n    \"segments\": [\n        {\n        \
          \    \"segmentName\": \"billToCountry\", \n            \"segmentValue\"\
          : \"United States\"\n        }, \n        {\n            \"segmentName\"\
          : \"billToState\", \n            \"segmentValue\": \"California\"\n    \
          \    }\n    ], \n    \"transferredToAccounting\": \"No\"\n}' \"https://rest.zuora.com/v1/journal-entries\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/journal-entries');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"accountingPeriodName\": \"Nov-2014\"\
          , \n    \"currency\": \"USD\", \n    \"journalEntryDate\": \"2014-09-09\"\
          , \n    \"journalEntryItems\": [\n        {\n            \"accountingCodeName\"\
          : \"Accounts Receivable\", \n            \"accountingCodeType\": \"Deferred\
          \ Revenue\", \n            \"amount\": \"400.9\", \n            \"homeCurrencyAmount\"\
          : \"801.8\", \n            \"type\": \"Credit\"\n        }, \n        {\n\
          \            \"accountingCodeName\": \"Subscription Revenue\", \n      \
          \      \"accountingCodeType\": \"Sales Revenue\", \n            \"amount\"\
          : \"400.9\", \n            \"homeCurrencyAmount\": \"801.8\", \n       \
          \     \"type\": \"Debit\"\n        }\n    ], \n    \"notes\": \"my account\"\
          , \n    \"segments\": [\n        {\n            \"segmentName\": \"billToCountry\"\
          , \n            \"segmentValue\": \"United States\"\n        }, \n     \
          \   {\n            \"segmentName\": \"billToState\", \n            \"segmentValue\"\
          : \"California\"\n        }\n    ], \n    \"transferredToAccounting\": \"\
          No\"\n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"accountingPeriodName\": \"Nov-2014\", \n    \"currency\": \"USD\", \n    \"journalEntryDate\": \"2014-09-09\", \n    \"journalEntryItems\": [\n        {\n            \"accountingCodeName\": \"Accounts Receivable\", \n            \"accountingCodeType\": \"Deferred Revenue\", \n            \"amount\": \"400.9\", \n            \"homeCurrencyAmount\": \"801.8\", \n            \"type\": \"Credit\"\n        }, \n        {\n            \"accountingCodeName\": \"Subscription Revenue\", \n            \"accountingCodeType\": \"Sales Revenue\", \n            \"amount\": \"400.9\", \n            \"homeCurrencyAmount\": \"801.8\", \n            \"type\": \"Debit\"\n        }\n    ], \n    \"notes\": \"my account\", \n    \"segments\": [\n        {\n            \"segmentName\": \"billToCountry\", \n            \"segmentValue\": \"United States\"\n        }, \n        {\n            \"segmentName\": \"billToState\", \n            \"segmentValue\": \"California\"\n        }\n    ], \n    \"transferredToAccounting\": \"No\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/journal-entries")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"accountingPeriodName\": \"Nov-2014\", \n    \"currency\": \"USD\", \n    \"journalEntryDate\": \"2014-09-09\", \n    \"journalEntryItems\": [\n        {\n            \"accountingCodeName\": \"Accounts Receivable\", \n            \"accountingCodeType\": \"Deferred Revenue\", \n            \"amount\": \"400.9\", \n            \"homeCurrencyAmount\": \"801.8\", \n            \"type\": \"Credit\"\n        }, \n        {\n            \"accountingCodeName\": \"Subscription Revenue\", \n            \"accountingCodeType\": \"Sales Revenue\", \n            \"amount\": \"400.9\", \n            \"homeCurrencyAmount\": \"801.8\", \n            \"type\": \"Debit\"\n        }\n    ], \n    \"notes\": \"my account\", \n    \"segments\": [\n        {\n            \"segmentName\": \"billToCountry\", \n            \"segmentValue\": \"United States\"\n        }, \n        {\n            \"segmentName\": \"billToState\", \n            \"segmentValue\": \"California\"\n        }\n    ], \n    \"transferredToAccounting\": \"No\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/journal-entries", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/journal-entries")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"accountingPeriodName\": \"Nov-2014\", \n    \"currency\": \"USD\", \n    \"journalEntryDate\": \"2014-09-09\", \n    \"journalEntryItems\": [\n        {\n            \"accountingCodeName\": \"Accounts Receivable\", \n            \"accountingCodeType\": \"Deferred Revenue\", \n            \"amount\": \"400.9\", \n            \"homeCurrencyAmount\": \"801.8\", \n            \"type\": \"Credit\"\n        }, \n        {\n            \"accountingCodeName\": \"Subscription Revenue\", \n            \"accountingCodeType\": \"Sales Revenue\", \n            \"amount\": \"400.9\", \n            \"homeCurrencyAmount\": \"801.8\", \n            \"type\": \"Debit\"\n        }\n    ], \n    \"notes\": \"my account\", \n    \"segments\": [\n        {\n            \"segmentName\": \"billToCountry\", \n            \"segmentValue\": \"United States\"\n        }, \n        {\n            \"segmentName\": \"billToState\", \n            \"segmentValue\": \"California\"\n        }\n    ], \n    \"transferredToAccounting\": \"No\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/journal-entries");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"accountingPeriodName\": \"Nov-2014\", \n    \"currency\": \"USD\", \n    \"journalEntryDate\": \"2014-09-09\", \n    \"journalEntryItems\": [\n        {\n            \"accountingCodeName\": \"Accounts Receivable\", \n            \"accountingCodeType\": \"Deferred Revenue\", \n            \"amount\": \"400.9\", \n            \"homeCurrencyAmount\": \"801.8\", \n            \"type\": \"Credit\"\n        }, \n        {\n            \"accountingCodeName\": \"Subscription Revenue\", \n            \"accountingCodeType\": \"Sales Revenue\", \n            \"amount\": \"400.9\", \n            \"homeCurrencyAmount\": \"801.8\", \n            \"type\": \"Debit\"\n        }\n    ], \n    \"notes\": \"my account\", \n    \"segments\": [\n        {\n            \"segmentName\": \"billToCountry\", \n            \"segmentValue\": \"United States\"\n        }, \n        {\n            \"segmentName\": \"billToState\", \n            \"segmentValue\": \"California\"\n        }\n    ], \n    \"transferredToAccounting\": \"No\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/journal-entries/journal-runs/{jr-number}:
    get:
      summary: Get all summary journal entries in a journal run
      operationId: GET_AllSummaryJournalEntries
      description: |2

        This REST API reference describes how to retrieve information about all summary journal entries in a journal run.
      tags:
      - Summary Journal Entries
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize_finance_revenue'
      - name: jr-number
        in: path
        description: Journal run number.
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
              journalEntries:
              - number: JE-00000006
                status: Created
                journalEntryDate: '2016-12-31'
                currency: USD
                homeCurrency: USD
                aggregateCurrency: true
                transactionType: Invoice Item
                accountingPeriodName: Dec'16
                timePeriodStart: '2016-12-01'
                timePeriodEnd: '2016-12-31'
                transferredToAccounting: 'No'
                notes: note
                segments:
                - segmentName: Seg1
                  segmentValue: seg value
                journalEntryItems:
                - accountingCodeType: AccountsReceivable
                  accountingCodeName: Accounts Receivable
                  glAccountName: Accounts Receivable
                  glAccountNumber: 10-001-000-1234
                  type: Debit
                  amount: 100.0
                  homeCurrencyAmount: 100.0
                - accountingCodeType: SalesRevenue
                  accountingCodeName: Sales Revenue
                  glAccountName: Sales Revenue
                  glAccountNumber: 10-001-000-1000
                  type: Credit
                  amount: 100.0
                  homeCurrencyAmount: 100.0
          description: ''
          schema:
            $ref: '#/definitions/GETJournalEntriesInJournalRunType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/journal-entries/journal-runs/{jr-number}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/journal-entries/journal-runs/{jr-number}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/journal-entries/journal-runs/{jr-number}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/journal-entries/journal-runs/{jr-number}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/journal-entries/journal-runs/{jr-number}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/journal-entries/journal-runs/{jr-number}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/journal-entries/{je-number}:
    get:
      summary: Get summary journal entry
      operationId: GET_SummaryJournalEntry
      description: 'This REST API reference describes how to get information about
        a summary journal entry by its journal entry number.

        '
      tags:
      - Summary Journal Entries
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: je-number
        in: path
        description: ''
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              number: JE-00000001
              status: Created
              journalEntryDate: '2016-01-31'
              currency: USD
              homeCurrency: USD
              aggregateCurrency: true
              transactionType: Revenue Event Item
              accountingPeriodName: Jan'16
              timePeriodStart: '2016-01-01'
              timePeriodEnd: '2016-01-31'
              transferredToAccounting: null
              transferredBy: null
              transferDateTime: null
              notes: null
              segments:
              - segmentName: Customer Code
                segmentValue: A00000001
              - segmentName: Charge Type
                segmentValue: OneTime
              journalEntryItems:
              - accountingCodeType: DeferredRevenue
                accountingCodeName: Deferred Revenue
                glAccountName: null
                glAccountNumber: null
                type: Debit
                homeCurrencyAmount: 424.08
                amount: 424.08
              - accountingCodeType: SalesRevenue
                accountingCodeName: Professional Services Revenue
                glAccountName: null
                glAccountNumber: null
                type: Credit
                homeCurrencyAmount: 424.08
                amount: 424.08
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETJournalEntryDetailType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/journal-entries/{je-number}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/journal-entries/{je-number}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/journal-entries/{je-number}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/journal-entries/{je-number}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/journal-entries/{je-number}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/journal-entries/{je-number}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    delete:
      summary: Delete summary journal entry
      operationId: DELETE_SummaryJournalEntry
      description: |
        This reference describes how to delete a summary journal entry using the REST API.

        You must have the "Delete Cancelled Journal Entry" user permission enabled to delete summary journal entries.

        A summary journal entry must be canceled before it can be deleted.
      tags:
      - Summary Journal Entries
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: je-number
        in: path
        required: true
        type: string
        description: Journal entry number in the format JE-00000001.
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/journal-entries/{je-number}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/journal-entries/{je-number}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/journal-entries/{je-number}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/journal-entries/{je-number}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/journal-entries/{je-number}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/journal-entries/{je-number}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/journal-entries/{je-number}/cancel:
    put:
      summary: Cancel summary journal entry
      operationId: PUT_SummaryJournalEntry
      description: |2

        This reference describes how to cancel a summary journal entry using the REST API.

        You must have the "Cancel Journal Entry" user permission enabled to cancel summary journal entries.

        A summary journal entry cannot be canceled if its Transferred to Accounting status is "Yes" or "Processing".
      tags:
      - Summary Journal Entries
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: je-number
        in: path
        description: Journal entry number in the format JE-00000001.
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/journal-entries/{je-number}/cancel"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/journal-entries/{je-number}/cancel');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/journal-entries/{je-number}/cancel")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/journal-entries/{je-number}/cancel", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/journal-entries/{je-number}/cancel")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/journal-entries/{je-number}/cancel");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/journal-entries/{je-number}/basic-information:
    put:
      summary: Update basic information of a summary journal entry
      operationId: PUT_BasicSummaryJournalEntry
      description: |2

        This REST API reference describes how to update the basic information of a summary journal entry. Request and response field descriptions and sample code are provided.
      tags:
      - Summary Journal Entries
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: je-number
        in: path
        description: Journal entry number in the format JE-00000001.
        required: true
        type: string
      - name: Request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/PUT_BasicSummaryJournalEntryType'
      responses:
        '200':
          examples:
            application/json:
              success: true
          description: ''
          schema:
            $ref: '#/definitions/CommonResponseType'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"journalEntryItems\"\
          : [\n        {\n            \"accountingCodeName\": \"Accounts Receivable\"\
          , \n            \"type\": \"Credit\"\n        }, \n        {\n         \
          \   \"accountingCodeName\": \"\", \n            \"type\": \"Debit\"\n  \
          \      }\n    ], \n    \"notes\": \"Transfer to accounting system\", \n\
          \    \"transferredToAccounting\": \"Yes\"\n}' \"https://rest.zuora.com/v1/journal-entries/{je-number}/basic-information\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/journal-entries/{je-number}/basic-information');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"journalEntryItems\": [\n        {\n \
          \           \"accountingCodeName\": \"Accounts Receivable\", \n        \
          \    \"type\": \"Credit\"\n        }, \n        {\n            \"accountingCodeName\"\
          : \"\", \n            \"type\": \"Debit\"\n        }\n    ], \n    \"notes\"\
          : \"Transfer to accounting system\", \n    \"transferredToAccounting\":\
          \ \"Yes\"\n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"journalEntryItems\": [\n        {\n            \"accountingCodeName\": \"Accounts Receivable\", \n            \"type\": \"Credit\"\n        }, \n        {\n            \"accountingCodeName\": \"\", \n            \"type\": \"Debit\"\n        }\n    ], \n    \"notes\": \"Transfer to accounting system\", \n    \"transferredToAccounting\": \"Yes\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/journal-entries/{je-number}/basic-information")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"journalEntryItems\": [\n        {\n            \"accountingCodeName\": \"Accounts Receivable\", \n            \"type\": \"Credit\"\n        }, \n        {\n            \"accountingCodeName\": \"\", \n            \"type\": \"Debit\"\n        }\n    ], \n    \"notes\": \"Transfer to accounting system\", \n    \"transferredToAccounting\": \"Yes\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/journal-entries/{je-number}/basic-information", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/journal-entries/{je-number}/basic-information")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"journalEntryItems\": [\n        {\n            \"accountingCodeName\": \"Accounts Receivable\", \n            \"type\": \"Credit\"\n        }, \n        {\n            \"accountingCodeName\": \"\", \n            \"type\": \"Debit\"\n        }\n    ], \n    \"notes\": \"Transfer to accounting system\", \n    \"transferredToAccounting\": \"Yes\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/journal-entries/{je-number}/basic-information");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"journalEntryItems\": [\n        {\n            \"accountingCodeName\": \"Accounts Receivable\", \n            \"type\": \"Credit\"\n        }, \n        {\n            \"accountingCodeName\": \"\", \n            \"type\": \"Debit\"\n        }\n    ], \n    \"notes\": \"Transfer to accounting system\", \n    \"transferredToAccounting\": \"Yes\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/taxationitems/{id}:
    put:
      description: 'Updates a specific taxation item by ID.

        '
      summary: Update taxation item
      operationId: PUT_TaxationItem
      tags:
      - Taxation Items
      responses:
        '200':
          description: ''
          examples:
            application/json:
              createdById: 402881e522cf4f9b0122cf5d82860002
              createdDate: '2017-02-27 18:16:24'
              exemptAmount: 0
              id: 402890555a7e9791015a7f12364e0004
              memoItemId: 402890555a7e9791015a7f1235f50003
              sourceTaxItemId: 402890555a7d4022015a7db254e200c1
              jurisdiction: CALIFORNIA
              locationCode: '06'
              name: STATE TAX
              taxAmount: 1
              taxCode: ServiceTaxCode
              taxCodeDescription: This is tax code description!
              taxDate: '2016-06-05'
              taxRate: 0.0625
              taxRateDescription: This is tax rate description!
              taxRateType: Percentage
              updatedById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-02-28 17:53:11'
              financeInformation:
                onAccountAccountingCode: Check
                onAccountAccountingCodeType: Cash
                salesTaxPayableAccountingCode: null
                salesTaxPayableAccountingCodeType: null
              success: true
          schema:
            $ref: '#/definitions/GETTaxationItemType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/PUTTaxationItemType'
        description: ''
      - type: string
        in: path
        name: id
        required: true
        description: 'The unique ID of a taxation item.

          '
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"exemptAmount\": 0.0,\
          \ \n    \"financeInformation\": {\n        \"onAccountAccountingCode\":\
          \ \"Check\", \n        \"salesTaxPayableAccountingCode\": \"\"\n    }, \n\
          \    \"jurisdiction\": \"CALIFORNIA\", \n    \"locationCode\": \"06\", \n\
          \    \"name\": \"STATE TAX\", \n    \"taxAmount\": 1.0, \n    \"taxCode\"\
          : \"ServiceTaxCode\", \n    \"taxCodeDescription\": \"This is tax code description!\"\
          , \n    \"taxDate\": \"2016-06-05\", \n    \"taxRate\": 0.0625, \n    \"\
          taxRateDescription\": \"This is tax rate description!\", \n    \"taxRateType\"\
          : \"Percentage\"\n}' \"https://rest.zuora.com/v1/taxationitems/{id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/taxationitems/{id}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"exemptAmount\": 0.0, \n    \"financeInformation\"\
          : {\n        \"onAccountAccountingCode\": \"Check\", \n        \"salesTaxPayableAccountingCode\"\
          : \"\"\n    }, \n    \"jurisdiction\": \"CALIFORNIA\", \n    \"locationCode\"\
          : \"06\", \n    \"name\": \"STATE TAX\", \n    \"taxAmount\": 1.0, \n  \
          \  \"taxCode\": \"ServiceTaxCode\", \n    \"taxCodeDescription\": \"This\
          \ is tax code description!\", \n    \"taxDate\": \"2016-06-05\", \n    \"\
          taxRate\": 0.0625, \n    \"taxRateDescription\": \"This is tax rate description!\"\
          , \n    \"taxRateType\": \"Percentage\"\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"exemptAmount\": 0.0, \n    \"financeInformation\": {\n        \"onAccountAccountingCode\": \"Check\", \n        \"salesTaxPayableAccountingCode\": \"\"\n    }, \n    \"jurisdiction\": \"CALIFORNIA\", \n    \"locationCode\": \"06\", \n    \"name\": \"STATE TAX\", \n    \"taxAmount\": 1.0, \n    \"taxCode\": \"ServiceTaxCode\", \n    \"taxCodeDescription\": \"This is tax code description!\", \n    \"taxDate\": \"2016-06-05\", \n    \"taxRate\": 0.0625, \n    \"taxRateDescription\": \"This is tax rate description!\", \n    \"taxRateType\": \"Percentage\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/taxationitems/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"exemptAmount\": 0.0, \n    \"financeInformation\": {\n        \"onAccountAccountingCode\": \"Check\", \n        \"salesTaxPayableAccountingCode\": \"\"\n    }, \n    \"jurisdiction\": \"CALIFORNIA\", \n    \"locationCode\": \"06\", \n    \"name\": \"STATE TAX\", \n    \"taxAmount\": 1.0, \n    \"taxCode\": \"ServiceTaxCode\", \n    \"taxCodeDescription\": \"This is tax code description!\", \n    \"taxDate\": \"2016-06-05\", \n    \"taxRate\": 0.0625, \n    \"taxRateDescription\": \"This is tax rate description!\", \n    \"taxRateType\": \"Percentage\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/taxationitems/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/taxationitems/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"exemptAmount\": 0.0, \n    \"financeInformation\": {\n        \"onAccountAccountingCode\": \"Check\", \n        \"salesTaxPayableAccountingCode\": \"\"\n    }, \n    \"jurisdiction\": \"CALIFORNIA\", \n    \"locationCode\": \"06\", \n    \"name\": \"STATE TAX\", \n    \"taxAmount\": 1.0, \n    \"taxCode\": \"ServiceTaxCode\", \n    \"taxCodeDescription\": \"This is tax code description!\", \n    \"taxDate\": \"2016-06-05\", \n    \"taxRate\": 0.0625, \n    \"taxRateDescription\": \"This is tax rate description!\", \n    \"taxRateType\": \"Percentage\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/taxationitems/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"exemptAmount\": 0.0, \n    \"financeInformation\": {\n        \"onAccountAccountingCode\": \"Check\", \n        \"salesTaxPayableAccountingCode\": \"\"\n    }, \n    \"jurisdiction\": \"CALIFORNIA\", \n    \"locationCode\": \"06\", \n    \"name\": \"STATE TAX\", \n    \"taxAmount\": 1.0, \n    \"taxCode\": \"ServiceTaxCode\", \n    \"taxCodeDescription\": \"This is tax code description!\", \n    \"taxDate\": \"2016-06-05\", \n    \"taxRate\": 0.0625, \n    \"taxRateDescription\": \"This is tax rate description!\", \n    \"taxRateType\": \"Percentage\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    get:
      description: 'Retrieves the information about a specific taxation item by ID.

        '
      summary: 'Get taxation item

        '
      operationId: GET_TaxationItem
      tags:
      - Taxation Items
      responses:
        '200':
          description: ''
          examples:
            application/json:
              createdById: 402881e522cf4f9b0122cf5d82860002
              createdDate: '2017-02-27 11:52:03'
              exemptAmount: 0
              id: 402890555a7d4022015a7db254e200c8
              memoItemId: 402890555a7d4022015a7db254d800c7
              sourceTaxItemId: 402890555a7d4022015a7db254e200c1
              jurisdiction: null
              locationCode: null
              name: my tax
              taxAmount: 1
              taxCode: ZtaxCode
              taxCodeDescription: ''
              taxDate: '2017-02-27'
              taxRate: 5
              taxRateDescription: null
              taxRateType: FlatFee
              updatedById: 402881e522cf4f9b0122cf5d82860002
              updatedDate: '2017-02-27 11:52:03'
              financeInformation:
                onAccountAccountingCode: null
                onAccountAccountingCodeType: null
                salesTaxPayableAccountingCode: null
                salesTaxPayableAccountingCodeType: null
              success: true
          schema:
            $ref: '#/definitions/GETTaxationItemType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: id
        required: true
        description: 'The unique ID of a taxation item.

          '
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/taxationitems/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/taxationitems/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/taxationitems/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/taxationitems/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/taxationitems/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/taxationitems/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    delete:
      description: 'Deletes a specific taxation item by ID.

        '
      summary: Delete taxation item
      operationId: DELETE_TaxationItem
      tags:
      - Taxation Items
      responses:
        '200':
          description: ''
          examples:
            application/json:
              success: true
          schema:
            $ref: '#/definitions/CommonResponseType'
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - type: string
        in: path
        name: id
        required: true
        description: 'The unique ID of a taxation item.

          '
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/taxationitems/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/taxationitems/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/taxationitems/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/taxationitems/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/taxationitems/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/taxationitems/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/transactions/invoices/accounts/{account-key}:
    get:
      summary: Get invoices
      operationId: GET_TransactionInvoice
      description: "Retrieves invoices for a specified account. \nInvoices are returned\
        \ in reverse chronological order by **updatedDate**.\n"
      tags:
      - Transactions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - name: account-key
        in: path
        description: 'Account number or account ID.

          '
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              invoices:
              - id: 8a88818e66bdd34d0166be4589b60031
                accountId: 2c9891b06661f78c01667bc6dc090202
                accountNumber: AN_1539674921782
                accountName: AC_AC_15396749217821539674921782
                invoiceDate: '2018-10-29'
                invoiceNumber: INV00000001
                dueDate: '2018-10-29'
                invoiceTargetDate: '2018-10-29'
                amount: 9.68
                balance: 9.68
                creditBalanceAdjustmentAmount: 0
                createdBy: 2c9891b06661f78c01667bc6c7600068
                status: Draft
                reversed: false
                body: null
                invoiceItems: https://rest.zuora.com/v1/invoices/8a88818e66bdd34d0166be4589b60031/items
                invoiceFiles: https://rest.zuora.com/v1/invoices/8a88818e66bdd34d0166be4589b60031/files
              success: true
          description: ''
          schema:
            $ref: '#/definitions/GETInvoiceFileWrapper'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/transactions/invoices/accounts/{account-key}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/transactions/invoices/accounts/{account-key}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/transactions/invoices/accounts/{account-key}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/transactions/invoices/accounts/{account-key}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/transactions/invoices/accounts/{account-key}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/transactions/invoices/accounts/{account-key}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/transactions/payments/accounts/{account-key}:
    get:
      summary: Get payments
      operationId: GET_TransactionPayment
      description: |
        Retrieves payments for a specified account. Payments are returned in
        reverse chronological order by **updatedDate**.
      tags:
      - Transactions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - name: account-key
        in: path
        description: Account number or account ID.
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
              payments:
              - paymentMethodId: 2c92c8f83dabf9cf013daef12dd303b0
                paidInvoices:
                - invoiceId: 2c92a09539190dbe0139190f42780012
                  invoiceNumber: INV00000159
                  appliedPaymentAmount: 5.0
                - invoiceId: 2c92a0953a3fa95d013a407c10a60100
                  invoiceNumber: INV00000323
                  appliedPaymentAmount: 139722.1
                - invoiceId: 2c92a09739190dc60139194bcf1b0098
                  invoiceNumber: INV00000160
                  appliedPaymentAmount: 10521.0
                effectiveDate: '2013-03-27'
                accountId: 2c92a0f9391832b10139183e277a0042
                accountName: subscribeCallYan_1
                id: 2c92c8f83dabf9cf013daf3bfa0305a6
                status: Processed
                paymentNumber: P-00000075
                gatewayTransactionNumber: null
                type: Electronic
                accountNumber: A00001115
                amount: 150248.1
              - paymentMethodId: 2c92a0f9391832b10139183e279e0044
                paidInvoices:
                - invoiceId: 2c92a09539190dbe0139190f42780012
                  invoiceNumber: INV00000159
                  appliedPaymentAmount: 5.0
                effectiveDate: '2012-08-11'
                accountId: 2c92a0f9391832b10139183e277a0042
                accountName: subscribeCallYan_1
                id: 2c92a0f9391832b101391922ad5f049d
                status: Processed
                paymentNumber: P-00000056
                gatewayTransactionNumber: null
                type: Electronic
                accountNumber: A00001115
                amount: 5.0
          description: ''
          schema:
            $ref: '#/definitions/GETPaymentsType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/transactions/payments/accounts/{account-key}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/transactions/payments/accounts/{account-key}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/transactions/payments/accounts/{account-key}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/transactions/payments/accounts/{account-key}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/transactions/payments/accounts/{account-key}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/transactions/payments/accounts/{account-key}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/usage:
    post:
      summary: Post usage
      operationId: POST_Usage
      description: "\nThis REST API reference describes how to post or import usage\
        \ data for one or more accounts in the CSV format. There are no path or query\
        \ parameters. The data is uploaded using the HTTP multipart/form-data POST\
        \ method and applied to the user's tenant. \n\n## How this REST API Call Works\n\
        The content of the uploaded usage file must follow the format used by the\
        \ UI import tool. It must be a comma-separated (CSV) file with a corresponding\
        \ .csv extension. The length of the file name must not exceed 50 characters.\
        \ The file size must not exceed 4MB. See [Downloading the Usage Template](https://knowledgecenter.zuora.com/CB_Billing/J_Billing_Operations/Usage/C_Import_Usage_Data#Downloading_the_Usage_Template)\
        \ to learn about how to download the usage file template.\n\nAt the completion\
        \ of the upload, before the file contents are actually being processed, the\
        \ API returns a response containing the byte count of the received file and\
        \ a URL for checking the status of the import process.  Of the five possible\
        \ results displayed at that URL (Pending, Processing, Completed, Canceled,\
        \ and Failed) only a Completed status indicates that the import was successful.\
        \  The operation is atomic; if any record fails, the file is rejected. In\
        \ that case, the entire import is rolled back and all stored data is returned\
        \ to its original state.\n\nTo view the actual import status, enter the resulting\
        \ status URL from the checkImportStatus response using a tool such as POSTMAN.\
        \ This additional step provides more information about why the import has\
        \ failed.\n\nTo manage the information after a successful upload, use the\
        \ web-based UI.\n\n## Usage File Format\nThe usage file uses the following\
        \ headings: \n\n| Heading         | Description   | Required |\n|-----------------|--------|----------|\n\
        | ACCOUNT_ID      | Enter the account number, e.g., the default account number,\
        \ such as A00000001, or your custom account number. Although this field is\
        \ labeled as Account_Id, it is not the actual Account ID nor Account Name.\
        \  | Yes      |\n| UOM             | Enter the unit of measure. This must\
        \ match the UOM for the usage. | Yes      |\n| QTY             | Enter the\
        \ quantity.  | Yes      |\n| STARTDATE       | Enter the start date of the\
        \ usage. This date determines the invoice item service period the associated\
        \ usage is billed to. Date format is based on locale of the current user.\
        \ Default date format: `MM/DD/YYYY`. | Yes |\n| ENDDATE         | Enter the\
        \ end date of the usage. This is not used in calculations for usage billing\
        \ and is optional. Date format is based on locale of the current user. Default\
        \ date format: `MM/DD/YYYY`. <p>**Note:** The value of this column is optional,\
        \ but the column header is required.</p> | No |\n| SUBSCRIPTION_ID | Enter\
        \ the subscription number or subscription name. If you created the subscription\
        \ in the Zuora application, Zuora created a number automatically in a format\
        \ similar to A-S00000001. If you do not provide a value for this field, the\
        \ associated usage will be added to all subscriptions for the specified Account\
        \ that use this Unit Of Measure. If your Accounts can have multiple subscriptions\
        \ and you do not want double or triple counting of usage, you must specify\
        \ the Subscription or Charge ID in each usage record.  <p>**Note:** The value\
        \ of this column is optional, but the column header is required.</p>  | No\
        \   |\n| CHARGE_ID       | Enter the charge number (not the charge name).\
        \ You can see the charge ID, e.g., C-00000001, when you add your rate plan\
        \ to your subscription and view your individual charges. If your Accounts\
        \ can have multiple subscriptions and you do not want double or triple counting\
        \ of usage, you must specify the specific Subscription or Charge ID in each\
        \ usage record. This field is related to the Charge Number on the subscription\
        \ rate plan.  <p>**Note:** The value of this column is optional, but the column\
        \ header is required.</p>  | No      |\n| DESCRIPTION     | Enter a description\
        \ for the charge. | No       |\n"
      consumes:
      - multipart/form-data
      tags:
      - Usage
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - name: file
        in: formData
        required: true
        type: file
        description: 'The usage data to import.

          '
      responses:
        '200':
          examples:
            application/json:
              success: true
              size: 316
              checkImportStatus: /v1/usage/2c92c8f83dcbd8b1013dcce1159900cc/status
          description: ''
          schema:
            $ref: '#/definitions/POSTUsageResponseType'
      x-code-samples:
      - lang: Curl
        source: 'curl -X POST -H "Authorization: Bearer f21f017e4724445d8647b1f0de7ed6f1"
          -F "file=@UsageData.csv" "https://rest.zuora.com/v1/usage"

          '
  /v1/usage/accounts/{account-key}:
    get:
      summary: Get usage
      operationId: GET_Usage
      description: 'This REST API reference describes how to retrieve usage details
        for an account. Usage data is returned in reverse chronological order.

        '
      tags:
      - Usage
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_REQUEST_pageSize'
      - name: account-key
        in: path
        description: Account number or account ID.
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              usage:
              - chargeNumber: null
                sourceName: Import
                quantity: 4.0
                unitOfMeasure: UOM
                accountName: subscribeCallYan_1
                id: 2c92c8953dac2b1c013dae0a263f35dd
                subscriptionNumber: null
                startDateTime: '2012-02-05 00:00:00'
                accountNumber: A00001115
                status: Pending
                submissionDateTime: '2013-03-27 15:48:53'
                accountId: 2c92a0f9391832b10139183e277a0042
              - chargeNumber: null
                sourceName: Import
                quantity: 4.0
                unitOfMeasure: UOM
                accountName: subscribeCallYan_1
                id: 2c92c8943db2ae51013dcce116b00f4b
                subscriptionNumber: null
                startDateTime: '2012-02-05 00:00:00'
                accountNumber: A00001115
                status: Pending
                submissionDateTime: '2013-04-02 15:32:16'
                accountId: 2c92a0f9391832b10139183e277a0042
              - chargeNumber: null
                sourceName: Import
                quantity: 3.0
                unitOfMeasure: UOM
                accountName: subscribeCallYan_1
                id: 2c92c8953dac2b1c013dae0a263f35dc
                subscriptionNumber: null
                startDateTime: '2012-02-04 00:00:00'
                accountNumber: A00001115
                status: Pending
                submissionDateTime: '2013-03-27 15:48:53'
                accountId: 2c92a0f9391832b10139183e277a0042
              - chargeNumber: null
                sourceName: Import
                quantity: 3.0
                unitOfMeasure: UOM
                accountName: subscribeCallYan_1
                id: 2c92c8943db2ae51013dcce116b00f4a
                subscriptionNumber: null
                startDateTime: '2012-02-04 00:00:00'
                accountNumber: A00001115
                status: Pending
                submissionDateTime: '2013-04-02 15:32:16'
                accountId: 2c92a0f9391832b10139183e277a0042
              - chargeNumber: null
                sourceName: Import
                quantity: 2.0
                unitOfMeasure: UOM
                accountName: subscribeCallYan_1
                id: 2c92c8953dac2b1c013dae0a263e35db
                subscriptionNumber: null
                startDateTime: '2012-02-03 00:00:00'
                accountNumber: A00001115
                status: Pending
                submissionDateTime: '2013-03-27 15:48:53'
                accountId: 2c92a0f9391832b10139183e277a0042
              - chargeNumber: null
                sourceName: Import
                quantity: 2.0
                unitOfMeasure: UOM
                accountName: subscribeCallYan_1
                id: 2c92c8943db2ae51013dcce116af0f49
                subscriptionNumber: null
                startDateTime: '2012-02-03 00:00:00'
                accountNumber: A00001115
                status: Pending
                submissionDateTime: '2013-04-02 15:32:16'
                accountId: 2c92a0f9391832b10139183e277a0042
              - chargeNumber: null
                sourceName: Import
                quantity: 1.0
                unitOfMeasure: UOM
                accountName: subscribeCallYan_1
                id: 2c92c8953dac2b1c013dae0a263e35da
                subscriptionNumber: null
                startDateTime: '2012-02-02 00:00:00'
                accountNumber: A00001115
                status: Pending
                submissionDateTime: '2013-03-27 15:48:53'
                accountId: 2c92a0f9391832b10139183e277a0042
              - chargeNumber: null
                sourceName: Import
                quantity: 1.0
                unitOfMeasure: UOM
                accountName: subscribeCallYan_1
                id: 2c92c8943db2ae51013dcce116af0f48
                subscriptionNumber: null
                startDateTime: '2012-02-02 00:00:00'
                accountNumber: A00001115
                status: Pending
                submissionDateTime: '2013-04-02 15:32:16'
                accountId: 2c92a0f9391832b10139183e277a0042
              - chargeNumber: null
                sourceName: Import
                quantity: 4.0
                unitOfMeasure: UOM
                accountName: subscribeCallYan_1
                id: 2c92c8953dac2b1c013dae0a263e35d9
                subscriptionNumber: null
                startDateTime: '2012-01-05 00:00:00'
                accountNumber: A00001115
                status: Pending
                submissionDateTime: '2013-03-27 15:48:53'
                accountId: 2c92a0f9391832b10139183e277a0042
              - chargeNumber: null
                sourceName: Import
                quantity: 4.0
                unitOfMeasure: UOM
                accountName: subscribeCallYan_1
                id: 2c92c8943db2ae51013dcce116af0f47
                subscriptionNumber: null
                startDateTime: '2012-01-05 00:00:00'
                accountNumber: A00001115
                status: Pending
                submissionDateTime: '2013-04-02 15:32:16'
                accountId: 2c92a0f9391832b10139183e277a0042
              success: true
              nextPage: https://rest.zuora.com/v1/usage/accounts/A00001115?page=2&pageSize=10
          description: ''
          schema:
            $ref: '#/definitions/GETUsageWrapper'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/usage/accounts/{account-key}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/usage/accounts/{account-key}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/usage/accounts/{account-key}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/usage/accounts/{account-key}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/usage/accounts/{account-key}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/usage/accounts/{account-key}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /workflows:
    get:
      summary: Get workflows
      operationId: GET_Workflows
      description: "Retrieves a list of workflows available in your Zuora tenant.\
        \      \n"
      tags:
      - Workflows
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: callout_trigger
        in: query
        required: false
        description: 'If set to true, the operation retrieves workflows that have
          the callout trigger enabled. If set to false, the operation retrieves workflows
          that have the callout trigger disabled. If not specified, the operation
          will not use this filter.

          '
        type: boolean
      - name: interval
        in: query
        required: false
        description: 'A CRON expession that specifies a schedule (for example, `0
          0 * * *`). If specified, the operation retrieves the workflow that is run
          based on the specified schedule.

          '
        type: string
      - name: name
        in: query
        required: false
        description: 'If specified, the operation retrieves the workflow that is in
          the specified name.

          '
        type: string
      - name: ondemand_trigger
        in: query
        required: false
        description: 'If set to true, the operation retrieves workflows that have
          the ondemand trigger enabled. If set to false, the operation retrieves workflows
          that have the ondemand trigger disabled. If not specified, the operation
          will not use this filter.

          '
        type: boolean
      - name: scheduled_trigger
        in: query
        required: false
        type: boolean
        description: 'If set to true, the operation retrieves workflows that have
          the scheduled trigger enabled. If set to false, the operation retrieves
          workflows that have the scheduled trigger disabled. If not specfied, the
          operation will not use this filter.

          '
      - name: page
        in: query
        required: false
        type: integer
        default: 1
        description: 'If you want to retrieve only the workflows on a specific page,
          you can specify the `page` number in the query.

          '
      - name: page_length
        in: query
        required: false
        type: integer
        default: 20
        description: 'The number of workflows shown in a single call. If the `page`
          parameter is not specified, the operation will return only the first page
          of results. If there are multiple pages of results, use it with the `page`
          parameter to get the results on subsequent pages.

          '
      responses:
        '200':
          description: OK
          headers:
            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/GetWorkflowsResponse'
          examples:
            application/json:
              data:
              - calloutTrigger: true
                createdAt: '2019-05-31T14:52:38.171Z'
                description: ''
                id: 48
                interval: null
                name: New test workflow
                ondemandTrigger: true
                scheduledTrigger: false
                timezone: null
                type: Workflow::Setup
                updatedAt: '2019-06-03T21:02:26.694Z'
              pagination:
                page: 1
                page_length: 1
                next_page: https://rest.zuora.com/workflows?page=2&page_length=1
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/workflows"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/workflows');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/workflows")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/workflows", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/workflows")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/workflows");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /workflows/{workflow_id}:
    get:
      summary: Get a workflow by ID
      operationId: GET_Workflow
      description: 'Retrieves information about a specific workflow by its ID.

        '
      tags:
      - Workflows
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: workflow_id
        in: path
        required: true
        description: 'The unique ID of a workflow. For example, 19080.

          '
        type: string
      responses:
        '200':
          description: ''
          headers:
            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/GetWorkflowResponse'
          examples:
            application/json:
              id: 19063
              name: WF-19027-00000032
              originalWorkflowId: 19027
              type: Workflow::Instance
              status: Finished
              tasks:
                total: 4
                queued: 0
                processing: 0
                pending: 0
                stopped: 0
                success: 4
                error: 0
              messages:
                success:
                  No Message:
                  - 84067
                  - 84066
                  - 84065
                  - 84064
              runTime: 64.513026
              cpuTime: '19:01:04'
              finishedAt: 2019-09-10 19:33:34 UTC
              createdAt: 2019-09-10 19:32:21 UTC
              updatedAt: 2019-09-10 19:33:34 UTC
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/workflows/{workflow_id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/workflows/{workflow_id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/workflows/{workflow_id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/workflows/{workflow_id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/workflows/{workflow_id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/workflows/{workflow_id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    delete:
      summary: Delete a workflow by ID
      operationId: DELETE_Workflow
      description: 'Deletes a specific workflow by its ID.

        '
      tags:
      - Workflows
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: workflow_id
        in: path
        required: true
        description: 'The unique ID of a workflow. For example, 19080.

          '
        type: string
      responses:
        '200':
          description: ''
          headers:
            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/DeleteWorkflowSuccess'
          examples:
            application/json:
              success: true
              id: 19080
        '404':
          description: The workflow for the given id does not exist
          headers:
            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/DeleteWorkflowError'
          examples:
            application/json:
              errors:
              - 'Invalid ID / Multiple objects returned - SchemaId: 2 InstanceId:
                2 ObjectId: 19080'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/workflows/{workflow_id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/workflows/{workflow_id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/workflows/{workflow_id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/workflows/{workflow_id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/workflows/{workflow_id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/workflows/{workflow_id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /workflows/{workflow_id}/run:
    post:
      summary: Run a workflow
      operationId: POST_Run_Workflow
      description: "Run a specified workflow. In the request body, you can include\
        \ parameters that you want to pass to the workflow. For the parameters to\
        \ be recognized and picked up by tasks in the workflow, you need to define\
        \ the parameters first. \n\nTo learn about how to define parameters, see [Configure\
        \ the settings of a workflow](https://knowledgecenter.zuora.com/CE_Workflow/Using_Workflow/B_Configure_a_Workflow).\n"
      tags:
      - Workflows
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: workflow_id
        in: path
        type: integer
        required: true
        description: The ID of the workflow you want to run.
      - in: body
        name: inputparameters
        description: Include parameters you want to pass to the workflow.
        schema:
          type: object
          example:
            paymentId: 4028905f5a87c0ff015a889ddfb800c0
            accountId: 4028905f5a87c0ff015a87d25ae90025
      responses:
        '200':
          description: OK
          headers:
            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/WorkflowInstance'
          examples:
            application/json:
              id: 400
              name: WF-396-00000003
              originalWorkflowId: 396
              type: Workflow::Instance
              status: Queued
              createdAt: 2019-09-19 18:25:33 UTC
              updatedAt: 2019-09-19 18:25:33 UTC
        '400':
          description: Callout not enabled for the workflow
          headers:
            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: object
            properties:
              errors:
                type: array
                description: The list of errors returned from the workflow
                items:
                  $ref: '#/definitions/WorkflowError'
          examples:
            application/json:
              errors:
              - status: 400
                code: invalid
                title: Callout mode is not turned on in this workflow.
        '409':
          description: The provided workflow_id references a workflow instance
          headers:
            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: object
            properties:
              errors:
                type: array
                description: The list of errors returned from the workflow
                items:
                  $ref: '#/definitions/WorkflowError'
          examples:
            application/json:
              errors:
              - status: 406
                code: invalid
                title: Workflow WF-396-00000002 with Id 399 is an instance/run.
        '406':
          description: The provided body is missing one or more required parameters
          headers:
            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: object
            properties:
              errors:
                type: array
                description: The list of errors returned from the workflow
                items:
                  $ref: '#/definitions/WorkflowError'
              parameters:
                description: The request body that was originally provided to the
                  run API.
          examples:
            application/json:
              errors:
              - status: 406
                code: invalid
                title: Required field for Workflow-Message1 does not have a set value.
                  Ensure parameter 'Message' is present.
              parameters:
                workflow: {}
      x-code-samples:
      - lang: Curl
        source: 'curl -X POST -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/workflows/{workflow_id}/run"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/workflows/{workflow_id}/run');
          $request->setMethod(HTTP_METH_POST);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/workflows/{workflow_id}/run")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/workflows/{workflow_id}/run", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/workflows/{workflow_id}/run")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/workflows/{workflow_id}/run");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /workflows/{workflow_id}/export:
    get:
      summary: Export a workflow
      operationId: GET_WorkflowExport
      description: Export a Workflow in a JSON document. This document can be used
        to create a copy of this workflow.
      tags:
      - Workflows
      parameters:
      - name: workflow_id
        type: integer
        in: path
        required: true
        description: The ID of the workflow to export.
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties:
              workflow:
                $ref: '#/definitions/Workflow'
              tasks:
                type: array
                items:
                  $ref: '#/definitions/Task'
              linkages:
                type: array
                items:
                  $ref: '#/definitions/Linkage'
          examples:
            application/json:
              workflow:
                id: 286
                name: Call Echo
                description: ''
                parameters: {}
                data: {}
                original_workflow_id: null
                type: Workflow::Setup
                ondemand_trigger: true
                callout_trigger: true
                scheduled_trigger: false
                interval: null
                timezone: null
                status: null
                finished_at: null
                css:
                  top: 40px
                  left: 30px
                notifications: {}
                started_at: null
                call_type: null
                priority: Medium
                sync_trigger: false
                run_mode: automated
                delete_ttl: 60
                task_summary: {}
              tasks:
              - id: 849
                name: Call Echo
                parameters:
                  url: http://scooterlabs.com/echo
                  datas:
                  - key: ''
                    value: ''
                  method: GET
                  headers:
                  - key: ''
                    value: ''
                  raw_body: ''
                  body_type: raw
                  validation:
                    zuora_call: 'false'
                    status_codes:
                    - ''
                    - '200'
                  retry_rules:
                    retry_count: '0'
                    retry_window: '30'
                    current_retry_count: '0'
                  authorization:
                    type: none
                  strict_variables: 'true'
                  validate_response: 'false'
                  validation_scheme: ''
                  include_response_code: 'true'
                action_type: Callout
                object: null
                object_id: null
                call_type: SOAP
                task_id: null
                original_task_id: null
                original_workflow_id: null
                status: null
                error: null
                error_details: null
                process_id: null
                css:
                  top: 160px
                  left: 470px
                concurrent_limit: 9999999
                iterate_row_reference: null
                error_class: null
                object_batched_reference: null
                tags:
                - ''
                priority: Medium
                assignment: []
              linkages:
              - source_workflow_id: 286
                source_task_id: null
                target_task_id: 849
                linkage_type: Start
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/workflows/{workflow_id}/export"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/workflows/{workflow_id}/export');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/workflows/{workflow_id}/export")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/workflows/{workflow_id}/export", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/workflows/{workflow_id}/export")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/workflows/{workflow_id}/export");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /workflows/import:
    post:
      summary: Import a workflow
      operationId: POST_WorkflowImport
      description: Creates a copy of a workflow using the exported JSON document of
        the original workflow.
      tags:
      - Workflows
      parameters:
      - name: request
        in: body
        schema:
          type: object
          properties:
            workflow:
              $ref: '#/definitions/Workflow'
            tasks:
              type: array
              items:
                $ref: '#/definitions/Task'
            linkages:
              type: array
              items:
                $ref: '#/definitions/Linkage'
      responses:
        200:
          description: OK
          schema:
            $ref: '#/definitions/Workflow'
          examples:
            application/json:
              id: 403
              name: Call Echo
              description: ''
              type: Workflow::Setup
              ondemandTrigger: true
              calloutTrigger: true
              scheduledTrigger: false
              interval: null
              timezone: null
              createdAt: '2019-10-03T14:14:39.139Z'
              updatedAt: '2019-10-03T14:14:39.139Z'
      x-code-samples:
      - lang: Curl
        source: 'curl -X POST -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/workflows/import"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/workflows/import');
          $request->setMethod(HTTP_METH_POST);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/workflows/import")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/workflows/import", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/workflows/import")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/workflows/import");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /workflows/tasks:
    get:
      summary: Get tasks
      operationId: GET_WorkflowsTasks
      description: 'Retrieves a list of workflow tasks available in your Zuora tenant.

        '
      tags:
      - Workflows
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: query
        required: false
        description: 'If specified, the operation retrieves the task that is with
          specified id.

          '
        type: string
      - name: name
        in: query
        required: false
        description: 'If specified, the operation retrieves tasks that is in the specified
          name.

          '
        type: string
      - name: instance
        in: query
        required: false
        description: 'If set to true, the operation retrieves workflows that have
          the scheduled trigger enabled. If set to false, the operation retrieves
          workflows that have the scheduled trigger disabled. If not specfied, the
          operation will not use this filter.

          '
        type: boolean
      - name: action_type
        in: query
        required: false
        description: 'If specified, the operation retrieves tasks that is the specified
          type.

          '
        type: string
      - name: object
        in: query
        required: false
        description: 'If specified, the operation retrieves tasks with the specified
          object.

          '
        type: string
      - name: object_id
        in: query
        required: false
        description: 'If specified, the operation retrieves tasks with the specified
          object id.

          '
        type: string
      - name: call_type
        in: query
        required: false
        description: 'If specified, the operation retrieves tasks with the specified
          api call type used.

          '
        type: string
      - name: workflow_id
        in: query
        required: false
        description: 'If specified, the operation retrieves tasks that for the specified
          workflow id.

          '
        type: string
      - name: tags
        in: query
        required: false
        description: 'If specified, the operation retrieves tasks that with the specified
          filter tags.

          '
        type: string
      - name: page
        in: query
        required: false
        type: integer
        default: 1
        description: 'If you want to retrieve only the workflows on a specific page,
          you can specify the `page` number in the query.

          '
      - name: page_length
        in: query
        required: false
        type: integer
        default: 20
        description: 'The number of workflows shown in a single call. If the `page`
          parameter is not specified, the operation will return only the first page
          of results. If there are multiple pages of results, use it with the `page`
          parameter to get the results on subsequent pages.

          '
      responses:
        '200':
          description: OK
          headers:
            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/TasksResponse'
          examples:
            application/json:
              data:
              - id: 2771
                name: If
                instance: true
                parameters:
                  if_clause: "{% if 0 > 1 %}\r\nTrue\r\n{% else %}\r\nFalse\r\n{%\
                    \ endif %}"
                  strict_variables: 'true'
                data:
                  Files:
                    XML_52881.xml:
                      name: JSONData_xslt.xml
                      size: 0.011725425720214844
                      object_class: Workflow
                  Tasks:
                    Previous:
                      Id: 2770
                      Status: Error
                      ErrorClass: WorkflowError::Callout
                      ErrorReason: Callout response was 500 after 1 tries.
                  Callout:
                    URL: https://rest.apisandbox.zuora.com/v1/action/query
                    RequestBody:
                      queryString: Select Id From Contact Where LastName = 'Drew'
                        AND FirstName = 'Nancy' AND  WorkEmail = 'nancy@xyz.com'
                    ResponseBody:
                      message: 'An unexpected error occurred

                        '
                    ResponseCode: 500
                    RequestHeaders:
                      Content-Type: application/json
                    ResponseHeaders:
                      x-n:
                      - S
                      date:
                      - Thu, 19 Sep 2019 12:35:43 GMT
                      pragma:
                      - no-cache
                      server:
                      - kong/0.9.9
                      expires:
                      - Thu, 19 Sep 2019 12:35:43 GMT
                      connection:
                      - close
                      content-type:
                      - text/plain; charset=UTF-8
                      cache-control:
                      - max-age=0, no-cache, no-store
                  Workflow:
                    LastRunDate: '2019-09-19'
                    ExecutionDate: '2019-09-19'
                    LastRunDateTime: '2019-09-19T12:34:41'
                    WorkflowRunUser: Nobody
                    ExecutionDateTime: '2019-09-19T12:35:37'
                action_type: If
                object: null
                object_id: null
                call_type: SOAP
                workflow_id: 476
                status: Success
                start_time: '2019-09-19T12:35:43.857Z'
                end_time: '2019-09-19T12:35:43.942Z'
                original_task_id: 2582
                original_workflow_id: 416
                error: null
                error_class: null
                error_details: null
                tags: []
              pagination:
                page: 1
                page_length: 1
                next_page: https://rest.zuora.com/workflows/tasks?page=2&page_length=1
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/workflows/tasks"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/workflows/tasks');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/workflows/tasks")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/workflows/tasks", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/workflows/tasks")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/workflows/tasks");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /workflows/tasks/{task_id}:
    get:
      summary: Get a task by ID
      operationId: GET_WorkflowsTask
      description: 'Retrieves a specific workflow task by its ID.

        '
      tags:
      - Workflows
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: task_id
        in: path
        required: true
        description: 'The unique ID of the task.

          '
        type: string
      responses:
        '200':
          description: OK
          headers:
            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/Task'
          examples:
            application/json:
              id: 2771
              name: If
              instance: true
              parameters:
                if_clause: "{% if 0 > 1 %}\r\nTrue\r\n{% else %}\r\nFalse\r\n{% endif\
                  \ %}"
                strict_variables: 'true'
              data:
                Files:
                  XML_52881.xml:
                    name: JSONData_xslt.xml
                    size: 0.011725425720214844
                    object_class: Workflow
                Tasks:
                  Previous:
                    Id: 2770
                    Status: Error
                    ErrorClass: WorkflowError::Callout
                    ErrorReason: Callout response was 500 after 1 tries.
                Callout:
                  URL: https://rest.apisandbox.zuora.com/v1/action/query
                  RequestBody:
                    queryString: Select Id From Contact Where LastName = 'Drew' AND
                      FirstName = 'Nancy' AND  WorkEmail = 'nancy@xyz.com'
                  ResponseBody:
                    message: 'An unexpected error occurred

                      '
                  ResponseCode: 500
                  RequestHeaders:
                    Content-Type: application/json
                  ResponseHeaders:
                    x-n:
                    - S
                    date:
                    - Thu, 19 Sep 2019 12:35:43 GMT
                    pragma:
                    - no-cache
                    server:
                    - kong/0.9.9
                    expires:
                    - Thu, 19 Sep 2019 12:35:43 GMT
                    connection:
                    - close
                    content-type:
                    - text/plain; charset=UTF-8
                    cache-control:
                    - max-age=0, no-cache, no-store
                Workflow:
                  LastRunDate: '2019-09-19'
                  ExecutionDate: '2019-09-19'
                  LastRunDateTime: '2019-09-19T12:34:41'
                  WorkflowRunUser: Nobody
                  ExecutionDateTime: '2019-09-19T12:35:37'
              action_type: If
              object: null
              object_id: null
              call_type: SOAP
              workflow_id: 476
              status: Success
              start_time: '2019-09-19T12:35:43.857Z'
              end_time: '2019-09-19T12:35:43.942Z'
              original_task_id: 2582
              original_workflow_id: 416
              error: null
              error_class: null
              error_details: null
              tags: []
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/workflows/tasks/{task_id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/workflows/tasks/{task_id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/workflows/tasks/{task_id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/workflows/tasks/{task_id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/workflows/tasks/{task_id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/workflows/tasks/{task_id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /workflows/tasks/batch_update:
    put:
      summary: Update tasks in batch
      operationId: PUT_WorkflowsTasksUpdate
      description: 'Updates a group of workflow tasks.

        '
      tags:
      - Workflows
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: UpdateRequest
        in: body
        schema:
          $ref: '#/definitions/PutTasksRequest'
      responses:
        '200':
          description: OK
          headers:
            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/TasksResponse'
          examples:
            application/json:
              data:
              - id: 2771
                name: If
                instance: true
                parameters:
                  if_clause: "{% if 0 > 1 %}\r\nTrue\r\n{% else %}\r\nFalse\r\n{%\
                    \ endif %}"
                  strict_variables: 'true'
                data:
                  Files:
                    XML_52881.xml:
                      name: JSONData_xslt.xml
                      size: 0.011725425720214844
                      object_class: Workflow
                  Tasks:
                    Previous:
                      Id: 2770
                      Status: Error
                      ErrorClass: WorkflowError::Callout
                      ErrorReason: Callout response was 500 after 1 tries.
                  Callout:
                    URL: https://rest.apisandbox.zuora.com/v1/action/query
                    RequestBody:
                      queryString: Select Id From Contact Where LastName = 'Drew'
                        AND FirstName = 'Nancy' AND  WorkEmail = 'nancy@xyz.com'
                    ResponseBody:
                      message: 'An unexpected error occurred

                        '
                    ResponseCode: 500
                    RequestHeaders:
                      Content-Type: application/json
                    ResponseHeaders:
                      x-n:
                      - S
                      date:
                      - Thu, 19 Sep 2019 12:35:43 GMT
                      pragma:
                      - no-cache
                      server:
                      - kong/0.9.9
                      expires:
                      - Thu, 19 Sep 2019 12:35:43 GMT
                      connection:
                      - close
                      content-type:
                      - text/plain; charset=UTF-8
                      cache-control:
                      - max-age=0, no-cache, no-store
                  Workflow:
                    LastRunDate: '2019-09-19'
                    ExecutionDate: '2019-09-19'
                    LastRunDateTime: '2019-09-19T12:34:41'
                    WorkflowRunUser: Nobody
                    ExecutionDateTime: '2019-09-19T12:35:37'
                action_type: If
                object: null
                object_id: null
                call_type: SOAP
                workflow_id: 476
                status: Success
                start_time: '2019-09-19T12:35:43.857Z'
                end_time: '2019-09-19T12:35:43.942Z'
                original_task_id: 2582
                original_workflow_id: 416
                error: null
                error_class: null
                error_details: null
                tags: []
              pagination:
                page: null
                page_length: null
        '400':
          description: |
            Bad Request for one of the following reasons:
            * Data is missing
            * Data is empty or not an array
            * Data has more than 50 tasks
          headers:
            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/BadRequestResponse'
          examples:
            application/json:
              errors:
              - status: 400
                code: Task
                title: Data not present or not in array.
        '404':
          description: One or more tasks are missing the required `id` field
          headers:
            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/BadRequestResponse'
          examples:
            application/json:
              errors:
              - status: 404
                code: Task
                title: Missing ids for tasks.
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"data\": [\n       \
          \ {\n            \"action_type\": \"If\", \n            \"call_type\": \"\
          SOAP\", \n            \"concurrent_limit\": 9999999, \n            \"id\"\
          : 2771, \n            \"name\": \"If\", \n            \"object\": null,\
          \ \n            \"object_id\": null, \n            \"status\": \"Success\"\
          , \n            \"tags\": [], \n            \"workflow_id\": 476\n     \
          \   }\n    ]\n}' \"https://rest.zuora.com/workflows/tasks/batch_update\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/workflows/tasks/batch_update');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"data\": [\n        {\n            \"\
          action_type\": \"If\", \n            \"call_type\": \"SOAP\", \n       \
          \     \"concurrent_limit\": 9999999, \n            \"id\": 2771, \n    \
          \        \"name\": \"If\", \n            \"object\": null, \n          \
          \  \"object_id\": null, \n            \"status\": \"Success\", \n      \
          \      \"tags\": [], \n            \"workflow_id\": 476\n        }\n   \
          \ ]\n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"data\": [\n        {\n            \"action_type\": \"If\", \n            \"call_type\": \"SOAP\", \n            \"concurrent_limit\": 9999999, \n            \"id\": 2771, \n            \"name\": \"If\", \n            \"object\": null, \n            \"object_id\": null, \n            \"status\": \"Success\", \n            \"tags\": [], \n            \"workflow_id\": 476\n        }\n    ]\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/workflows/tasks/batch_update")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"data\": [\n        {\n            \"action_type\": \"If\", \n            \"call_type\": \"SOAP\", \n            \"concurrent_limit\": 9999999, \n            \"id\": 2771, \n            \"name\": \"If\", \n            \"object\": null, \n            \"object_id\": null, \n            \"status\": \"Success\", \n            \"tags\": [], \n            \"workflow_id\": 476\n        }\n    ]\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/workflows/tasks/batch_update", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/workflows/tasks/batch_update")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"data\": [\n        {\n            \"action_type\": \"If\", \n            \"call_type\": \"SOAP\", \n            \"concurrent_limit\": 9999999, \n            \"id\": 2771, \n            \"name\": \"If\", \n            \"object\": null, \n            \"object_id\": null, \n            \"status\": \"Success\", \n            \"tags\": [], \n            \"workflow_id\": 476\n        }\n    ]\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/workflows/tasks/batch_update");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"data\": [\n        {\n            \"action_type\": \"If\", \n            \"call_type\": \"SOAP\", \n            \"concurrent_limit\": 9999999, \n            \"id\": 2771, \n            \"name\": \"If\", \n            \"object\": null, \n            \"object_id\": null, \n            \"status\": \"Success\", \n            \"tags\": [], \n            \"workflow_id\": 476\n        }\n    ]\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /workflows/metrics.json:
    get:
      summary: Get workflow task usage
      operationId: GET_WorkflowsUsages
      description: 'Gets workflow task usage sorted by day within a specified time
        frame.

        '
      tags:
      - Workflows
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Authorization_OAuth'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: startDate
        in: query
        required: true
        description: 'The start date of the usage data that you want to get. For example,
          2019-01-01.

          '
        type: string
        format: date
      - name: endDate
        in: query
        required: true
        description: 'The end date of the usage data that you want to get. For example,
          2019-12-31.

          '
        type: string
        format: date
      - name: metrics
        in: query
        required: true
        description: 'The type of metric that you want to get. Currently, only `taskCount`
          is supported. `taskCount` is the amount of task runs.

          '
        type: string
      responses:
        '200':
          description: OK
          headers:
            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/UsagesResponse'
          examples:
            application/json:
              metrics:
              - date: '2019-01-16'
                values:
                  taskCount: 1417
              - date: '2019-08-02'
                values:
                  taskCount: 24
              - date: '2019-05-23'
                values:
                  taskCount: 2
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/workflows/metrics.json"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/workflows/metrics.json');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/workflows/metrics.json")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/workflows/metrics.json", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/workflows/metrics.json")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/workflows/metrics.json");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/account:
    post:
      summary: 'CRUD: Create account'
      operationId: Object_POSTAccount
      description: 'Creates an account without creating any associated objects such
        as subscriptions.

        '
      tags:
      - Accounts
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: CreateRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyCreateAccount'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e0321fdf4fab
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '400':
          examples:
            application/json:
              Errors:
              - Code: INVALID_VALUE
                Message: The account number 123xProxy is invalid.
              Success: false
          description: ''
          headers:
            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/ProxyBadRequestResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"AccountNumber\": \"\
          AN_1476935163869\", \n    \"AutoPay\": false, \n    \"Batch\": \"Batch1\"\
          , \n    \"BillCycleDay\": 1, \n    \"CrmId\": \"crmid\", \n    \"Currency\"\
          : \"USD\", \n    \"InvoiceTemplateId\": \"2c93808457d787030157e03208864f97\"\
          , \n    \"Name\": \"AC_1476935163869\", \n    \"Notes\": \"this is notes\"\
          , \n    \"PaymentTerm\": \"Due Upon Receipt\", \n    \"Status\": \"Draft\"\
          \n}' \"https://rest.zuora.com/v1/object/account\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/account');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"AccountNumber\": \"AN_1476935163869\"\
          , \n    \"AutoPay\": false, \n    \"Batch\": \"Batch1\", \n    \"BillCycleDay\"\
          : 1, \n    \"CrmId\": \"crmid\", \n    \"Currency\": \"USD\", \n    \"InvoiceTemplateId\"\
          : \"2c93808457d787030157e03208864f97\", \n    \"Name\": \"AC_1476935163869\"\
          , \n    \"Notes\": \"this is notes\", \n    \"PaymentTerm\": \"Due Upon\
          \ Receipt\", \n    \"Status\": \"Draft\"\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"AccountNumber\": \"AN_1476935163869\", \n    \"AutoPay\": false, \n    \"Batch\": \"Batch1\", \n    \"BillCycleDay\": 1, \n    \"CrmId\": \"crmid\", \n    \"Currency\": \"USD\", \n    \"InvoiceTemplateId\": \"2c93808457d787030157e03208864f97\", \n    \"Name\": \"AC_1476935163869\", \n    \"Notes\": \"this is notes\", \n    \"PaymentTerm\": \"Due Upon Receipt\", \n    \"Status\": \"Draft\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/account")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"AccountNumber\": \"AN_1476935163869\", \n    \"AutoPay\": false, \n    \"Batch\": \"Batch1\", \n    \"BillCycleDay\": 1, \n    \"CrmId\": \"crmid\", \n    \"Currency\": \"USD\", \n    \"InvoiceTemplateId\": \"2c93808457d787030157e03208864f97\", \n    \"Name\": \"AC_1476935163869\", \n    \"Notes\": \"this is notes\", \n    \"PaymentTerm\": \"Due Upon Receipt\", \n    \"Status\": \"Draft\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/object/account", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/account")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"AccountNumber\": \"AN_1476935163869\", \n    \"AutoPay\": false, \n    \"Batch\": \"Batch1\", \n    \"BillCycleDay\": 1, \n    \"CrmId\": \"crmid\", \n    \"Currency\": \"USD\", \n    \"InvoiceTemplateId\": \"2c93808457d787030157e03208864f97\", \n    \"Name\": \"AC_1476935163869\", \n    \"Notes\": \"this is notes\", \n    \"PaymentTerm\": \"Due Upon Receipt\", \n    \"Status\": \"Draft\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/account");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"AccountNumber\": \"AN_1476935163869\", \n    \"AutoPay\": false, \n    \"Batch\": \"Batch1\", \n    \"BillCycleDay\": 1, \n    \"CrmId\": \"crmid\", \n    \"Currency\": \"USD\", \n    \"InvoiceTemplateId\": \"2c93808457d787030157e03208864f97\", \n    \"Name\": \"AC_1476935163869\", \n    \"Notes\": \"this is notes\", \n    \"PaymentTerm\": \"Due Upon Receipt\", \n    \"Status\": \"Draft\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/object/account/{id}:
    get:
      summary: 'CRUD: Get account'
      operationId: Object_GETAccount
      description: 'Retrieves the information about one specific account.

        '
      tags:
      - Accounts
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              AccountNumber: AN_1476935136687
              AllowInvoiceEdit: false
              Id: 2c93808457d787030157e031b5b74a9d
              AutoPay: true
              InvoiceDeliveryPrefsPrint: false
              UpdatedDate: '2016-10-20T05:45:37.000+02:00'
              CreditBalance: 0
              BillCycleDay: 1
              BcdSettingOption: ManualSet
              PaymentTerm: Due Upon Receipt
              Status: Draft
              TotalInvoiceBalance: 0
              UpdatedById: 2c93808457d787030157e0319d644922
              Batch: Batch1
              CreatedById: 2c93808457d787030157e0319d644922
              InvoiceDeliveryPrefsEmail: false
              Name: AC_1476935136687
              SoldToId: 2c93808457d787030157e031b6444a9e
              Notes: this is notes
              Balance: 0
              InvoiceTemplateId: 2c93808457d787030157e031a33c4a94
              CrmId: crmid
              BillToId: 2c93808457d787030157e031b6444a9e
              CreatedDate: '2016-10-20T05:45:36.000+02:00'
              DefaultPaymentMethodId: 2c93808457d787030157e031b6d24a9f
              Currency: USD
          description: ''
          headers:
            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/ProxyGetAccount'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/account/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/account/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/account/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/account/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/account/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/account/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: 'CRUD: Update account'
      operationId: Object_PUTAccount
      description: 'Updates an account.

        '
      tags:
      - Accounts
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      - name: ModifyRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyModifyAccount'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e0321fdf4fab
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"AccountNumber\": \"\
          AN_1476935163869\", \n    \"AutoPay\": true, \n    \"Batch\": \"Batch1\"\
          , \n    \"BillCycleDay\": 1, \n    \"BillToId\": \"2c93808457d787030157e03220684fac\"\
          , \n    \"CrmId\": \"crmid\", \n    \"Currency\": \"USD\", \n    \"DefaultPaymentMethodId\"\
          : \"2c93808457d787030157e03220ec4fad\", \n    \"Id\": \"2c93808457d787030157e0321fdf4fab\"\
          , \n    \"InvoiceTemplateId\": \"2c93808457d787030157e03208864f97\", \n\
          \    \"Name\": \"AC_1476935163869\", \n    \"Notes\": \"this is notes\"\
          , \n    \"PaymentTerm\": \"Due Upon Receipt\", \n    \"SoldToId\": \"2c93808457d787030157e03220684fac\"\
          , \n    \"Status\": \"Active\"\n}' \"https://rest.zuora.com/v1/object/account/{id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/account/{id}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"AccountNumber\": \"AN_1476935163869\"\
          , \n    \"AutoPay\": true, \n    \"Batch\": \"Batch1\", \n    \"BillCycleDay\"\
          : 1, \n    \"BillToId\": \"2c93808457d787030157e03220684fac\", \n    \"\
          CrmId\": \"crmid\", \n    \"Currency\": \"USD\", \n    \"DefaultPaymentMethodId\"\
          : \"2c93808457d787030157e03220ec4fad\", \n    \"Id\": \"2c93808457d787030157e0321fdf4fab\"\
          , \n    \"InvoiceTemplateId\": \"2c93808457d787030157e03208864f97\", \n\
          \    \"Name\": \"AC_1476935163869\", \n    \"Notes\": \"this is notes\"\
          , \n    \"PaymentTerm\": \"Due Upon Receipt\", \n    \"SoldToId\": \"2c93808457d787030157e03220684fac\"\
          , \n    \"Status\": \"Active\"\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"AccountNumber\": \"AN_1476935163869\", \n    \"AutoPay\": true, \n    \"Batch\": \"Batch1\", \n    \"BillCycleDay\": 1, \n    \"BillToId\": \"2c93808457d787030157e03220684fac\", \n    \"CrmId\": \"crmid\", \n    \"Currency\": \"USD\", \n    \"DefaultPaymentMethodId\": \"2c93808457d787030157e03220ec4fad\", \n    \"Id\": \"2c93808457d787030157e0321fdf4fab\", \n    \"InvoiceTemplateId\": \"2c93808457d787030157e03208864f97\", \n    \"Name\": \"AC_1476935163869\", \n    \"Notes\": \"this is notes\", \n    \"PaymentTerm\": \"Due Upon Receipt\", \n    \"SoldToId\": \"2c93808457d787030157e03220684fac\", \n    \"Status\": \"Active\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/account/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"AccountNumber\": \"AN_1476935163869\", \n    \"AutoPay\": true, \n    \"Batch\": \"Batch1\", \n    \"BillCycleDay\": 1, \n    \"BillToId\": \"2c93808457d787030157e03220684fac\", \n    \"CrmId\": \"crmid\", \n    \"Currency\": \"USD\", \n    \"DefaultPaymentMethodId\": \"2c93808457d787030157e03220ec4fad\", \n    \"Id\": \"2c93808457d787030157e0321fdf4fab\", \n    \"InvoiceTemplateId\": \"2c93808457d787030157e03208864f97\", \n    \"Name\": \"AC_1476935163869\", \n    \"Notes\": \"this is notes\", \n    \"PaymentTerm\": \"Due Upon Receipt\", \n    \"SoldToId\": \"2c93808457d787030157e03220684fac\", \n    \"Status\": \"Active\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/object/account/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/account/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"AccountNumber\": \"AN_1476935163869\", \n    \"AutoPay\": true, \n    \"Batch\": \"Batch1\", \n    \"BillCycleDay\": 1, \n    \"BillToId\": \"2c93808457d787030157e03220684fac\", \n    \"CrmId\": \"crmid\", \n    \"Currency\": \"USD\", \n    \"DefaultPaymentMethodId\": \"2c93808457d787030157e03220ec4fad\", \n    \"Id\": \"2c93808457d787030157e0321fdf4fab\", \n    \"InvoiceTemplateId\": \"2c93808457d787030157e03208864f97\", \n    \"Name\": \"AC_1476935163869\", \n    \"Notes\": \"this is notes\", \n    \"PaymentTerm\": \"Due Upon Receipt\", \n    \"SoldToId\": \"2c93808457d787030157e03220684fac\", \n    \"Status\": \"Active\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/account/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"AccountNumber\": \"AN_1476935163869\", \n    \"AutoPay\": true, \n    \"Batch\": \"Batch1\", \n    \"BillCycleDay\": 1, \n    \"BillToId\": \"2c93808457d787030157e03220684fac\", \n    \"CrmId\": \"crmid\", \n    \"Currency\": \"USD\", \n    \"DefaultPaymentMethodId\": \"2c93808457d787030157e03220ec4fad\", \n    \"Id\": \"2c93808457d787030157e0321fdf4fab\", \n    \"InvoiceTemplateId\": \"2c93808457d787030157e03208864f97\", \n    \"Name\": \"AC_1476935163869\", \n    \"Notes\": \"this is notes\", \n    \"PaymentTerm\": \"Due Upon Receipt\", \n    \"SoldToId\": \"2c93808457d787030157e03220684fac\", \n    \"Status\": \"Active\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    delete:
      summary: 'CRUD: Delete account'
      operationId: Object_DELETEAccount
      description: "Deletes a specific account asynchronously. \n\n**Note:** When\
        \ [Orders](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AA_Overview_of_Orders#Orders)\
        \ is enabled, before deleting a customer account, you must delete all related\
        \ orders and subscriptions where this account has been referenced as a subscription\
        \ owner or invoice owner.\n"
      tags:
      - Accounts
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
              id: 2c93808457d787030157e031b1ea4a98
          description: ''
          headers:
            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/ProxyDeleteResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/account/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/account/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/account/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/object/account/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/account/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/account/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/amendment/{id}:
    get:
      summary: 'CRUD: Get amendment'
      operationId: Object_GETAmendment
      description: ''
      tags:
      - Amendments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              RenewalSetting: RENEW_WITH_SPECIFIC_TERM
              Id: 2c93808457d787030157e02e430c1f15
              UpdatedDate: '2016-10-20T05:41:50.000+02:00'
              SubscriptionId: 2c93808457d787030157e02e3ef61f02
              ServiceActivationDate: '2016-10-20'
              CurrentTermPeriodType: Month
              Description: AMtssl1bnuq1
              ContractEffectiveDate: '2016-10-20'
              CreatedById: 2c93808457d787030157e02e0bcf1d0c
              CreatedDate: '2016-10-20T05:41:50.000+02:00'
              Name: AMtssl1bnuq1_new
              CustomerAcceptanceDate: '2016-10-20'
              Code: A-AM00000004
              RenewalTermPeriodType: Month
              Type: NewProduct
              Status: Draft
              UpdatedById: 2c93808457d787030157e02e0bcf1d0c
              EffectiveDate: '2016-10-20'
          description: ''
          headers:
            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/ProxyGetAmendment'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/amendment/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/amendment/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/amendment/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/amendment/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/amendment/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/amendment/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: 'CRUD: Update amendment'
      operationId: Object_PUTAmendment
      description: ''
      tags:
      - Amendments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      - name: ModifyRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyModifyAmendment'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e02e430c1f15
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"Id\": \"2c93808457d787030157e02e430c1f15\"\
          , \n    \"Name\": \"AMtssl1bnuq1_new\"\n}' \"https://rest.zuora.com/v1/object/amendment/{id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/amendment/{id}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"Id\": \"2c93808457d787030157e02e430c1f15\"\
          , \n    \"Name\": \"AMtssl1bnuq1_new\"\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"Id\": \"2c93808457d787030157e02e430c1f15\", \n    \"Name\": \"AMtssl1bnuq1_new\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/amendment/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"Id\": \"2c93808457d787030157e02e430c1f15\", \n    \"Name\": \"AMtssl1bnuq1_new\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/object/amendment/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/amendment/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"Id\": \"2c93808457d787030157e02e430c1f15\", \n    \"Name\": \"AMtssl1bnuq1_new\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/amendment/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"Id\": \"2c93808457d787030157e02e430c1f15\", \n    \"Name\": \"AMtssl1bnuq1_new\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    delete:
      summary: 'CRUD: Delete amendment'
      operationId: Object_DELETEAmendment
      description: |2

        Invoiced amendments cannot usually be deleted. One exception to this rule is auto-renew amendments. You can delete the last auto-renew amendment even if an invoice has been generated.
      tags:
      - Amendments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
              id: 2c93808457d787030157e02e3a541ef4
          description: ''
          headers:
            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/ProxyDeleteResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/amendment/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/amendment/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/amendment/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/object/amendment/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/amendment/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/amendment/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/bill-run:
    post:
      summary: 'CRUD: Create bill run'
      operationId: Object_POSTBillRun
      description: "**Note:** This feature is in **Limited Availability**. If you\
        \ wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com).\
        \ \n\n\nCreates an ad hoc bill run or a single account or multiple customer\
        \ accounts.\n\nWhen creating a single account ad hoc bill run, your request\
        \ must include `AccountId` and must not include `Batch` or `BillCycleDay`.\
        \ \n\nIf more than 500 bill runs created by using this operation are in Pending\
        \ status, no more bill runs can be created by using this operation.\n"
      tags:
      - Bill Run
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: CreateRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyCreateBillRun'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c92c0f959d961e1015a0872b69a7347
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '400':
          examples:
            application/json:
              Errors:
              - Code: INVALID_VALUE
                Message: The account number 123xProxy is invalid.
              Success: false
          description: ''
          headers:
            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/ProxyBadRequestResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"AutoEmail\": \"false\"\
          , \n    \"AutoPost\": \"false\", \n    \"AutoRenewal\": \"false\", \n  \
          \  \"Batch\": \"Batch1\", \n    \"BillCycleDay\": \"2\", \n    \"ChargeTypeToExclude\"\
          : \"OneTime, Usage\", \n    \"InvoiceDate\": \"2017-02-04\", \n    \"NoEmailForZeroAmountInvoice\"\
          : \"false\", \n    \"TargetDate\": \"2017-02-04\"\n}' \"https://rest.zuora.com/v1/object/bill-run\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/bill-run');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"AutoEmail\": \"false\", \n    \"AutoPost\"\
          : \"false\", \n    \"AutoRenewal\": \"false\", \n    \"Batch\": \"Batch1\"\
          , \n    \"BillCycleDay\": \"2\", \n    \"ChargeTypeToExclude\": \"OneTime,\
          \ Usage\", \n    \"InvoiceDate\": \"2017-02-04\", \n    \"NoEmailForZeroAmountInvoice\"\
          : \"false\", \n    \"TargetDate\": \"2017-02-04\"\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"AutoEmail\": \"false\", \n    \"AutoPost\": \"false\", \n    \"AutoRenewal\": \"false\", \n    \"Batch\": \"Batch1\", \n    \"BillCycleDay\": \"2\", \n    \"ChargeTypeToExclude\": \"OneTime, Usage\", \n    \"InvoiceDate\": \"2017-02-04\", \n    \"NoEmailForZeroAmountInvoice\": \"false\", \n    \"TargetDate\": \"2017-02-04\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/bill-run")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"AutoEmail\": \"false\", \n    \"AutoPost\": \"false\", \n    \"AutoRenewal\": \"false\", \n    \"Batch\": \"Batch1\", \n    \"BillCycleDay\": \"2\", \n    \"ChargeTypeToExclude\": \"OneTime, Usage\", \n    \"InvoiceDate\": \"2017-02-04\", \n    \"NoEmailForZeroAmountInvoice\": \"false\", \n    \"TargetDate\": \"2017-02-04\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/object/bill-run", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/bill-run")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"AutoEmail\": \"false\", \n    \"AutoPost\": \"false\", \n    \"AutoRenewal\": \"false\", \n    \"Batch\": \"Batch1\", \n    \"BillCycleDay\": \"2\", \n    \"ChargeTypeToExclude\": \"OneTime, Usage\", \n    \"InvoiceDate\": \"2017-02-04\", \n    \"NoEmailForZeroAmountInvoice\": \"false\", \n    \"TargetDate\": \"2017-02-04\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/bill-run");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"AutoEmail\": \"false\", \n    \"AutoPost\": \"false\", \n    \"AutoRenewal\": \"false\", \n    \"Batch\": \"Batch1\", \n    \"BillCycleDay\": \"2\", \n    \"ChargeTypeToExclude\": \"OneTime, Usage\", \n    \"InvoiceDate\": \"2017-02-04\", \n    \"NoEmailForZeroAmountInvoice\": \"false\", \n    \"TargetDate\": \"2017-02-04\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/object/bill-run/{id}:
    get:
      summary: 'CRUD: Get bill run'
      operationId: Object_GETBillRun
      description: "**Note:** This feature is in **Limited Availability**. If you\
        \ wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com).\
        \ \n\n\nBusiness operations depending on the completion of the bill run will\
        \ not be available while the bill run query returns `PostInProgress`. Upon\
        \ completion of the bill run, a query will return `Posted`.\n"
      tags:
      - Bill Run
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              AutoRenewal: false
              InvoiceDate: '2017-02-01'
              Id: 2c92c09459d949220159f79d592f7e1a
              NumberOfInvoices: 1
              UpdatedDate: '2017-02-01T19:00:00.000-08:00'
              BillCycleDay: AllBillCycleDays
              AutoEmail: false
              AutoPost: false
              NoEmailForZeroAmountInvoice: false
              NumberOfAccounts: 1
              BillRunNumber: BR-00002572
              Status: Completed
              CreatedDate: '2017-01-31T19:00:01.000-08:00'
              CreatedById: 2c92c0f956bc8fcb0156f8eee04b4d54
              UpdatedById: 2c92c0f956bc8fcb0156f8eee04b4d54
              ExecutedDate: '2017-02-01T19:00:00.000-08:00'
              Batch: Batch1
              InvoicesEmailed: false
              TargetDate: '2017-02-20'
          description: ''
          headers:
            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/ProxyGetBillRun'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/bill-run/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/bill-run/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/bill-run/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/bill-run/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/bill-run/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/bill-run/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: 'CRUD: Post or Cancel bill run'
      operationId: Object_PUTBillRun
      description: "**Note:** This feature is in **Limited Availability**. If you\
        \ wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com).\
        \ \n\n\n## Post a Bill Run\n\nPosting a bill run is an asynchronous operation.\
        \ To post a bill run, the current bill run must have a status of `Completed`.\n\
        \nWhen a bill run is posted, its status is changed to `PostInProgress`. Once\
        \ all invoices for this bill run are posted then its status is changed to\
        \ `Posted`.   \n\nWhen you post a bill run and query the status of a bill\
        \ run, you will get one of the following results `PostInProgress`, `Completed`,\
        \ or `Posted`. If all invoices in the bill run are posted, then the status\
        \ of the bill run is `Posted`. If one or more invoices fail to post, the status\
        \ will change back to `Completed` and you will need to post the bill run again.\n\
        \n## Cancel a Bill Run\n\nCanceling a bill run is an asynchronous operation.\
        \ When canceling a bill run, the logic is the same as when using the UI to\
        \ cancel a bill run. You need to provide the `BillRunId`, and set the Status\
        \ to `Canceled`. \n\nWhen canceling a bill run, consider the following:\n\n\
        * Canceling a bill run with a `Completed` status.\n  * Only the current bill\
        \ run will be canceled.\n* Canceling a bill run with a `Pending` status.\n\
        \  * When canceling an Ad-hoc bill run, only the current bill run will be\
        \ canceled.\n  * When canceling a scheduled bill, all scheduled bill runs\
        \ will be canceled.\n\nThe Cancel operation may not be successful. Its success\
        \ depends on its current business validation. Only a bill run that has no\
        \ posted invoices can be canceled. If any posted invoices belong to the bill\
        \ run then an invalid value exception will be thrown with the message, \"\
        The Bill Run cannot be Cancelled, There are Posted invoices.\"\n"
      tags:
      - Bill Run
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      - name: ModifyRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyModifyBillRun'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c92c0f959d961e1015a0872b69a7347
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"InvoiceDate\": \"2020-02-18\"\
          , \n    \"Status\": \"Posted\"\n}' \"https://rest.zuora.com/v1/object/bill-run/{id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/bill-run/{id}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"InvoiceDate\": \"2020-02-18\", \n   \
          \ \"Status\": \"Posted\"\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"InvoiceDate\": \"2020-02-18\", \n    \"Status\": \"Posted\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/bill-run/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"InvoiceDate\": \"2020-02-18\", \n    \"Status\": \"Posted\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/object/bill-run/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/bill-run/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"InvoiceDate\": \"2020-02-18\", \n    \"Status\": \"Posted\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/bill-run/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"InvoiceDate\": \"2020-02-18\", \n    \"Status\": \"Posted\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    delete:
      summary: 'CRUD: Delete bill run'
      operationId: Object_DELETEBillRun
      description: "**Note:** This feature is in **Limited Availability**. If you\
        \ wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com).\
        \ \n\n\nWhen deleting a bill run, the logic is the same as when using the\
        \ UI to delete a bill run. The only required parameter is `BillRunId`. The\
        \ Status for the bill run must be `Canceled` in order to delete a bill run.\n"
      tags:
      - Bill Run
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c92c0f959d961e1015a0872b69a7347
          description: ''
          headers:
            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/ProxyDeleteResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/bill-run/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/bill-run/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/bill-run/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/object/bill-run/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/bill-run/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/bill-run/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/communication-profile/{id}:
    get:
      summary: 'CRUD: Retrieve CommunicationProfile'
      operationId: Object_GETCommunicationProfile
      description: ''
      tags:
      - Communication Profiles
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          description: ''
          headers:
            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/ProxyGetCommunicationProfile'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/communication-profile/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/communication-profile/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/communication-profile/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/communication-profile/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/communication-profile/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/communication-profile/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/contact:
    post:
      summary: 'CRUD: Create contact'
      operationId: Object_POSTContact
      description: 'Creates a contact for a specified account.

        '
      tags:
      - Contacts
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: CreateRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyCreateContact'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e03220684fac
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '400':
          examples:
            application/json:
              Errors:
              - Code: INVALID_VALUE
                Message: The account number 123xProxy is invalid.
              Success: false
          description: ''
          headers:
            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/ProxyBadRequestResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"AccountId\": \"2c93808457d787030157e0321fdf4fab\"\
          , \n    \"Address1\": \"312 2nd Ave W\", \n    \"City\": \"Seattle\", \n\
          \    \"Country\": \"United States\", \n    \"Description\": \"desc\", \n\
          \    \"Fax\": \"123456\", \n    \"FirstName\": \"FN1476935164020\", \n \
          \   \"HomePhone\": \"86123456789\", \n    \"LastName\": \"LN1476935164020\"\
          , \n    \"MobilePhone\": \"8613312345678\", \n    \"NickName\": \"this is\
          \ nick name\", \n    \"OtherPhone\": \"11111111111111111\", \n    \"OtherPhoneType\"\
          : \"Work\", \n    \"PersonalEmail\": \"home@example.com\", \n    \"PostalCode\"\
          : \"98119\", \n    \"State\": \"Washington\", \n    \"TaxRegion\": \"CA\"\
          , \n    \"WorkEmail\": \"work@example.com\"\n}' \"https://rest.zuora.com/v1/object/contact\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/contact');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"AccountId\": \"2c93808457d787030157e0321fdf4fab\"\
          , \n    \"Address1\": \"312 2nd Ave W\", \n    \"City\": \"Seattle\", \n\
          \    \"Country\": \"United States\", \n    \"Description\": \"desc\", \n\
          \    \"Fax\": \"123456\", \n    \"FirstName\": \"FN1476935164020\", \n \
          \   \"HomePhone\": \"86123456789\", \n    \"LastName\": \"LN1476935164020\"\
          , \n    \"MobilePhone\": \"8613312345678\", \n    \"NickName\": \"this is\
          \ nick name\", \n    \"OtherPhone\": \"11111111111111111\", \n    \"OtherPhoneType\"\
          : \"Work\", \n    \"PersonalEmail\": \"home@example.com\", \n    \"PostalCode\"\
          : \"98119\", \n    \"State\": \"Washington\", \n    \"TaxRegion\": \"CA\"\
          , \n    \"WorkEmail\": \"work@example.com\"\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"AccountId\": \"2c93808457d787030157e0321fdf4fab\", \n    \"Address1\": \"312 2nd Ave W\", \n    \"City\": \"Seattle\", \n    \"Country\": \"United States\", \n    \"Description\": \"desc\", \n    \"Fax\": \"123456\", \n    \"FirstName\": \"FN1476935164020\", \n    \"HomePhone\": \"86123456789\", \n    \"LastName\": \"LN1476935164020\", \n    \"MobilePhone\": \"8613312345678\", \n    \"NickName\": \"this is nick name\", \n    \"OtherPhone\": \"11111111111111111\", \n    \"OtherPhoneType\": \"Work\", \n    \"PersonalEmail\": \"home@example.com\", \n    \"PostalCode\": \"98119\", \n    \"State\": \"Washington\", \n    \"TaxRegion\": \"CA\", \n    \"WorkEmail\": \"work@example.com\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/contact")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"AccountId\": \"2c93808457d787030157e0321fdf4fab\", \n    \"Address1\": \"312 2nd Ave W\", \n    \"City\": \"Seattle\", \n    \"Country\": \"United States\", \n    \"Description\": \"desc\", \n    \"Fax\": \"123456\", \n    \"FirstName\": \"FN1476935164020\", \n    \"HomePhone\": \"86123456789\", \n    \"LastName\": \"LN1476935164020\", \n    \"MobilePhone\": \"8613312345678\", \n    \"NickName\": \"this is nick name\", \n    \"OtherPhone\": \"11111111111111111\", \n    \"OtherPhoneType\": \"Work\", \n    \"PersonalEmail\": \"home@example.com\", \n    \"PostalCode\": \"98119\", \n    \"State\": \"Washington\", \n    \"TaxRegion\": \"CA\", \n    \"WorkEmail\": \"work@example.com\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/object/contact", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/contact")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"AccountId\": \"2c93808457d787030157e0321fdf4fab\", \n    \"Address1\": \"312 2nd Ave W\", \n    \"City\": \"Seattle\", \n    \"Country\": \"United States\", \n    \"Description\": \"desc\", \n    \"Fax\": \"123456\", \n    \"FirstName\": \"FN1476935164020\", \n    \"HomePhone\": \"86123456789\", \n    \"LastName\": \"LN1476935164020\", \n    \"MobilePhone\": \"8613312345678\", \n    \"NickName\": \"this is nick name\", \n    \"OtherPhone\": \"11111111111111111\", \n    \"OtherPhoneType\": \"Work\", \n    \"PersonalEmail\": \"home@example.com\", \n    \"PostalCode\": \"98119\", \n    \"State\": \"Washington\", \n    \"TaxRegion\": \"CA\", \n    \"WorkEmail\": \"work@example.com\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/contact");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"AccountId\": \"2c93808457d787030157e0321fdf4fab\", \n    \"Address1\": \"312 2nd Ave W\", \n    \"City\": \"Seattle\", \n    \"Country\": \"United States\", \n    \"Description\": \"desc\", \n    \"Fax\": \"123456\", \n    \"FirstName\": \"FN1476935164020\", \n    \"HomePhone\": \"86123456789\", \n    \"LastName\": \"LN1476935164020\", \n    \"MobilePhone\": \"8613312345678\", \n    \"NickName\": \"this is nick name\", \n    \"OtherPhone\": \"11111111111111111\", \n    \"OtherPhoneType\": \"Work\", \n    \"PersonalEmail\": \"home@example.com\", \n    \"PostalCode\": \"98119\", \n    \"State\": \"Washington\", \n    \"TaxRegion\": \"CA\", \n    \"WorkEmail\": \"work@example.com\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/object/contact/{id}:
    get:
      summary: 'CRUD: Get contact'
      operationId: Object_GETContact
      description: 'Retrieves detailed information about a specific contact.

        '
      tags:
      - Contacts
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              OtherPhoneType: Work
              MobilePhone: '8613312345678'
              Id: 2c93808457d787030157e02e606e2095
              FirstName: FN1476934918260_new
              NickName: this is nick name
              UpdatedDate: '2016-10-20T05:41:58.000+02:00'
              Country: United States
              WorkEmail: work@example.com
              HomePhone: '86123456789'
              AccountId: 2c93808457d787030157e02e5fde2094
              Description: desc
              OtherPhone: '11111111111111111'
              Fax: '123456'
              CreatedById: 2c93808457d787030157e02e45291f18
              CreatedDate: '2016-10-20T05:41:58.000+02:00'
              PostalCode: '98119'
              UpdatedById: 2c93808457d787030157e02e45291f18
              City: Seattle
              TaxRegion: CA
              State: Washington
              PersonalEmail: home@example.com
              Address1: 312 2nd Ave W
              LastName: LN1476934918260
          description: ''
          headers:
            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/ProxyGetContact'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/contact/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/contact/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/contact/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/contact/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/contact/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/contact/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: 'CRUD: Update contact'
      operationId: Object_PUTContact
      description: |
        Updates a contact for a specified account.

        You can update contacts for cancelled accounts.
      tags:
      - Contacts
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      - name: ModifyRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyModifyContact'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e02e606e2095
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"FirstName\": \"FN1476934918260_new\"\
          , \n    \"Id\": \"2c93808457d787030157e02e606e2095\"\n}' \"https://rest.zuora.com/v1/object/contact/{id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/contact/{id}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"FirstName\": \"FN1476934918260_new\"\
          , \n    \"Id\": \"2c93808457d787030157e02e606e2095\"\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"FirstName\": \"FN1476934918260_new\", \n    \"Id\": \"2c93808457d787030157e02e606e2095\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/contact/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"FirstName\": \"FN1476934918260_new\", \n    \"Id\": \"2c93808457d787030157e02e606e2095\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/object/contact/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/contact/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"FirstName\": \"FN1476934918260_new\", \n    \"Id\": \"2c93808457d787030157e02e606e2095\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/contact/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"FirstName\": \"FN1476934918260_new\", \n    \"Id\": \"2c93808457d787030157e02e606e2095\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    delete:
      summary: 'CRUD: Delete contact'
      operationId: Object_DELETEContact
      description: 'Deletes a contact.

        '
      tags:
      - Contacts
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
              id: 2c93808457d787030157e02e5b26208f
          description: ''
          headers:
            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/ProxyDeleteResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/contact/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/contact/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/contact/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/object/contact/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/contact/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/contact/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/credit-balance-adjustment:
    post:
      summary: 'CRUD: Create CreditBalanceAdjustment'
      operationId: Object_POSTCreditBalanceAdjustment
      description: ''
      tags:
      - Credit Balance Adjustments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: CreateRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyCreateCreditBalanceAdjustment'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c92c0f96a531e4f016a5377af993d87
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '400':
          examples:
            application/json:
              Errors:
              - Code: INVALID_VALUE
                Message: The invoice could not be found. It may have been deleted
                  by another user.
              Success: false
          description: ''
          headers:
            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/ProxyBadRequestResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"Amount\": 60, \n  \
          \  \"Comment\": \"Transfer $60.00 from a negative invoice to the account\
          \ balance\", \n    \"SourceTransactionNumber\": \"INV00000420\", \n    \"\
          Type\": \"Increase\"\n}' \"https://rest.zuora.com/v1/object/credit-balance-adjustment\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/credit-balance-adjustment');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"Amount\": 60, \n    \"Comment\": \"Transfer\
          \ $60.00 from a negative invoice to the account balance\", \n    \"SourceTransactionNumber\"\
          : \"INV00000420\", \n    \"Type\": \"Increase\"\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"Amount\": 60, \n    \"Comment\": \"Transfer $60.00 from a negative invoice to the account balance\", \n    \"SourceTransactionNumber\": \"INV00000420\", \n    \"Type\": \"Increase\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/credit-balance-adjustment")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"Amount\": 60, \n    \"Comment\": \"Transfer $60.00 from a negative invoice to the account balance\", \n    \"SourceTransactionNumber\": \"INV00000420\", \n    \"Type\": \"Increase\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/object/credit-balance-adjustment", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/credit-balance-adjustment")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"Amount\": 60, \n    \"Comment\": \"Transfer $60.00 from a negative invoice to the account balance\", \n    \"SourceTransactionNumber\": \"INV00000420\", \n    \"Type\": \"Increase\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/credit-balance-adjustment");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"Amount\": 60, \n    \"Comment\": \"Transfer $60.00 from a negative invoice to the account balance\", \n    \"SourceTransactionNumber\": \"INV00000420\", \n    \"Type\": \"Increase\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/object/credit-balance-adjustment/{id}:
    get:
      summary: 'CRUD: Retrieve CreditBalanceAdjustment'
      operationId: Object_GETCreditBalanceAdjustment
      description: ''
      tags:
      - Credit Balance Adjustments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              Id: 2c93808457d787030157e02f640b2c9f
              CancelledOn: '2016-10-20T05:43:05.000+02:00'
              Amount: 30.8
              UpdatedById: 2c93808457d787030157e02f409a2af9
              CreatedById: 2c93808457d787030157e02f409a2af9
              CreatedDate: '2016-10-20T05:43:04.000+02:00'
              ReasonCode: Standard Adjustment
              SourceTransactionNumber: INV00000001
              Number: CBA-00000001
              AdjustmentDate: '2016-10-20'
              Type: Increase
              Status: Canceled
              AccountId: 2c93808457d787030157e02f5fb82c76
              SourceTransactionId: 2c93808457d787030157e02f60a42c87
              SourceTransactionType: Invoice
              UpdatedDate: '2016-10-20T05:43:05.000+02:00'
          description: ''
          headers:
            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/ProxyGetCreditBalanceAdjustment'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/credit-balance-adjustment/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/credit-balance-adjustment/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/credit-balance-adjustment/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/credit-balance-adjustment/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/credit-balance-adjustment/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/credit-balance-adjustment/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: 'CRUD: Update CreditBalanceAdjustment'
      operationId: Object_PUTCreditBalanceAdjustment
      description: ''
      tags:
      - Credit Balance Adjustments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      - name: ModifyRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyModifyCreditBalanceAdjustment'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c92c0f96a531e4f016a5377af993d87
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: |-
          curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3" -H "Content-Type: application/json" -d '{
              "Status": "Canceled"
          }' "https://rest.zuora.com/v1/object/credit-balance-adjustment/{id}"
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/credit-balance-adjustment/{id}');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{
              "Status": "Canceled"
          }');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"Status\": \"Canceled\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/credit-balance-adjustment/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"Status\": \"Canceled\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/object/credit-balance-adjustment/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/credit-balance-adjustment/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"Status\": \"Canceled\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/credit-balance-adjustment/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"Status\": \"Canceled\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/object/export:
    post:
      summary: 'CRUD: Create Export'
      operationId: Object_POSTExport
      description: |
        Use this operation to create a data source export. After you have created a data source export, use [CRUD: Retrieve Export](https://www.zuora.com/developer/api-reference/#operation/Object_GETExport) to check the status of the data source export and access the exported data.

        When you export data from Zuora, each exported file is available for download for 7 days. Data source exports (Export objects) older than 90 days are automatically deleted.

        **Note:** This operation supports the [Export ZOQL](https://knowledgecenter.zuora.com/DC_Developers/M_Export_ZOQL) query language. However, this operation does not support some data sources, objects, and fields in Export ZOQL queries. For full compatibility with Export ZOQL, Zuora recommends that you use the [AQuA API](https://knowledgecenter.zuora.com/DC_Developers/T_Aggregate_Query_API) instead of this operation.
      tags:
      - Exports
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: CreateRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyCreateExport'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e03222184fae
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '400':
          examples:
            application/json:
              Errors:
              - Code: INVALID_VALUE
                Message: The account number 123xProxy is invalid.
              Success: false
          description: ''
          headers:
            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/ProxyBadRequestResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"Format\": \"csv\",\
          \ \n    \"Name\": \"test_Export_1476935164445\", \n    \"Query\": \"select\
          \ * from account\", \n    \"Status\": \"Processing\", \n    \"Zip\": true\n\
          }' \"https://rest.zuora.com/v1/object/export\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/export');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"Format\": \"csv\", \n    \"Name\": \"\
          test_Export_1476935164445\", \n    \"Query\": \"select * from account\"\
          , \n    \"Status\": \"Processing\", \n    \"Zip\": true\n}');\n\ntry {\n\
          \  $response = $request->send();\n\n  echo $response->getBody();\n} catch\
          \ (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"Format\": \"csv\", \n    \"Name\": \"test_Export_1476935164445\", \n    \"Query\": \"select * from account\", \n    \"Status\": \"Processing\", \n    \"Zip\": true\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/export")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"Format\": \"csv\", \n    \"Name\": \"test_Export_1476935164445\", \n    \"Query\": \"select * from account\", \n    \"Status\": \"Processing\", \n    \"Zip\": true\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/object/export", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/export")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"Format\": \"csv\", \n    \"Name\": \"test_Export_1476935164445\", \n    \"Query\": \"select * from account\", \n    \"Status\": \"Processing\", \n    \"Zip\": true\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/export");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"Format\": \"csv\", \n    \"Name\": \"test_Export_1476935164445\", \n    \"Query\": \"select * from account\", \n    \"Status\": \"Processing\", \n    \"Zip\": true\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/object/export/{id}:
    get:
      summary: 'CRUD: Retrieve Export'
      operationId: Object_GETExport
      description: |
        Use this operation to check the status of a data source export and access the exported data.

        When you export data from Zuora, each exported file is available for download for 7 days. Data source exports (Export objects) older than 90 days are automatically deleted.
      tags:
      - Exports
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              Format: csv
              Query: select * from account
              Encrypted: false
              CreatedById: 2c93808457d787030157e03202294e25
              CreatedDate: '2016-10-20T05:46:04.000+02:00'
              Name: test_Export_1476935164445
              Zip: true
              Size: 5
              UpdatedDate: '2016-10-20T05:46:04.000+02:00'
              UpdatedById: 2c93808457d787030157e03202294e25
              Status: Completed
              Id: 2c93808457d787030157e03222184fae
              FileId: 2c93808457d787030157e032228d4fb0
          description: ''
          headers:
            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/ProxyGetExport'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/export/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/export/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/export/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/export/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/export/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/export/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/feature/{id}:
    get:
      summary: 'CRUD: Retrieve Feature'
      operationId: Object_GETFeature
      description: ''
      tags:
      - Features
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              Id: 2c93808457d787030157e02f82872e25
              Status: Active
              CreatedDate: '2016-10-20T05:43:12.000+02:00'
              UpdatedDate: '2016-10-20T05:43:12.000+02:00'
              FeatureCode: feature_code_1476934992537
              CreatedById: 2c93808457d787030157e02f68272cae
              UpdatedById: 2c93808457d787030157e02f68272cae
              Name: name_1476934992537_new
              Description: this is desc
          description: ''
          headers:
            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/ProxyGetFeature'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/feature/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/feature/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/feature/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/feature/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/feature/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/feature/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    delete:
      summary: 'CRUD: Delete Feature'
      operationId: Object_DELETEFeature
      description: ''
      tags:
      - Features
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
              id: 2c93808457d787030157e02f80e92e24
          description: ''
          headers:
            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/ProxyDeleteResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/feature/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/feature/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/feature/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/object/feature/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/feature/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/feature/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/import/{id}:
    get:
      summary: 'CRUD: Retrieve Import'
      operationId: Object_GETImport
      description: ''
      tags:
      - Imports
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          description: ''
          headers:
            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/ProxyGetImport'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/import/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/import/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/import/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/import/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/import/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/import/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/import:
    post:
      summary: 'CRUD: Create Import'
      operationId: Object_POSTImport
      description: 'Creates a data import.

        '
      consumes:
      - multipart/form-data
      tags:
      - Imports
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: ImportType
        in: formData
        required: true
        type: string
        description: 'The type of data to import.

          '
        enum:
        - Usage
        - Payment
        - Quote
        - TaxationDetail
        - UpdateAccountingCode
        - CreateRevenueSchedule
        - UpdateRevenueSchedule
        - DeleteRevenueSchedule
        - ImportFXRate
      - name: Name
        in: formData
        required: true
        type: string
        description: 'A descriptive name for the import.

          '
      - name: File
        in: formData
        required: true
        type: file
        description: 'The data to import.

          '
      responses:
        '200':
          description: ''
          headers:
            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/ProxyPostImport'
          examples:
            application/json:
              Success: true
              Id: 2c92c0f8601fab5701601fee2bf67056
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X POST -H "Authorization: Bearer f21f017e4724445d8647b1f0de7ed6f1"
          -F "ImportType=Usage" -F "Name=UsageData.csv" -F "File=@UsageData.csv" "https://rest.zuora.com/v1/object/import"

          '
  /v1/object/invoice/{id}:
    get:
      summary: 'CRUD: Get invoice'
      operationId: Object_GETInvoice
      description: ''
      tags:
      - Invoices
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              InvoiceDate: '2011-01-10'
              TaxExemptAmount: 0
              UpdatedDate: '2016-10-20T05:45:45.000+02:00'
              CreditBalanceAdjustmentAmount: 0
              Status: Posted
              TargetDate: '2016-10-20'
              AccountId: 2c93808457d787030157e031d2704c28
              IncludesOneTime: true
              InvoiceNumber: INV00000002
              UpdatedById: 2c93808457d787030157e031bb3f4aa5
              PaymentAmount: 0
              Id: 2c93808457d787030157e031d86c4c57
              TaxAmount: 0
              IncludesUsage: true
              CreatedById: 2c93808457d787030157e031bb3f4aa5
              CreatedDate: '2016-10-20T05:45:45.000+02:00'
              Body: JVBERi0xLjUNCjQg......QNCiUlRU9GDQo=
              PostedDate": '2016-10-20T05:45:45.000+02:00'
              Amount: 23.92
              Balance: 23.92
              RefundAmount: 0
              AmountWithoutTax: 23.92
              AdjustmentAmount: 0
              PostedBy: 2c93808457d787030157e031bb3f4aa5
              DueDate: '2011-01-10'
              IncludesRecurring: true
          description: ''
          headers:
            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/ProxyGetInvoice'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/invoice/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/invoice/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/invoice/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/invoice/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/invoice/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/invoice/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: 'CRUD: Update invoice'
      operationId: Object_PUTInvoice
      description: ''
      tags:
      - Invoices
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      - name: ModifyRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyModifyInvoice'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e031d86c4c57
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: |-
          curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3" -H "Content-Type: application/json" -d '{
              "Status": "Posted"
          }' "https://rest.zuora.com/v1/object/invoice/{id}"
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/invoice/{id}');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{
              "Status": "Posted"
          }');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"Status\": \"Posted\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/invoice/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"Status\": \"Posted\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/object/invoice/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/invoice/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"Status\": \"Posted\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/invoice/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"Status\": \"Posted\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    delete:
      summary: 'CRUD: Delete invoice'
      operationId: Object_DELETEInvoice
      description: ''
      tags:
      - Invoices
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
              id: 2c93808457d787030157e02f149f2922
          description: ''
          headers:
            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/ProxyDeleteResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/invoice/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/invoice/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/invoice/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/object/invoice/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/invoice/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/invoice/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/invoice-adjustment:
    post:
      summary: 'CRUD: Create InvoiceAdjustment'
      operationId: Object_POSTInvoiceAdjustment
      description: ''
      tags:
      - Invoice Adjustments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: CreateRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyCreateInvoiceAdjustment'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e030d3043f79
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '400':
          examples:
            application/json:
              Errors:
              - Code: INVALID_VALUE
                Message: The account number 123xProxy is invalid.
              Success: false
          description: ''
          headers:
            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/ProxyBadRequestResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"AccountingCode\": \"\
          Accounts Receivable\", \n    \"AdjustmentDate\": \"2016-10-20\", \n    \"\
          Amount\": 1.2, \n    \"Comments\": \"this is comments\", \n    \"InvoiceId\"\
          : \"2c93808457d787030157e030d10f3f64\", \n    \"InvoiceNumber\": \"INV00000001\"\
          , \n    \"ReferenceId\": \"refid-1476935078657\", \n    \"Type\": \"Credit\"\
          \n}' \"https://rest.zuora.com/v1/object/invoice-adjustment\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/invoice-adjustment');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"AccountingCode\": \"Accounts Receivable\"\
          , \n    \"AdjustmentDate\": \"2016-10-20\", \n    \"Amount\": 1.2, \n  \
          \  \"Comments\": \"this is comments\", \n    \"InvoiceId\": \"2c93808457d787030157e030d10f3f64\"\
          , \n    \"InvoiceNumber\": \"INV00000001\", \n    \"ReferenceId\": \"refid-1476935078657\"\
          , \n    \"Type\": \"Credit\"\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"AccountingCode\": \"Accounts Receivable\", \n    \"AdjustmentDate\": \"2016-10-20\", \n    \"Amount\": 1.2, \n    \"Comments\": \"this is comments\", \n    \"InvoiceId\": \"2c93808457d787030157e030d10f3f64\", \n    \"InvoiceNumber\": \"INV00000001\", \n    \"ReferenceId\": \"refid-1476935078657\", \n    \"Type\": \"Credit\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/invoice-adjustment")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"AccountingCode\": \"Accounts Receivable\", \n    \"AdjustmentDate\": \"2016-10-20\", \n    \"Amount\": 1.2, \n    \"Comments\": \"this is comments\", \n    \"InvoiceId\": \"2c93808457d787030157e030d10f3f64\", \n    \"InvoiceNumber\": \"INV00000001\", \n    \"ReferenceId\": \"refid-1476935078657\", \n    \"Type\": \"Credit\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/object/invoice-adjustment", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/invoice-adjustment")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"AccountingCode\": \"Accounts Receivable\", \n    \"AdjustmentDate\": \"2016-10-20\", \n    \"Amount\": 1.2, \n    \"Comments\": \"this is comments\", \n    \"InvoiceId\": \"2c93808457d787030157e030d10f3f64\", \n    \"InvoiceNumber\": \"INV00000001\", \n    \"ReferenceId\": \"refid-1476935078657\", \n    \"Type\": \"Credit\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/invoice-adjustment");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"AccountingCode\": \"Accounts Receivable\", \n    \"AdjustmentDate\": \"2016-10-20\", \n    \"Amount\": 1.2, \n    \"Comments\": \"this is comments\", \n    \"InvoiceId\": \"2c93808457d787030157e030d10f3f64\", \n    \"InvoiceNumber\": \"INV00000001\", \n    \"ReferenceId\": \"refid-1476935078657\", \n    \"Type\": \"Credit\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/object/invoice-adjustment/{id}:
    get:
      summary: 'CRUD: Retrieve InvoiceAdjustment'
      operationId: Object_GETInvoiceAdjustment
      description: ''
      tags:
      - Invoice Adjustments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              AdjustmentNumber: IA-00000001
              CustomerName: AC_1476935078064
              Id: 2c93808457d787030157e030d3043f79
              AccountingCode: Accounts Receivable
              ReasonCode: Standard Adjustment
              AccountId: 2c93808457d787030157e030d0a43f53
              CustomerNumber: AN_1476935078064
              InvoiceId: 2c93808457d787030157e030d10f3f64
              ImpactAmount: -1.2
              CreatedById: 2c93808457d787030157e030b4fa3dd6
              CreatedDate: '2016-10-20T05:44:38.000+02:00'
              Type: Credit
              Amount: 1.2
              AdjustmentDate: '2016-10-20'
              Comments: this is comments
              UpdatedDate: '2016-10-20T05:44:38.000+02:00'
              Status: Processed
              InvoiceNumber: INV00000001
              ReferenceId: refid-1476935078657
              UpdatedById: 2c93808457d787030157e030b4fa3dd6
          description: ''
          headers:
            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/ProxyGetInvoiceAdjustment'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/invoice-adjustment/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/invoice-adjustment/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/invoice-adjustment/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/invoice-adjustment/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/invoice-adjustment/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/invoice-adjustment/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: 'CRUD: Update InvoiceAdjustment'
      operationId: Object_PUTInvoiceAdjustment
      description: ''
      tags:
      - Invoice Adjustments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      - name: ModifyRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyModifyInvoiceAdjustment'
      responses:
        '200':
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/object/invoice-adjustment/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/invoice-adjustment/{id}');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/invoice-adjustment/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/object/invoice-adjustment/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/invoice-adjustment/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/invoice-adjustment/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    delete:
      summary: 'CRUD: Delete InvoiceAdjustment'
      operationId: Object_DELETEInvoiceAdjustment
      description: ''
      tags:
      - Invoice Adjustments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          description: ''
          headers:
            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/ProxyDeleteResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/invoice-adjustment/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/invoice-adjustment/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/invoice-adjustment/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/object/invoice-adjustment/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/invoice-adjustment/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/invoice-adjustment/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/invoice-item/{id}:
    get:
      summary: 'CRUD: Retrieve InvoiceItem'
      operationId: Object_GETInvoiceItem
      description: ''
      tags:
      - Invoice Items
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              ServiceEndDate: '2016-10-20'
              Id: 2c93808457d787030157e03089c03c3b
              ChargeDate: '2016-10-20T05:44:19.000+02:00'
              AccountingCode: Accounts Receivable
              UnitPrice: 10
              SubscriptionId: 2c93808457d787030157e03088bf3c24
              ProcessingType: 0
              Quantity: 1
              ChargeAmount: 10
              ServiceStartDate: '2016-10-20'
              CreatedById: 2c93808457d787030157e03071873a9a
              CreatedDate: '2016-10-20T05:44:19.000+02:00'
              TaxAmount: 0
              ChargeName: OneTime_Flat Fee Pricing1476935059154
              SKU: API-SKU1476935058740
              UpdatedDate: '2016-10-20T05:44:21.000+02:00'
              UpdatedById: 2c93808457d787030157e03071873a9a
              TaxExemptAmount: 0
              InvoiceId: 2c93808457d787030157e03089bb3c39
              ProductDescription: Create product via API
              RatePlanChargeId: 2c93808457d787030157e03088ec3c2d
          description: ''
          headers:
            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/ProxyGetInvoiceItem'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/invoice-item/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/invoice-item/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/invoice-item/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/invoice-item/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/invoice-item/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/invoice-item/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/invoice-item-adjustment/{id}:
    get:
      summary: 'CRUD: Retrieve InvoiceItemAdjustment'
      operationId: Object_GETInvoiceItemAdjustment
      description: ''
      tags:
      - Invoice Item Adjustments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              AdjustmentNumber: IIA-00000001
              ServiceEndDate: '2016-10-20'
              Id: 2c93808457d787030157e0324aea5158
              AccountingCode: Accounts Receivable
              UpdatedDate: '2016-10-20T05:46:14.000+02:00'
              AccountId: 2c93808457d787030157e032485b5131
              Comment: this is comments
              InvoiceNumber: INV00000001
              InvoiceId: 2c93808457d787030157e03248c75142
              ServiceStartDate: '2016-10-20'
              InvoiceItemName: OneTime_Flat Fee Pricing1476935174089
              CreatedDate: '2016-10-20T05:46:14.000+02:00'
              ReasonCode: Standard Adjustment
              UpdatedById: 2c93808457d787030157e032283c4fb2
              Amount: 1.2
              AdjustmentDate: '2016-10-20'
              Type: Credit
              Status: Processed
              SourceType: InvoiceDetail
              SourceId: 2c93808457d787030157e03248c95144
              ReferenceId: refid-1476935174845
              CreatedById: 2c93808457d787030157e032283c4fb2
          description: ''
          headers:
            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/ProxyGetInvoiceItemAdjustment'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/invoice-item-adjustment/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/invoice-item-adjustment/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/invoice-item-adjustment/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/invoice-item-adjustment/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/invoice-item-adjustment/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/invoice-item-adjustment/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    delete:
      summary: 'CRUD: Delete InvoiceItemAdjustment'
      operationId: Object_DELETEInvoiceItemAdjustment
      description: ''
      tags:
      - Invoice Item Adjustments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          description: ''
          headers:
            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/ProxyDeleteResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/invoice-item-adjustment/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/invoice-item-adjustment/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/invoice-item-adjustment/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/object/invoice-item-adjustment/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/invoice-item-adjustment/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/invoice-item-adjustment/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/invoice-payment:
    post:
      summary: 'CRUD: Create InvoicePayment'
      operationId: Object_POSTInvoicePayment
      description: ''
      tags:
      - Invoice Payments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: CreateRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyCreateInvoicePayment'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e02dee6e1b7a
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '400':
          examples:
            application/json:
              Errors:
              - Code: INVALID_VALUE
                Message: The account number 123xProxy is invalid.
              Success: false
          description: ''
          headers:
            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/ProxyBadRequestResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"Amount\": 10, \n  \
          \  \"InvoiceId\": \"2c93808457d787030157e02deadb1b6d\", \n    \"PaymentId\"\
          : \"2c93808457d787030157e02de5fc1b57\"\n}' \"https://rest.zuora.com/v1/object/invoice-payment\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/invoice-payment');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"Amount\": 10, \n    \"InvoiceId\": \"\
          2c93808457d787030157e02deadb1b6d\", \n    \"PaymentId\": \"2c93808457d787030157e02de5fc1b57\"\
          \n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"Amount\": 10, \n    \"InvoiceId\": \"2c93808457d787030157e02deadb1b6d\", \n    \"PaymentId\": \"2c93808457d787030157e02de5fc1b57\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/invoice-payment")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"Amount\": 10, \n    \"InvoiceId\": \"2c93808457d787030157e02deadb1b6d\", \n    \"PaymentId\": \"2c93808457d787030157e02de5fc1b57\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/object/invoice-payment", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/invoice-payment")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"Amount\": 10, \n    \"InvoiceId\": \"2c93808457d787030157e02deadb1b6d\", \n    \"PaymentId\": \"2c93808457d787030157e02de5fc1b57\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/invoice-payment");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"Amount\": 10, \n    \"InvoiceId\": \"2c93808457d787030157e02deadb1b6d\", \n    \"PaymentId\": \"2c93808457d787030157e02de5fc1b57\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/object/invoice-payment/{id}:
    get:
      summary: 'CRUD: Retrieve InvoicePayment'
      operationId: Object_GETInvoicePayment
      description: ''
      tags:
      - Invoice Payments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              Id: 2c93808457d787030157e02dee6e1b7a
              PaymentId: 2c93808457d787030157e02de5fc1b57
              CreatedDate: '2016-10-20T05:41:29.000+02:00'
              UpdatedDate: '2016-10-20T05:41:29.000+02:00'
              Amount: 10
              CreatedById: 2c93808457d787030157e02dc3d919dc
              UpdatedById: 2c93808457d787030157e02dc3d919dc
              RefundAmount: 0
              InvoiceId: 2c93808457d787030157e02deadb1b6d
          description: ''
          headers:
            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/ProxyGetInvoicePayment'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/invoice-payment/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/invoice-payment/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/invoice-payment/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/invoice-payment/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/invoice-payment/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/invoice-payment/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: 'CRUD: Update InvoicePayment'
      operationId: Object_PUTInvoicePayment
      description: ''
      tags:
      - Invoice Payments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      - name: ModifyRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyModifyInvoicePayment'
      responses:
        '200':
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/object/invoice-payment/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/invoice-payment/{id}');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/invoice-payment/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/object/invoice-payment/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/invoice-payment/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/invoice-payment/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/object/invoice-split/{id}:
    get:
      summary: 'CRUD: Retrieve InvoiceSplit'
      operationId: Object_GETInvoiceSplit
      description: ''
      tags:
      - Invoice Splits
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              UpdatedById: 2c93808457d787030157e03111d542ae
              Id: 2c93808457d787030157e0312cb2445c
              CreatedById: 2c93808457d787030157e03111d542ae
              CreatedDate: '2016-10-20T05:45:01.000+02:00'
              UpdatedDate: '2016-10-20T05:45:01.000+02:00'
              InvoiceId: 2c93808457d787030157e0312aa34449
          description: ''
          headers:
            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/ProxyGetInvoiceSplit'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/invoice-split/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/invoice-split/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/invoice-split/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/invoice-split/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/invoice-split/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/invoice-split/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/invoice-split-item/{id}:
    get:
      summary: 'CRUD: Retrieve InvoiceSplitItem'
      operationId: Object_GETInvoiceSplitItem
      description: ''
      tags:
      - Invoice Split Items
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              InvoiceDate: '2011-01-20'
              UpdatedById: 2c93808457d787030157e031bb3f4aa5
              CreatedById: 2c93808457d787030157e031bb3f4aa5
              CreatedDate: '2016-10-20T05:45:45.000+02:00'
              UpdatedDate: '2016-10-20T05:45:45.000+02:00'
              SplitPercentage: 50.9
              PaymentTerm: Due Upon Receipt
              Id: 2c93808457d787030157e031d7214c55
              InvoiceSplitId: 2c93808457d787030157e031d5844c53
          description: ''
          headers:
            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/ProxyGetInvoiceSplitItem'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/invoice-split-item/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/invoice-split-item/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/invoice-split-item/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/invoice-split-item/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/invoice-split-item/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/invoice-split-item/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/payment:
    post:
      summary: 'CRUD: Create payment'
      operationId: Object_POSTPayment
      description: |
        Creates a payment.

        **Note:** If you have the Invoice Settlement feature enabled, you cannot use this operation to create a payment.
      tags:
      - Payments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: CreateRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyCreatePayment'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e03197714910
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '400':
          examples:
            application/json:
              Errors:
              - Code: INVALID_VALUE
                Message: The account number 123xProxy is invalid.
              Success: false
          description: ''
          headers:
            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/ProxyBadRequestResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"AccountId\": \"2c93808457d787030157e03190e748ea\"\
          , \n    \"Amount\": 2, \n    \"AppliedCreditBalanceAmount\": 0, \n    \"\
          AppliedInvoiceAmount\": 2, \n    \"EffectiveDate\": \"2016-10-20\", \n \
          \   \"InvoiceId\": \"2c93808457d787030157e03195604902\", \n    \"PaymentMethodId\"\
          : \"2c93808457d787030157e03196d1490e\", \n    \"Status\": \"Processed\"\
          , \n    \"Type\": \"Electronic\"\n}' \"https://rest.zuora.com/v1/object/payment\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/payment');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"AccountId\": \"2c93808457d787030157e03190e748ea\"\
          , \n    \"Amount\": 2, \n    \"AppliedCreditBalanceAmount\": 0, \n    \"\
          AppliedInvoiceAmount\": 2, \n    \"EffectiveDate\": \"2016-10-20\", \n \
          \   \"InvoiceId\": \"2c93808457d787030157e03195604902\", \n    \"PaymentMethodId\"\
          : \"2c93808457d787030157e03196d1490e\", \n    \"Status\": \"Processed\"\
          , \n    \"Type\": \"Electronic\"\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"AccountId\": \"2c93808457d787030157e03190e748ea\", \n    \"Amount\": 2, \n    \"AppliedCreditBalanceAmount\": 0, \n    \"AppliedInvoiceAmount\": 2, \n    \"EffectiveDate\": \"2016-10-20\", \n    \"InvoiceId\": \"2c93808457d787030157e03195604902\", \n    \"PaymentMethodId\": \"2c93808457d787030157e03196d1490e\", \n    \"Status\": \"Processed\", \n    \"Type\": \"Electronic\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/payment")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"AccountId\": \"2c93808457d787030157e03190e748ea\", \n    \"Amount\": 2, \n    \"AppliedCreditBalanceAmount\": 0, \n    \"AppliedInvoiceAmount\": 2, \n    \"EffectiveDate\": \"2016-10-20\", \n    \"InvoiceId\": \"2c93808457d787030157e03195604902\", \n    \"PaymentMethodId\": \"2c93808457d787030157e03196d1490e\", \n    \"Status\": \"Processed\", \n    \"Type\": \"Electronic\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/object/payment", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/payment")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"AccountId\": \"2c93808457d787030157e03190e748ea\", \n    \"Amount\": 2, \n    \"AppliedCreditBalanceAmount\": 0, \n    \"AppliedInvoiceAmount\": 2, \n    \"EffectiveDate\": \"2016-10-20\", \n    \"InvoiceId\": \"2c93808457d787030157e03195604902\", \n    \"PaymentMethodId\": \"2c93808457d787030157e03196d1490e\", \n    \"Status\": \"Processed\", \n    \"Type\": \"Electronic\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/payment");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"AccountId\": \"2c93808457d787030157e03190e748ea\", \n    \"Amount\": 2, \n    \"AppliedCreditBalanceAmount\": 0, \n    \"AppliedInvoiceAmount\": 2, \n    \"EffectiveDate\": \"2016-10-20\", \n    \"InvoiceId\": \"2c93808457d787030157e03195604902\", \n    \"PaymentMethodId\": \"2c93808457d787030157e03196d1490e\", \n    \"Status\": \"Processed\", \n    \"Type\": \"Electronic\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/object/payment/{id}:
    get:
      summary: 'CRUD: Get payment'
      operationId: Object_GETPayment
      description: "Retrieves the information about one specific payment. \n"
      tags:
      - Payments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: 'The unique ID of a payment. For example, 2c92c095592623ea01596621ada84352.

          '
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              PaymentNumber: P-00000036
              GatewayResponse: This transaction has been approved by Test gateway.
              Id: 2c92c095592623ea01596621ada84352
              UpdatedDate: '2017-01-03T13:00:00.000-08:00'
              GatewayState: Submitted
              Source: PaymentRun
              AccountId: 2c92c0f94fd7f22d014fef0b703e26f4
              BankIdentificationNumber: '111111'
              ReferenceId: '3115031.8425435387'
              PaymentMethodSnapshotId: 2c92c095592623ea01596621ada44351
              UpdatedById: 2c92c0f955e2bcfc0155e3019d0c4963
              SubmittedOn: '2017-01-03T13:00:00.000-08:00'
              Type: Electronic
              CreatedDate: '2017-01-03T13:00:00.000-08:00'
              RefundAmount: 0
              SourceName: PR-00001035
              Amount: 19696.44
              PaymentMethodId: 2c92c0f94fd7f22d014fef0b714e26f9
              CreatedById: 2c92c0f955e2bcfc0155e3019d0c4963
              Status: Processed
              AppliedCreditBalanceAmount: 0
              Gateway: Test Gateway2
              GatewayResponseCode: approve
              EffectiveDate: '2017-01-03'
          description: ''
          headers:
            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/ProxyGetPayment'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/payment/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/payment/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/payment/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/payment/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/payment/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/payment/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: 'CRUD: Update payment'
      operationId: Object_PUTPayment
      description: "Updates a payment. \n"
      tags:
      - Payments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: 'The unique ID of a payment. For example, 2c92c095592623ea01596621ada84352.

          '
        required: true
        type: string
      - name: ModifyRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyModifyPayment'
      responses:
        '200':
          description: ''
          headers:
            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.

                '
          examples:
            application/json:
              Id: 2c92c0f85d5964dc015d59bb40ff3f0e
              Success: true
          schema:
            $ref: '#/definitions/ProxyCreateOrModifyResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/object/payment/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/payment/{id}');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/payment/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/object/payment/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/payment/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/payment/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    delete:
      summary: 'CRUD: Delete payment'
      operationId: Object_DELETEPayment
      description: "Deletes a payment. Only payments with the Cancelled status can\
        \ be deleted. \n"
      tags:
      - Payments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: 'The unique ID of the payment to be deleted. For example, 2c92c0f85d4e95ae015d4f7e5d690622.

          '
        required: true
        type: string
      responses:
        '200':
          description: ''
          headers:
            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.

                '
          examples:
            application/json:
              Id: 2c92c0f85d4e95ae015d4f7e5d690622
              Success: true
          schema:
            $ref: '#/definitions/ProxyDeleteResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/payment/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/payment/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/payment/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/object/payment/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/payment/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/payment/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/payment-method:
    post:
      summary: 'CRUD: Create payment method'
      operationId: Object_POSTPaymentMethod
      description: ''
      tags:
      - Payment Methods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: CreateRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyCreatePaymentMethod'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e03220ec4fad
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '400':
          examples:
            application/json:
              Errors:
              - Code: INVALID_VALUE
                Message: The account number 123xProxy is invalid.
              Success: false
          description: ''
          headers:
            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/ProxyBadRequestResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"AccountId\": \"2c93808457d787030157e0321fdf4fab\"\
          , \n    \"CreditCardAddress1\": \"312 2nd Ave W\", \n    \"CreditCardCity\"\
          : \"Seattle\", \n    \"CreditCardCountry\": \"United States\", \n    \"\
          CreditCardExpirationMonth\": 12, \n    \"CreditCardExpirationYear\": 2020,\
          \ \n    \"CreditCardHolderName\": \"Somebody\", \n    \"CreditCardNumber\"\
          : \"4111111111111111\", \n    \"CreditCardPostalCode\": \"98119\", \n  \
          \  \"CreditCardState\": \"Washington\", \n    \"CreditCardType\": \"Visa\"\
          , \n    \"MaxConsecutivePaymentFailures\": 10, \n    \"NumConsecutiveFailures\"\
          : 3, \n    \"PaymentRetryWindow\": 3, \n    \"Type\": \"CreditCard\"\n}'\
          \ \"https://rest.zuora.com/v1/object/payment-method\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/payment-method');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"AccountId\": \"2c93808457d787030157e0321fdf4fab\"\
          , \n    \"CreditCardAddress1\": \"312 2nd Ave W\", \n    \"CreditCardCity\"\
          : \"Seattle\", \n    \"CreditCardCountry\": \"United States\", \n    \"\
          CreditCardExpirationMonth\": 12, \n    \"CreditCardExpirationYear\": 2020,\
          \ \n    \"CreditCardHolderName\": \"Somebody\", \n    \"CreditCardNumber\"\
          : \"4111111111111111\", \n    \"CreditCardPostalCode\": \"98119\", \n  \
          \  \"CreditCardState\": \"Washington\", \n    \"CreditCardType\": \"Visa\"\
          , \n    \"MaxConsecutivePaymentFailures\": 10, \n    \"NumConsecutiveFailures\"\
          : 3, \n    \"PaymentRetryWindow\": 3, \n    \"Type\": \"CreditCard\"\n}');\n\
          \ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"AccountId\": \"2c93808457d787030157e0321fdf4fab\", \n    \"CreditCardAddress1\": \"312 2nd Ave W\", \n    \"CreditCardCity\": \"Seattle\", \n    \"CreditCardCountry\": \"United States\", \n    \"CreditCardExpirationMonth\": 12, \n    \"CreditCardExpirationYear\": 2020, \n    \"CreditCardHolderName\": \"Somebody\", \n    \"CreditCardNumber\": \"4111111111111111\", \n    \"CreditCardPostalCode\": \"98119\", \n    \"CreditCardState\": \"Washington\", \n    \"CreditCardType\": \"Visa\", \n    \"MaxConsecutivePaymentFailures\": 10, \n    \"NumConsecutiveFailures\": 3, \n    \"PaymentRetryWindow\": 3, \n    \"Type\": \"CreditCard\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/payment-method")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"AccountId\": \"2c93808457d787030157e0321fdf4fab\", \n    \"CreditCardAddress1\": \"312 2nd Ave W\", \n    \"CreditCardCity\": \"Seattle\", \n    \"CreditCardCountry\": \"United States\", \n    \"CreditCardExpirationMonth\": 12, \n    \"CreditCardExpirationYear\": 2020, \n    \"CreditCardHolderName\": \"Somebody\", \n    \"CreditCardNumber\": \"4111111111111111\", \n    \"CreditCardPostalCode\": \"98119\", \n    \"CreditCardState\": \"Washington\", \n    \"CreditCardType\": \"Visa\", \n    \"MaxConsecutivePaymentFailures\": 10, \n    \"NumConsecutiveFailures\": 3, \n    \"PaymentRetryWindow\": 3, \n    \"Type\": \"CreditCard\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/object/payment-method", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/payment-method")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"AccountId\": \"2c93808457d787030157e0321fdf4fab\", \n    \"CreditCardAddress1\": \"312 2nd Ave W\", \n    \"CreditCardCity\": \"Seattle\", \n    \"CreditCardCountry\": \"United States\", \n    \"CreditCardExpirationMonth\": 12, \n    \"CreditCardExpirationYear\": 2020, \n    \"CreditCardHolderName\": \"Somebody\", \n    \"CreditCardNumber\": \"4111111111111111\", \n    \"CreditCardPostalCode\": \"98119\", \n    \"CreditCardState\": \"Washington\", \n    \"CreditCardType\": \"Visa\", \n    \"MaxConsecutivePaymentFailures\": 10, \n    \"NumConsecutiveFailures\": 3, \n    \"PaymentRetryWindow\": 3, \n    \"Type\": \"CreditCard\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/payment-method");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"AccountId\": \"2c93808457d787030157e0321fdf4fab\", \n    \"CreditCardAddress1\": \"312 2nd Ave W\", \n    \"CreditCardCity\": \"Seattle\", \n    \"CreditCardCountry\": \"United States\", \n    \"CreditCardExpirationMonth\": 12, \n    \"CreditCardExpirationYear\": 2020, \n    \"CreditCardHolderName\": \"Somebody\", \n    \"CreditCardNumber\": \"4111111111111111\", \n    \"CreditCardPostalCode\": \"98119\", \n    \"CreditCardState\": \"Washington\", \n    \"CreditCardType\": \"Visa\", \n    \"MaxConsecutivePaymentFailures\": 10, \n    \"NumConsecutiveFailures\": 3, \n    \"PaymentRetryWindow\": 3, \n    \"Type\": \"CreditCard\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/object/payment-method/{id}:
    get:
      summary: 'CRUD: Get payment method'
      operationId: Object_GETPaymentMethod
      description: ''
      tags:
      - Payment Methods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              CreditCardExpirationMonth: 12
              CreditCardAddress1: 312 2nd Ave W
              Id: 2c93808457d787030157e0314e8145d7
              CreditCardExpirationYear: 2020
              UpdatedDate: '2016-10-20T05:45:10.000+02:00'
              CreditCardCity: Seattle
              CreditCardState: Washington
              AccountId: 2c93808457d787030157e0314c0945d4
              Type: CreditCard
              UpdatedById: 2c93808457d787030157e0312ef1445e
              CreditCardCountry: United States
              AchAddress1: 312 2nd Ave W
              CreditCardType: Visa
              CreatedById: 2c93808457d787030157e0312ef1445e
              CreditCardPostalCode: '98119'
              CreditCardHolderName: Somebody
              CreatedDate: '2016-10-20T05:45:10.000+02:00'
              TotalNumberOfProcessedPayments: 1
              PaymentMethodStatus: Active
              NumConsecutiveFailures: 7
              TotalNumberOfErrorPayments: 0
              CreditCardMaskNumber: '************1111'
              LastTransactionStatus: Approved
              LastTransactionDateTime: '2016-10-20T05:45:10.000+02:00'
              UseDefaultRetryRule: true
              BankIdentificationNumber: '411111'
              IdentityNumber: ''
              IsCompany: false
              CompanyName: ''
              Active: false
          description: ''
          headers:
            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/ProxyGetPaymentMethod'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/payment-method/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/payment-method/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/payment-method/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/payment-method/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/payment-method/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/payment-method/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: 'CRUD: Update payment method'
      operationId: Object_PUTPaymentMethod
      description: ''
      tags:
      - Payment Methods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      - name: ModifyRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyModifyPaymentMethod'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e02fced332a2
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"CreditCardAddress1\"\
          : \"312 2nd Ave W_new\", \n    \"Id\": \"2c93808457d787030157e02fced332a2\"\
          \n}' \"https://rest.zuora.com/v1/object/payment-method/{id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/payment-method/{id}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"CreditCardAddress1\": \"312 2nd Ave W_new\"\
          , \n    \"Id\": \"2c93808457d787030157e02fced332a2\"\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"CreditCardAddress1\": \"312 2nd Ave W_new\", \n    \"Id\": \"2c93808457d787030157e02fced332a2\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/payment-method/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"CreditCardAddress1\": \"312 2nd Ave W_new\", \n    \"Id\": \"2c93808457d787030157e02fced332a2\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/object/payment-method/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/payment-method/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"CreditCardAddress1\": \"312 2nd Ave W_new\", \n    \"Id\": \"2c93808457d787030157e02fced332a2\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/payment-method/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"CreditCardAddress1\": \"312 2nd Ave W_new\", \n    \"Id\": \"2c93808457d787030157e02fced332a2\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    delete:
      summary: 'CRUD: Delete payment method'
      operationId: Object_DELETEPaymentMethod
      description: ''
      tags:
      - Payment Methods
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
              id: 2c93808457d787030157e02fcc8e329f
          description: ''
          headers:
            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/ProxyDeleteResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/payment-method/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/payment-method/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/payment-method/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/object/payment-method/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/payment-method/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/payment-method/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/payment-method-snapshot/{id}:
    get:
      summary: 'CRUD: Get payment method snapshot'
      operationId: Object_GETPaymentMethodSnapshot
      description: |
        This REST API reference describes how to retrieve a Payment Method Snapshot.

        A Payment Method Snapshot is a copy of the particular Payment Method used in a transaction. If the Payment Method is deleted, the Payment Method Snapshot continues to retain the data used in each of the past transactions.

        ## Notes
        The following Payment Method fields are not available in Payment Method Snapshots:

        * `Active`
        * `AchAddress1`
        * `AchAddress2`
        * `CreatedById`
        * `CreatedDate`
        * `UpdatedById`
        * `UpdatedDate`

        The Payment Method Snapshot field `PaymentMethodId` is not available in Payment Methods.
      tags:
      - Payment Method Snapshots
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              CreditCardExpirationMonth: 12
              CreditCardAddress1: 312 2nd Ave W
              Id: 2c93808457d787030157e0314f2245d8
              CreditCardExpirationYear: 2020
              CreditCardCity: Seattle
              CreditCardState: Washington
              AccountId: 2c93808457d787030157e0314c0945d4
              NumConsecutiveFailures: 0
              CreditCardType: Visa
              BankIdentificationNumber: '411111'
              TotalNumberOfProcessedPayments: 0
              CreditCardPostalCode: '98119'
              CreditCardCountry: United States
              PaymentMethodId: 2c93808457d787030157e0314e8145d7
              CreditCardMaskNumber: '************1111'
              CreditCardHolderName: Somebody
              TotalNumberOfErrorPayments: 0
              UseDefaultRetryRule: true
              Type: CreditCard
              PaymentMethodStatus: Active
              IdentityNumber: ''
              IsCompany: false
              CompanyName: ''
          description: ''
          headers:
            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/ProxyGetPaymentMethodSnapshot'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/payment-method-snapshot/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/payment-method-snapshot/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/payment-method-snapshot/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/payment-method-snapshot/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/payment-method-snapshot/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/payment-method-snapshot/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    delete:
      summary: 'CRUD: Delete payment method snapshot'
      operationId: Object_DELETEPaymentMethodSnapshot
      description: 'This REST API reference describes how to delete a Payment Method
        Snapshot.

        '
      tags:
      - Payment Method Snapshots
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          description: ''
          headers:
            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/ProxyDeleteResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/payment-method-snapshot/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/payment-method-snapshot/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/payment-method-snapshot/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/object/payment-method-snapshot/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/payment-method-snapshot/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/payment-method-snapshot/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/payment-method-transaction-log/{id}:
    get:
      summary: 'CRUD: Retrieve PaymentMethodTransactionLog'
      operationId: Object_GETPaymentMethodTransactionLog
      description: ''
      tags:
      - Payment Method Transaction Logs
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          description: ''
          headers:
            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/ProxyGetPaymentMethodTransactionLog'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/payment-method-transaction-log/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/payment-method-transaction-log/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/payment-method-transaction-log/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/payment-method-transaction-log/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/payment-method-transaction-log/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/payment-method-transaction-log/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/payment-transaction-log/{id}:
    get:
      summary: 'CRUD: Get payment transaction log'
      operationId: Object_GETPaymentTransactionLog
      description: 'Retrieves information about a specific payment transaction log.

        '
      tags:
      - Payment Transaction Logs
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: 'The ID of a payment transaction log.

          '
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              GatewayReasonCodeDescription: This transaction has been approved by
                Test gateway.
              Id: 2c93808457d787030157e030b2703dcd
              PaymentId: 2c93808457d787030157e030b2673dcc
              TransactionId: '874200.071357285'
              GatewayState: Submitted
              TransactionDate: '2016-10-20T05:44:30.000+02:00'
              Gateway: TEST gateway name1476935063101
              GatewayReasonCode: approve
              GatewayTransactionType: Sale
          description: ''
          headers:
            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/ProxyGetPaymentTransactionLog'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/payment-transaction-log/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/payment-transaction-log/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/payment-transaction-log/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/payment-transaction-log/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/payment-transaction-log/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/payment-transaction-log/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/product:
    post:
      summary: 'CRUD: Create Product'
      operationId: Object_POSTProduct
      description: ''
      tags:
      - Products
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: CreateRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyCreateProduct'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e03246ae5129
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '400':
          examples:
            application/json:
              Errors:
              - Code: INVALID_VALUE
                Message: The account number 123xProxy is invalid.
              Success: false
          description: ''
          headers:
            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/ProxyBadRequestResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"Description\": \"Create\
          \ product via API\", \n    \"EffectiveEndDate\": \"2066-10-20\", \n    \"\
          EffectiveStartDate\": \"1966-10-20\", \n    \"Name\": \"P_1476935173677\"\
          , \n    \"SKU\": \"API-SKU1476935173677\"\n}' \"https://rest.zuora.com/v1/object/product\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/product');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"Description\": \"Create product via API\"\
          , \n    \"EffectiveEndDate\": \"2066-10-20\", \n    \"EffectiveStartDate\"\
          : \"1966-10-20\", \n    \"Name\": \"P_1476935173677\", \n    \"SKU\": \"\
          API-SKU1476935173677\"\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"Description\": \"Create product via API\", \n    \"EffectiveEndDate\": \"2066-10-20\", \n    \"EffectiveStartDate\": \"1966-10-20\", \n    \"Name\": \"P_1476935173677\", \n    \"SKU\": \"API-SKU1476935173677\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/product")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"Description\": \"Create product via API\", \n    \"EffectiveEndDate\": \"2066-10-20\", \n    \"EffectiveStartDate\": \"1966-10-20\", \n    \"Name\": \"P_1476935173677\", \n    \"SKU\": \"API-SKU1476935173677\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/object/product", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/product")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"Description\": \"Create product via API\", \n    \"EffectiveEndDate\": \"2066-10-20\", \n    \"EffectiveStartDate\": \"1966-10-20\", \n    \"Name\": \"P_1476935173677\", \n    \"SKU\": \"API-SKU1476935173677\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/product");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"Description\": \"Create product via API\", \n    \"EffectiveEndDate\": \"2066-10-20\", \n    \"EffectiveStartDate\": \"1966-10-20\", \n    \"Name\": \"P_1476935173677\", \n    \"SKU\": \"API-SKU1476935173677\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/object/product/{id}:
    get:
      summary: 'CRUD: Retrieve Product'
      operationId: Object_GETProduct
      description: ''
      tags:
      - Products
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              Id: 2c93808457d787030157e02e7be22210
              CreatedById: 2c93808457d787030157e02e62af2097
              CreatedDate: '2016-10-20T05:42:05.000+02:00'
              UpdatedDate: '2016-10-20T05:42:05.000+02:00'
              SKU: API-SKU1476934925293
              EffectiveStartDate: '1966-10-20'
              UpdatedById: 2c93808457d787030157e02e62af2097
              Name: P_1476934925293_new
              EffectiveEndDate: '2066-10-20'
              Description: Create product via API_new
          description: ''
          headers:
            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/ProxyGetProduct'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/product/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/product/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/product/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/product/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/product/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/product/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: 'CRUD: Update Product'
      operationId: Object_PUTProduct
      description: ''
      tags:
      - Products
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      - name: ModifyRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyModifyProduct'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e02e7be22210
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"Description\": \"Create\
          \ product via API_new\", \n    \"EffectiveEndDate\": \"2066-10-20\", \n\
          \    \"EffectiveStartDate\": \"1966-10-20\", \n    \"Id\": \"2c93808457d787030157e02e7be22210\"\
          , \n    \"Name\": \"P_1476934925293_new\", \n    \"SKU\": \"API-SKU1476934925293\"\
          \n}' \"https://rest.zuora.com/v1/object/product/{id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/product/{id}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"Description\": \"Create product via API_new\"\
          , \n    \"EffectiveEndDate\": \"2066-10-20\", \n    \"EffectiveStartDate\"\
          : \"1966-10-20\", \n    \"Id\": \"2c93808457d787030157e02e7be22210\", \n\
          \    \"Name\": \"P_1476934925293_new\", \n    \"SKU\": \"API-SKU1476934925293\"\
          \n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"Description\": \"Create product via API_new\", \n    \"EffectiveEndDate\": \"2066-10-20\", \n    \"EffectiveStartDate\": \"1966-10-20\", \n    \"Id\": \"2c93808457d787030157e02e7be22210\", \n    \"Name\": \"P_1476934925293_new\", \n    \"SKU\": \"API-SKU1476934925293\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/product/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"Description\": \"Create product via API_new\", \n    \"EffectiveEndDate\": \"2066-10-20\", \n    \"EffectiveStartDate\": \"1966-10-20\", \n    \"Id\": \"2c93808457d787030157e02e7be22210\", \n    \"Name\": \"P_1476934925293_new\", \n    \"SKU\": \"API-SKU1476934925293\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/object/product/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/product/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"Description\": \"Create product via API_new\", \n    \"EffectiveEndDate\": \"2066-10-20\", \n    \"EffectiveStartDate\": \"1966-10-20\", \n    \"Id\": \"2c93808457d787030157e02e7be22210\", \n    \"Name\": \"P_1476934925293_new\", \n    \"SKU\": \"API-SKU1476934925293\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/product/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"Description\": \"Create product via API_new\", \n    \"EffectiveEndDate\": \"2066-10-20\", \n    \"EffectiveStartDate\": \"1966-10-20\", \n    \"Id\": \"2c93808457d787030157e02e7be22210\", \n    \"Name\": \"P_1476934925293_new\", \n    \"SKU\": \"API-SKU1476934925293\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    delete:
      summary: 'CRUD: Delete Product'
      operationId: Object_DELETEProduct
      description: ''
      tags:
      - Products
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
              id: 2c93808457d787030157e02e7a22220e
          description: ''
          headers:
            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/ProxyDeleteResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/product/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/product/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/product/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/object/product/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/product/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/product/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/product-feature/{id}:
    get:
      summary: 'CRUD: Retrieve ProductFeature'
      operationId: Object_GETProductFeature
      description: ''
      tags:
      - Product Features
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json: null
          description: ''
          headers:
            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/ProxyGetProductFeature'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/product-feature/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/product-feature/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/product-feature/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/product-feature/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/product-feature/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/product-feature/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    delete:
      summary: 'CRUD: Delete ProductFeature'
      operationId: Object_DELETEProductFeature
      description: ''
      tags:
      - Product Features
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
              id: 2c93808457d787030157e02d820f16d3
          description: ''
          headers:
            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/ProxyDeleteResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/product-feature/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/product-feature/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/product-feature/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/object/product-feature/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/product-feature/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/product-feature/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/product-rate-plan:
    post:
      summary: 'CRUD: Create ProductRatePlan'
      operationId: Object_POSTProductRatePlan
      description: ''
      tags:
      - Product Rate Plans
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: CreateRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyCreateProductRatePlan'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e0324735512b
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '400':
          examples:
            application/json:
              Errors:
              - Code: INVALID_VALUE
                Message: The account number 123xProxy is invalid.
              Success: false
          description: ''
          headers:
            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/ProxyBadRequestResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"Description\": \"Test\
          \ create product rateplan via API\", \n    \"EffectiveEndDate\": \"2066-10-20\"\
          , \n    \"EffectiveStartDate\": \"1966-10-20\", \n    \"Name\": \"ProductRatePlan1476935173957\"\
          , \n    \"ProductId\": \"2c93808457d787030157e03246ae5129\"\n}' \"https://rest.zuora.com/v1/object/product-rate-plan\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/product-rate-plan');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"Description\": \"Test create product\
          \ rateplan via API\", \n    \"EffectiveEndDate\": \"2066-10-20\", \n   \
          \ \"EffectiveStartDate\": \"1966-10-20\", \n    \"Name\": \"ProductRatePlan1476935173957\"\
          , \n    \"ProductId\": \"2c93808457d787030157e03246ae5129\"\n}');\n\ntry\
          \ {\n  $response = $request->send();\n\n  echo $response->getBody();\n}\
          \ catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"Description\": \"Test create product rateplan via API\", \n    \"EffectiveEndDate\": \"2066-10-20\", \n    \"EffectiveStartDate\": \"1966-10-20\", \n    \"Name\": \"ProductRatePlan1476935173957\", \n    \"ProductId\": \"2c93808457d787030157e03246ae5129\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/product-rate-plan")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"Description\": \"Test create product rateplan via API\", \n    \"EffectiveEndDate\": \"2066-10-20\", \n    \"EffectiveStartDate\": \"1966-10-20\", \n    \"Name\": \"ProductRatePlan1476935173957\", \n    \"ProductId\": \"2c93808457d787030157e03246ae5129\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/object/product-rate-plan", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/product-rate-plan")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"Description\": \"Test create product rateplan via API\", \n    \"EffectiveEndDate\": \"2066-10-20\", \n    \"EffectiveStartDate\": \"1966-10-20\", \n    \"Name\": \"ProductRatePlan1476935173957\", \n    \"ProductId\": \"2c93808457d787030157e03246ae5129\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/product-rate-plan");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"Description\": \"Test create product rateplan via API\", \n    \"EffectiveEndDate\": \"2066-10-20\", \n    \"EffectiveStartDate\": \"1966-10-20\", \n    \"Name\": \"ProductRatePlan1476935173957\", \n    \"ProductId\": \"2c93808457d787030157e03246ae5129\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/object/product-rate-plan/{id}:
    get:
      summary: 'CRUD: Retrieve ProductRatePlan'
      operationId: Object_GETProductRatePlan
      description: ''
      tags:
      - Product Rate Plans
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              ProductId: 2c93808457d787030157e02da0231850
              Id: 2c93808457d787030157e02da0d91852
              CreatedById: 2c93808457d787030157e02d84c116d5
              CreatedDate: '2016-10-20T05:41:09.000+02:00'
              UpdatedDate: '2016-10-20T05:41:09.000+02:00'
              EffectiveStartDate: '1966-10-20'
              UpdatedById: 2c93808457d787030157e02d84c116d5
              Name: ProductRatePlan1476934869186_new
              EffectiveEndDate: '2066-10-20'
              Description: Test create product rateplan via API
          description: ''
          headers:
            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/ProxyGetProductRatePlan'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/product-rate-plan/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/product-rate-plan/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/product-rate-plan/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/product-rate-plan/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/product-rate-plan/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/product-rate-plan/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: 'CRUD: Update ProductRatePlan'
      operationId: Object_PUTProductRatePlan
      description: ''
      tags:
      - Product Rate Plans
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      - name: ModifyRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyModifyProductRatePlan'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e02da0d91852
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"Id\": \"2c93808457d787030157e02da0d91852\"\
          , \n    \"Name\": \"ProductRatePlan1476934869186_new\"\n}' \"https://rest.zuora.com/v1/object/product-rate-plan/{id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/product-rate-plan/{id}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"Id\": \"2c93808457d787030157e02da0d91852\"\
          , \n    \"Name\": \"ProductRatePlan1476934869186_new\"\n}');\n\ntry {\n\
          \  $response = $request->send();\n\n  echo $response->getBody();\n} catch\
          \ (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"Id\": \"2c93808457d787030157e02da0d91852\", \n    \"Name\": \"ProductRatePlan1476934869186_new\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/product-rate-plan/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"Id\": \"2c93808457d787030157e02da0d91852\", \n    \"Name\": \"ProductRatePlan1476934869186_new\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/object/product-rate-plan/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/product-rate-plan/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"Id\": \"2c93808457d787030157e02da0d91852\", \n    \"Name\": \"ProductRatePlan1476934869186_new\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/product-rate-plan/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"Id\": \"2c93808457d787030157e02da0d91852\", \n    \"Name\": \"ProductRatePlan1476934869186_new\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    delete:
      summary: 'CRUD: Delete ProductRatePlan'
      operationId: Object_DELETEProductRatePlan
      description: ''
      tags:
      - Product Rate Plans
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
              id: 2c93808457d787030157e02d9dde184f
          description: ''
          headers:
            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/ProxyDeleteResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/product-rate-plan/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/product-rate-plan/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/product-rate-plan/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/object/product-rate-plan/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/product-rate-plan/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/product-rate-plan/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/product-rate-plan-charge:
    post:
      summary: 'CRUD: Create product rate plan charge'
      operationId: Object_POSTProductRatePlanCharge
      description: "Creates a product rate plan charge for a specified rate plan charge.\
        \ \n\nProduct rate plan charges can be of three types, one-time fees, recurring\
        \ fees, and usage fees. \n"
      tags:
      - Product Rate Plan Charges
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: CreateRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyCreateProductRatePlanCharge'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e03197714910
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"AccountingCode\": \"\
          Deferred Revenue\", \n    \"BillCycleType\": \"DefaultFromCustomer\", \n\
          \    \"BillingPeriod\": \"Month\", \n    \"ChargeModel\": \"Volume Pricing\"\
          , \n    \"ChargeType\": \"Recurring\", \n    \"DeferredRevenueAccount\"\
          : \"Deferred Revenue\", \n    \"Name\": \"Recurring flat fee\", \n    \"\
          ProductRatePlanChargeTierData\": {\n        \"ProductRatePlanChargeTier\"\
          : [\n            {\n                \"Currency\": \"USD\", \n          \
          \      \"Price\": 10\n            }\n        ]\n    }, \n    \"ProductRatePlanId\"\
          : \"2c92c0f8628e007901628f1dc06a453d\", \n    \"RecognizedRevenueAccount\"\
          : \"Accounts Receivable\", \n    \"TriggerEvent\": \"ContractEffective\"\
          , \n    \"UOM\": \"each\", \n    \"UseDiscountSpecificAccountingCode\":\
          \ false\n}' \"https://rest.zuora.com/v1/object/product-rate-plan-charge\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/product-rate-plan-charge');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"AccountingCode\": \"Deferred Revenue\"\
          , \n    \"BillCycleType\": \"DefaultFromCustomer\", \n    \"BillingPeriod\"\
          : \"Month\", \n    \"ChargeModel\": \"Volume Pricing\", \n    \"ChargeType\"\
          : \"Recurring\", \n    \"DeferredRevenueAccount\": \"Deferred Revenue\"\
          , \n    \"Name\": \"Recurring flat fee\", \n    \"ProductRatePlanChargeTierData\"\
          : {\n        \"ProductRatePlanChargeTier\": [\n            {\n         \
          \       \"Currency\": \"USD\", \n                \"Price\": 10\n       \
          \     }\n        ]\n    }, \n    \"ProductRatePlanId\": \"2c92c0f8628e007901628f1dc06a453d\"\
          , \n    \"RecognizedRevenueAccount\": \"Accounts Receivable\", \n    \"\
          TriggerEvent\": \"ContractEffective\", \n    \"UOM\": \"each\", \n    \"\
          UseDiscountSpecificAccountingCode\": false\n}');\n\ntry {\n  $response =\
          \ $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"AccountingCode\": \"Deferred Revenue\", \n    \"BillCycleType\": \"DefaultFromCustomer\", \n    \"BillingPeriod\": \"Month\", \n    \"ChargeModel\": \"Volume Pricing\", \n    \"ChargeType\": \"Recurring\", \n    \"DeferredRevenueAccount\": \"Deferred Revenue\", \n    \"Name\": \"Recurring flat fee\", \n    \"ProductRatePlanChargeTierData\": {\n        \"ProductRatePlanChargeTier\": [\n            {\n                \"Currency\": \"USD\", \n                \"Price\": 10\n            }\n        ]\n    }, \n    \"ProductRatePlanId\": \"2c92c0f8628e007901628f1dc06a453d\", \n    \"RecognizedRevenueAccount\": \"Accounts Receivable\", \n    \"TriggerEvent\": \"ContractEffective\", \n    \"UOM\": \"each\", \n    \"UseDiscountSpecificAccountingCode\": false\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/product-rate-plan-charge")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"AccountingCode\": \"Deferred Revenue\", \n    \"BillCycleType\": \"DefaultFromCustomer\", \n    \"BillingPeriod\": \"Month\", \n    \"ChargeModel\": \"Volume Pricing\", \n    \"ChargeType\": \"Recurring\", \n    \"DeferredRevenueAccount\": \"Deferred Revenue\", \n    \"Name\": \"Recurring flat fee\", \n    \"ProductRatePlanChargeTierData\": {\n        \"ProductRatePlanChargeTier\": [\n            {\n                \"Currency\": \"USD\", \n                \"Price\": 10\n            }\n        ]\n    }, \n    \"ProductRatePlanId\": \"2c92c0f8628e007901628f1dc06a453d\", \n    \"RecognizedRevenueAccount\": \"Accounts Receivable\", \n    \"TriggerEvent\": \"ContractEffective\", \n    \"UOM\": \"each\", \n    \"UseDiscountSpecificAccountingCode\": false\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/object/product-rate-plan-charge", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/product-rate-plan-charge")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"AccountingCode\": \"Deferred Revenue\", \n    \"BillCycleType\": \"DefaultFromCustomer\", \n    \"BillingPeriod\": \"Month\", \n    \"ChargeModel\": \"Volume Pricing\", \n    \"ChargeType\": \"Recurring\", \n    \"DeferredRevenueAccount\": \"Deferred Revenue\", \n    \"Name\": \"Recurring flat fee\", \n    \"ProductRatePlanChargeTierData\": {\n        \"ProductRatePlanChargeTier\": [\n            {\n                \"Currency\": \"USD\", \n                \"Price\": 10\n            }\n        ]\n    }, \n    \"ProductRatePlanId\": \"2c92c0f8628e007901628f1dc06a453d\", \n    \"RecognizedRevenueAccount\": \"Accounts Receivable\", \n    \"TriggerEvent\": \"ContractEffective\", \n    \"UOM\": \"each\", \n    \"UseDiscountSpecificAccountingCode\": false\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/product-rate-plan-charge");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"AccountingCode\": \"Deferred Revenue\", \n    \"BillCycleType\": \"DefaultFromCustomer\", \n    \"BillingPeriod\": \"Month\", \n    \"ChargeModel\": \"Volume Pricing\", \n    \"ChargeType\": \"Recurring\", \n    \"DeferredRevenueAccount\": \"Deferred Revenue\", \n    \"Name\": \"Recurring flat fee\", \n    \"ProductRatePlanChargeTierData\": {\n        \"ProductRatePlanChargeTier\": [\n            {\n                \"Currency\": \"USD\", \n                \"Price\": 10\n            }\n        ]\n    }, \n    \"ProductRatePlanId\": \"2c92c0f8628e007901628f1dc06a453d\", \n    \"RecognizedRevenueAccount\": \"Accounts Receivable\", \n    \"TriggerEvent\": \"ContractEffective\", \n    \"UOM\": \"each\", \n    \"UseDiscountSpecificAccountingCode\": false\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/object/product-rate-plan-charge/{id}:
    get:
      summary: 'CRUD: Get product rate plan charge'
      operationId: Object_GETProductRatePlanCharge
      description: ''
      tags:
      - Product Rate Plan Charges
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: 'The unique ID of a product rate plan charge to be retrieved.
          For example, 2c93808457d787030157e031fcd34e19.

          '
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              PriceChangeOption: NoChange
              IncludedUnits: 0
              OverageCalculationOption: EndOfSmoothingPeriod
              Id: 2c93808457d787030157e032002b4e21
              AccountingCode: name_1476935155610
              BillCycleDay: 1
              BillingPeriod: Month
              OverageUnusedUnitsCreditOption: NoCredit
              CreatedById: 2c93808457d787030157e031dd264c85
              RecognizedRevenueAccount: name_1476935155610
              ChargeType: Recurring
              BillCycleType: DefaultFromCustomer
              DefaultQuantity: 1
              UpToPeriodsType: Billing Periods
              ProductRatePlanId: 2c93808457d787030157e031ff054e1e
              Taxable: false
              Description: Recurring Flat Fee Pricing
              LegacyRevenueReporting: false
              ChargeModel: Flat Fee Pricing
              NumberOfPeriod: 1
              BillingTiming: In Advance
              PriceIncreasePercentage: 0
              CreatedDate: '2016-10-20T05:45:55.000+02:00'
              DeferredRevenueAccount: name_1476935155610
              UpdatedById: 2c93808457d787030157e031dd264c85
              Name: Recurring_Flat Fee Pricing1476935155610
              ListPriceBase: Per Billing Period
              EndDateCondition: SubscriptionEnd
              TriggerEvent: ContractEffective
              BillingPeriodAlignment: AlignToCharge
              RevenueRecognitionRuleName: Recognize upon invoicing
              UseTenantDefaultForPriceChange: true
              UpdatedDate: '2016-10-20T05:45:55.000+02:00'
          description: ''
          headers:
            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/ProxyGetProductRatePlanCharge'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/product-rate-plan-charge/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/product-rate-plan-charge/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/product-rate-plan-charge/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/product-rate-plan-charge/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/product-rate-plan-charge/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/product-rate-plan-charge/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: 'CRUD: Update product rate plan charge'
      operationId: Object_PUTProductRatePlanCharge
      description: 'Updates the information about a product rate plan charge.

        '
      tags:
      - Product Rate Plan Charges
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: ModifyRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyModifyProductRatePlanCharge'
      - name: id
        in: path
        description: 'The unique ID of the product rate plan charge to be updated.
          For example, 2c93808457d787030157e031fcd34e19.

          '
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e03197714910
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"AccountingCode\": \"\
          Deferred Revenue\", \n    \"BillCycleType\": \"DefaultFromCustomer\", \n\
          \    \"BillingPeriod\": \"Month\", \n    \"ChargeModel\": \"Flat fee Pricing\"\
          , \n    \"DeferredRevenueAccount\": \"Deferred Revenue\", \n    \"Name\"\
          : \"Recurring flat fee\", \n    \"ProductRatePlanChargeTierData\": {\n \
          \       \"ProductRatePlanChargeTier\": [\n            {\n              \
          \  \"Currency\": \"USD\", \n                \"Price\": 10\n            }\n\
          \        ]\n    }, \n    \"ProductRatePlanId\": \"2c92c0f8628e007901628f1dc06a453d\"\
          , \n    \"RecognizedRevenueAccount\": \"Accounts Receivable\", \n    \"\
          TriggerEvent\": \"ContractEffective\", \n    \"UOM\": \"each\", \n    \"\
          UseDiscountSpecificAccountingCode\": false\n}' \"https://rest.zuora.com/v1/object/product-rate-plan-charge/{id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/product-rate-plan-charge/{id}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"AccountingCode\": \"Deferred Revenue\"\
          , \n    \"BillCycleType\": \"DefaultFromCustomer\", \n    \"BillingPeriod\"\
          : \"Month\", \n    \"ChargeModel\": \"Flat fee Pricing\", \n    \"DeferredRevenueAccount\"\
          : \"Deferred Revenue\", \n    \"Name\": \"Recurring flat fee\", \n    \"\
          ProductRatePlanChargeTierData\": {\n        \"ProductRatePlanChargeTier\"\
          : [\n            {\n                \"Currency\": \"USD\", \n          \
          \      \"Price\": 10\n            }\n        ]\n    }, \n    \"ProductRatePlanId\"\
          : \"2c92c0f8628e007901628f1dc06a453d\", \n    \"RecognizedRevenueAccount\"\
          : \"Accounts Receivable\", \n    \"TriggerEvent\": \"ContractEffective\"\
          , \n    \"UOM\": \"each\", \n    \"UseDiscountSpecificAccountingCode\":\
          \ false\n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"AccountingCode\": \"Deferred Revenue\", \n    \"BillCycleType\": \"DefaultFromCustomer\", \n    \"BillingPeriod\": \"Month\", \n    \"ChargeModel\": \"Flat fee Pricing\", \n    \"DeferredRevenueAccount\": \"Deferred Revenue\", \n    \"Name\": \"Recurring flat fee\", \n    \"ProductRatePlanChargeTierData\": {\n        \"ProductRatePlanChargeTier\": [\n            {\n                \"Currency\": \"USD\", \n                \"Price\": 10\n            }\n        ]\n    }, \n    \"ProductRatePlanId\": \"2c92c0f8628e007901628f1dc06a453d\", \n    \"RecognizedRevenueAccount\": \"Accounts Receivable\", \n    \"TriggerEvent\": \"ContractEffective\", \n    \"UOM\": \"each\", \n    \"UseDiscountSpecificAccountingCode\": false\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/product-rate-plan-charge/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"AccountingCode\": \"Deferred Revenue\", \n    \"BillCycleType\": \"DefaultFromCustomer\", \n    \"BillingPeriod\": \"Month\", \n    \"ChargeModel\": \"Flat fee Pricing\", \n    \"DeferredRevenueAccount\": \"Deferred Revenue\", \n    \"Name\": \"Recurring flat fee\", \n    \"ProductRatePlanChargeTierData\": {\n        \"ProductRatePlanChargeTier\": [\n            {\n                \"Currency\": \"USD\", \n                \"Price\": 10\n            }\n        ]\n    }, \n    \"ProductRatePlanId\": \"2c92c0f8628e007901628f1dc06a453d\", \n    \"RecognizedRevenueAccount\": \"Accounts Receivable\", \n    \"TriggerEvent\": \"ContractEffective\", \n    \"UOM\": \"each\", \n    \"UseDiscountSpecificAccountingCode\": false\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/object/product-rate-plan-charge/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/product-rate-plan-charge/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"AccountingCode\": \"Deferred Revenue\", \n    \"BillCycleType\": \"DefaultFromCustomer\", \n    \"BillingPeriod\": \"Month\", \n    \"ChargeModel\": \"Flat fee Pricing\", \n    \"DeferredRevenueAccount\": \"Deferred Revenue\", \n    \"Name\": \"Recurring flat fee\", \n    \"ProductRatePlanChargeTierData\": {\n        \"ProductRatePlanChargeTier\": [\n            {\n                \"Currency\": \"USD\", \n                \"Price\": 10\n            }\n        ]\n    }, \n    \"ProductRatePlanId\": \"2c92c0f8628e007901628f1dc06a453d\", \n    \"RecognizedRevenueAccount\": \"Accounts Receivable\", \n    \"TriggerEvent\": \"ContractEffective\", \n    \"UOM\": \"each\", \n    \"UseDiscountSpecificAccountingCode\": false\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/product-rate-plan-charge/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"AccountingCode\": \"Deferred Revenue\", \n    \"BillCycleType\": \"DefaultFromCustomer\", \n    \"BillingPeriod\": \"Month\", \n    \"ChargeModel\": \"Flat fee Pricing\", \n    \"DeferredRevenueAccount\": \"Deferred Revenue\", \n    \"Name\": \"Recurring flat fee\", \n    \"ProductRatePlanChargeTierData\": {\n        \"ProductRatePlanChargeTier\": [\n            {\n                \"Currency\": \"USD\", \n                \"Price\": 10\n            }\n        ]\n    }, \n    \"ProductRatePlanId\": \"2c92c0f8628e007901628f1dc06a453d\", \n    \"RecognizedRevenueAccount\": \"Accounts Receivable\", \n    \"TriggerEvent\": \"ContractEffective\", \n    \"UOM\": \"each\", \n    \"UseDiscountSpecificAccountingCode\": false\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    delete:
      summary: 'CRUD: Delete product rate plan charge'
      operationId: Object_DELETEProductRatePlanCharge
      description: 'Deletes a product rate plan charge.

        '
      tags:
      - Product Rate Plan Charges
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: 'The unique ID of the product rate plan charge to be deleted.
          For example, 2c93808457d787030157e031fcd34e19.

          '
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
              id: 2c93808457d787030157e031fcd34e19
          description: ''
          headers:
            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/ProxyDeleteResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/product-rate-plan-charge/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/product-rate-plan-charge/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/product-rate-plan-charge/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/object/product-rate-plan-charge/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/product-rate-plan-charge/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/product-rate-plan-charge/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/product-rate-plan-charge-tier/{id}:
    get:
      summary: 'CRUD: Retrieve ProductRatePlanChargeTier'
      operationId: Object_GETProductRatePlanChargeTier
      description: ''
      tags:
      - Product Rate Plan Charge Tiers
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              UpdatedById: 2c93808457d787030157e02fd0f132a4
              CreatedById: 2c93808457d787030157e02fd0f132a4
              CreatedDate: '2016-10-20T05:43:38.000+02:00'
              UpdatedDate: '2016-10-20T05:43:38.000+02:00'
              StartingUnit: 0
              Currency: USD
              EndingUnit: 0
              Id: 2c93808457d787030157e02fe725341f
              PriceFormat: Flat Fee
              Tier: 1
              Price: 30
          description: ''
          headers:
            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/ProxyGetProductRatePlanChargeTier'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/product-rate-plan-charge-tier/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/product-rate-plan-charge-tier/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/product-rate-plan-charge-tier/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/product-rate-plan-charge-tier/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/product-rate-plan-charge-tier/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/product-rate-plan-charge-tier/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: 'CRUD: Update ProductRatePlanChargeTier'
      operationId: Object_PUTProductRatePlanChargeTier
      description: |
        Updates the price of a product rate plan charge tier.

        To make other updates to product rate plan charge tiers, use [CRUD: Update product rate plan charge](https://www.zuora.com/developer/api-reference/#operation/Object_PUTProductRatePlanCharge) and specify `ProductRatePlanChargeTierData` in the request body.
      tags:
      - Product Rate Plan Charge Tiers
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: ModifyRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyModifyProductRatePlanChargeTier'
      - name: id
        in: path
        description: 'The unique ID of the product rate plan charge tier to be updated.
          For example, 2c92c0f86c85891e016c88d55a6e543b.

          '
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c92c0f86c85891e016c88d55a6e543b
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: |-
          curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3" -H "Content-Type: application/json" -d '{
              "Price": 1.99
          }' "https://rest.zuora.com/v1/object/product-rate-plan-charge-tier/{id}"
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/product-rate-plan-charge-tier/{id}');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{
              "Price": 1.99
          }');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"Price\": 1.99\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/product-rate-plan-charge-tier/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"Price\": 1.99\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/object/product-rate-plan-charge-tier/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/product-rate-plan-charge-tier/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"Price\": 1.99\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/product-rate-plan-charge-tier/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"Price\": 1.99\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/object/rate-plan/{id}:
    get:
      summary: 'CRUD: Retrieve RatePlan'
      operationId: Object_GETRatePlan
      description: ''
      tags:
      - Rate Plans
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              UpdatedById: 2c93808457d787030157e02ea77723ef
              UpdatedDate: '2016-10-20T05:42:24.000+02:00'
              Id: 2c93808457d787030157e02ec54f259e
              CreatedById: 2c93808457d787030157e02ea77723ef
              CreatedDate: '2016-10-20T05:42:24.000+02:00'
              Name: ProductRatePlan1476934943281
              AmendmentId: 2c93808457d787030157e02ec4b42599
          description: ''
          headers:
            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/ProxyGetRatePlan'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/rate-plan/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/rate-plan/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/rate-plan/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/rate-plan/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/rate-plan/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/rate-plan/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/rate-plan-charge/{id}:
    get:
      summary: 'CRUD: Get rate plan charge'
      operationId: Object_GETRatePlanCharge
      description: ''
      tags:
      - Rate Plan Charges
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              PriceChangeOption: NoChange
              OverageCalculationOption: EndOfSmoothingPeriod
              Id: 2c93808457d787030157e02f9b802fad
              ChargeNumber: C-00000001
              BillingPeriodAlignment: AlignToCharge
              UpdatedDate: '2016-10-20T05:43:19.000+02:00'
              Version: 1
              BillCycleDay: 1
              BillingPeriod: Month
              IsLastSegment: true
              UpToPeriodsType: Billing Periods
              UpdatedById: 2c93808457d787030157e02f84852e27
              Quantity: 1
              EndDateCondition: SubscriptionEnd
              Segment: 1
              RatePlanId: 2c93808457d787030157e02f9b762fac
              ChargeModel: Flat Fee Pricing
              TriggerEvent: ContractEffective
              BillingTiming: In Arrears
              CreatedById: 2c93808457d787030157e02f84852e27
              CreatedDate: '2016-10-20T05:43:18.000+02:00'
              Name: Recurring_Flat Fee Pricing1476934998566
              ChargeType: Recurring
              OverageUnusedUnitsCreditOption: NoCredit
              OriginalId: 2c93808457d787030157e02f9b802fad
              ListPriceBase: Per Billing Period
              PriceIncreasePercentage: 0
              NumberOfPeriods: 1
              BillCycleType: DefaultFromCustomer
              Description: Recurring Flat Fee Pricing
              AccountingCode: name_1476934998566
          description: ''
          headers:
            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/ProxyGetRatePlanCharge'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/rate-plan-charge/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/rate-plan-charge/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/rate-plan-charge/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/rate-plan-charge/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/rate-plan-charge/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/rate-plan-charge/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: 'CRUD: Update rate plan charge'
      operationId: Object_PUTRatePlanCharge
      description: ''
      tags:
      - Rate Plan Charges
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      - name: ModifyRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyModifyRatePlanCharge'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c92c0f86a79e2e4016a8bad616b257c
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: |-
          curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3" -H "Content-Type: application/json" -d '{
              "PriceIncreasePercentage": 10
          }' "https://rest.zuora.com/v1/object/rate-plan-charge/{id}"
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/rate-plan-charge/{id}');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{
              "PriceIncreasePercentage": 10
          }');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"PriceIncreasePercentage\": 10\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/rate-plan-charge/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"PriceIncreasePercentage\": 10\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/object/rate-plan-charge/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/rate-plan-charge/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"PriceIncreasePercentage\": 10\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/rate-plan-charge/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"PriceIncreasePercentage\": 10\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/object/rate-plan-charge-tier/{id}:
    get:
      summary: 'CRUD: Retrieve RatePlanChargeTier'
      operationId: Object_GETRatePlanChargeTier
      description: ''
      tags:
      - Rate Plan Charge Tiers
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              UpdatedById: 2c93808457d787030157e02da3161854
              CreatedById: 2c93808457d787030157e02da3161854
              Price: 30
              UpdatedDate: '2016-10-20T05:41:16.000+02:00'
              StartingUnit: 0
              EndingUnit: 0
              Id: 2c93808457d787030157e02dbecc19d8
              CreatedDate: '2016-10-20T05:41:16.000+02:00'
              PriceFormat: Flat Fee
              Tier: 1
              RatePlanChargeId: 2c93808457d787030157e02dbee919da
          description: ''
          headers:
            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/ProxyGetRatePlanChargeTier'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/rate-plan-charge-tier/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/rate-plan-charge-tier/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/rate-plan-charge-tier/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/rate-plan-charge-tier/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/rate-plan-charge-tier/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/rate-plan-charge-tier/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/refund:
    post:
      summary: 'CRUD: Create refund'
      operationId: Object_POSTRefund
      description: ''
      tags:
      - Refunds
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: CreateRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyCreateRefund'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e03198c84918
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '400':
          examples:
            application/json:
              Errors:
              - Code: INVALID_VALUE
                Message: The account number 123xProxy is invalid.
              Success: false
          description: ''
          headers:
            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/ProxyBadRequestResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"AccountId\": \"2c93808457d787030157e03190e748ea\"\
          , \n    \"Amount\": 1.1, \n    \"Comment\": \"this is comments\", \n   \
          \ \"PaymentId\": \"2c93808457d787030157e03197714910\", \n    \"ReasonCode\"\
          : \"Standard Refund\", \n    \"RefundInvoicePaymentData\": {\n        \"\
          RefundInvoicePayment\": [\n            {\n                \"InvoiceId\"\
          : \"2c93808457d787030157e03195604902\", \n                \"RefundAmount\"\
          : 1.1\n            }\n        ]\n    }, \n    \"SoftDescriptor\": \"thisSD\"\
          , \n    \"SoftDescriptorPhone\": \"contact@example.com\", \n    \"SourceType\"\
          : \"Payment\", \n    \"Type\": \"Electronic\"\n}' \"https://rest.zuora.com/v1/object/refund\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/refund');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"AccountId\": \"2c93808457d787030157e03190e748ea\"\
          , \n    \"Amount\": 1.1, \n    \"Comment\": \"this is comments\", \n   \
          \ \"PaymentId\": \"2c93808457d787030157e03197714910\", \n    \"ReasonCode\"\
          : \"Standard Refund\", \n    \"RefundInvoicePaymentData\": {\n        \"\
          RefundInvoicePayment\": [\n            {\n                \"InvoiceId\"\
          : \"2c93808457d787030157e03195604902\", \n                \"RefundAmount\"\
          : 1.1\n            }\n        ]\n    }, \n    \"SoftDescriptor\": \"thisSD\"\
          , \n    \"SoftDescriptorPhone\": \"contact@example.com\", \n    \"SourceType\"\
          : \"Payment\", \n    \"Type\": \"Electronic\"\n}');\n\ntry {\n  $response\
          \ = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException\
          \ $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"AccountId\": \"2c93808457d787030157e03190e748ea\", \n    \"Amount\": 1.1, \n    \"Comment\": \"this is comments\", \n    \"PaymentId\": \"2c93808457d787030157e03197714910\", \n    \"ReasonCode\": \"Standard Refund\", \n    \"RefundInvoicePaymentData\": {\n        \"RefundInvoicePayment\": [\n            {\n                \"InvoiceId\": \"2c93808457d787030157e03195604902\", \n                \"RefundAmount\": 1.1\n            }\n        ]\n    }, \n    \"SoftDescriptor\": \"thisSD\", \n    \"SoftDescriptorPhone\": \"contact@example.com\", \n    \"SourceType\": \"Payment\", \n    \"Type\": \"Electronic\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/refund")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"AccountId\": \"2c93808457d787030157e03190e748ea\", \n    \"Amount\": 1.1, \n    \"Comment\": \"this is comments\", \n    \"PaymentId\": \"2c93808457d787030157e03197714910\", \n    \"ReasonCode\": \"Standard Refund\", \n    \"RefundInvoicePaymentData\": {\n        \"RefundInvoicePayment\": [\n            {\n                \"InvoiceId\": \"2c93808457d787030157e03195604902\", \n                \"RefundAmount\": 1.1\n            }\n        ]\n    }, \n    \"SoftDescriptor\": \"thisSD\", \n    \"SoftDescriptorPhone\": \"contact@example.com\", \n    \"SourceType\": \"Payment\", \n    \"Type\": \"Electronic\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/object/refund", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/refund")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"AccountId\": \"2c93808457d787030157e03190e748ea\", \n    \"Amount\": 1.1, \n    \"Comment\": \"this is comments\", \n    \"PaymentId\": \"2c93808457d787030157e03197714910\", \n    \"ReasonCode\": \"Standard Refund\", \n    \"RefundInvoicePaymentData\": {\n        \"RefundInvoicePayment\": [\n            {\n                \"InvoiceId\": \"2c93808457d787030157e03195604902\", \n                \"RefundAmount\": 1.1\n            }\n        ]\n    }, \n    \"SoftDescriptor\": \"thisSD\", \n    \"SoftDescriptorPhone\": \"contact@example.com\", \n    \"SourceType\": \"Payment\", \n    \"Type\": \"Electronic\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/refund");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"AccountId\": \"2c93808457d787030157e03190e748ea\", \n    \"Amount\": 1.1, \n    \"Comment\": \"this is comments\", \n    \"PaymentId\": \"2c93808457d787030157e03197714910\", \n    \"ReasonCode\": \"Standard Refund\", \n    \"RefundInvoicePaymentData\": {\n        \"RefundInvoicePayment\": [\n            {\n                \"InvoiceId\": \"2c93808457d787030157e03195604902\", \n                \"RefundAmount\": 1.1\n            }\n        ]\n    }, \n    \"SoftDescriptor\": \"thisSD\", \n    \"SoftDescriptorPhone\": \"contact@example.com\", \n    \"SourceType\": \"Payment\", \n    \"Type\": \"Electronic\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/object/refund/{id}:
    get:
      summary: 'CRUD: Get refund'
      operationId: Object_GETRefund
      description: ''
      tags:
      - Refunds
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json: null
          description: ''
          headers:
            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/ProxyGetRefund'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/refund/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/refund/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/refund/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/refund/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/refund/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/refund/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: 'CRUD: Update refund'
      operationId: Object_PUTRefund
      description: ''
      tags:
      - Refunds
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      - name: ModifyRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyModifyRefund'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e03198c84918
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"Id\": \"2c93808457d787030157e03198c84918\"\
          , \n    \"Status\": \"Canceled\"\n}' \"https://rest.zuora.com/v1/object/refund/{id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/refund/{id}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"Id\": \"2c93808457d787030157e03198c84918\"\
          , \n    \"Status\": \"Canceled\"\n}');\n\ntry {\n  $response = $request->send();\n\
          \n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n\
          }"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"Id\": \"2c93808457d787030157e03198c84918\", \n    \"Status\": \"Canceled\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/refund/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"Id\": \"2c93808457d787030157e03198c84918\", \n    \"Status\": \"Canceled\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/object/refund/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/refund/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"Id\": \"2c93808457d787030157e03198c84918\", \n    \"Status\": \"Canceled\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/refund/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"Id\": \"2c93808457d787030157e03198c84918\", \n    \"Status\": \"Canceled\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    delete:
      summary: 'CRUD: Delete refund'
      operationId: Object_DELETERefund
      description: ''
      tags:
      - Refunds
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
              id: 2c93808457d787030157e03198c84918
          description: ''
          headers:
            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/ProxyDeleteResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/refund/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/refund/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/refund/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/object/refund/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/refund/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/refund/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/refund-invoice-payment/{id}:
    get:
      summary: 'CRUD: Retrieve RefundInvoicePayment'
      operationId: Object_GETRefundInvoicePayment
      description: ''
      tags:
      - Refund Invoice Payments
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          description: ''
          headers:
            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/ProxyGetRefundInvoicePayment'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/refund-invoice-payment/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/refund-invoice-payment/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/refund-invoice-payment/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/refund-invoice-payment/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/refund-invoice-payment/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/refund-invoice-payment/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/refund-transaction-log/{id}:
    get:
      summary: 'CRUD: Retrieve RefundTransactionLog'
      operationId: Object_GETRefundTransactionLog
      description: ''
      tags:
      - Refund Transaction Logs
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              GatewayReasonCodeDescription: This transaction has been approved by
                Test gateway.
              Id: 2c93808457d787030157e0304c0538f2
              TransactionId: '9036150.175338026'
              GatewayState: Submitted
              GatewayReasonCode: approve
              TransactionDate: '2016-10-20T05:44:04.000+02:00'
              Gateway: TEST gateway name1476935035677
              RefundId: 2c93808457d787030157e0304bf638f0
              GatewayTransactionType: Refund
          description: ''
          headers:
            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/ProxyGetRefundTransactionLog'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/refund-transaction-log/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/refund-transaction-log/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/refund-transaction-log/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/refund-transaction-log/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/refund-transaction-log/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/refund-transaction-log/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/subscription/{id}:
    get:
      summary: 'CRUD: Retrieve Subscription'
      operationId: Object_GETSubscription
      description: ''
      tags:
      - Subscriptions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              TermStartDate: '2018-05-10'
              Id: 2c92c0fa6343984c0163498b71fe04be
              UpdatedDate: '2018-05-11T11:38:03.000+08:00'
              Version: 1
              AutoRenew: false
              SubscriptionStartDate: '2018-05-10'
              InitialTerm: 12
              InitialTermPeriodType: Month
              AccountId: 2c92c0fa6343984c0163498b71a604b2
              IsInvoiceSeparate: false
              CurrentTermPeriodType: Month
              CurrentTerm: 12
              RenewalTermPeriodType: Month
              ContractEffectiveDate: '2018-05-10'
              UpdatedById: 2c92c0f9631b0084016323ec8720683d
              ContractAcceptanceDate: '2018-05-10'
              CreatedById: 2c92c0f9631b0084016323ec8720683d
              CreatedDate: '2018-05-10T18:14:25.000+08:00'
              Name: A-S00000177
              Status: Expired
              ServiceActivationDate: '2018-05-10'
              OriginalId: 2c92c0fa6343984c0163498b71fe04be
              RenewalTerm: 12
              TermEndDate: '2019-05-10'
              TermType: TERMED
              RenewalSetting: RENEW_WITH_SPECIFIC_TERM
              OriginalCreatedDate: '2018-05-10T18:14:25.000+08:00'
              SubscriptionEndDate: '2019-05-10'
          description: ''
          headers:
            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/ProxyGetSubscription'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/subscription/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/subscription/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/subscription/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/subscription/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/subscription/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/subscription/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: 'CRUD: Update Subscription'
      operationId: Object_PUTSubscription
      description: ''
      tags:
      - Subscriptions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      - name: ModifyRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyModifySubscription'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e02ea04123cf
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X PUT -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"Id\": \"2c93808457d787030157e02ea04123cf\"\
          , \n    \"Name\": \"S_1476934934547_name\", \n    \"Notes\": \"this is notes_new\"\
          \n}' \"https://rest.zuora.com/v1/object/subscription/{id}\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/subscription/{id}');\n\
          $request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"Id\": \"2c93808457d787030157e02ea04123cf\"\
          , \n    \"Name\": \"S_1476934934547_name\", \n    \"Notes\": \"this is notes_new\"\
          \n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"Id\": \"2c93808457d787030157e02ea04123cf\", \n    \"Name\": \"S_1476934934547_name\", \n    \"Notes\": \"this is notes_new\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/subscription/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"Id\": \"2c93808457d787030157e02ea04123cf\", \n    \"Name\": \"S_1476934934547_name\", \n    \"Notes\": \"this is notes_new\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/object/subscription/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/subscription/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"Id\": \"2c93808457d787030157e02ea04123cf\", \n    \"Name\": \"S_1476934934547_name\", \n    \"Notes\": \"this is notes_new\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/subscription/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"Id\": \"2c93808457d787030157e02ea04123cf\", \n    \"Name\": \"S_1476934934547_name\", \n    \"Notes\": \"this is notes_new\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    delete:
      summary: 'CRUD: Delete Subscription'
      operationId: Object_DELETESubscription
      description: ''
      tags:
      - Subscriptions
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              success: true
              id: 2c93808457d787030157e02ea04123cf
          description: ''
          headers:
            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/ProxyDeleteResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/subscription/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/subscription/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/subscription/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/object/subscription/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/subscription/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/subscription/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/subscription-product-feature/{id}:
    get:
      summary: 'CRUD: Retrieve SubscriptionProductFeature'
      operationId: Object_GETSubscriptionProductFeature
      description: ''
      tags:
      - Subscription Product Features
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              RatePlanId: 2c93808457d787030157e0316ae64769
              Id: 2c93808457d787030157e0316ae7476a
              CreatedById: 2c93808457d787030157e03151e845e3
              CreatedDate: '2016-10-20T05:45:17.000+02:00'
              Name: name_1476935116658
              FeatureCode: feature_code_1476935116658
              FeatureId: 2c93808457d787030157e03167fe4758
              UpdatedDate: '2016-10-20T05:45:18.000+02:00'
              UpdatedById: 2c93808457d787030157e03151e845e3
              Description: update description
          description: ''
          headers:
            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/ProxyGetSubscriptionProductFeature'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/subscription-product-feature/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/subscription-product-feature/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/subscription-product-feature/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/subscription-product-feature/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/subscription-product-feature/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/subscription-product-feature/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/taxation-item:
    post:
      summary: 'CRUD: Create TaxationItem'
      operationId: Object_POSTTaxationItem
      description: ''
      tags:
      - Taxation Items
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: CreateRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyCreateTaxationItem'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e0306f413a96
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '400':
          examples:
            application/json:
              Errors:
              - Code: INVALID_VALUE
                Message: The account number 123xProxy is invalid.
              Success: false
          description: ''
          headers:
            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/ProxyBadRequestResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"AccountingCode\": \"\
          Usage Revenue\", \n    \"ExemptAmount\": 50, \n    \"InvoiceItemId\": \"\
          2c93808457d787030157e0306cd43a88\", \n    \"Jurisdiction\": \"test\", \n\
          \    \"LocationCode\": \"code - 001\", \n    \"Name\": \"test\", \n    \"\
          TaxAmount\": 3, \n    \"TaxCode\": \"taxcode\", \n    \"TaxCodeDescription\"\
          : \"description\", \n    \"TaxDate\": \"2016-10-20\", \n    \"TaxMode\"\
          : \"TaxExclusive\", \n    \"TaxRate\": 3, \n    \"TaxRateDescription\":\
          \ \"test\", \n    \"TaxRateType\": \"FlatFee\"\n}' \"https://rest.zuora.com/v1/object/taxation-item\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/taxation-item');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"AccountingCode\": \"Usage Revenue\",\
          \ \n    \"ExemptAmount\": 50, \n    \"InvoiceItemId\": \"2c93808457d787030157e0306cd43a88\"\
          , \n    \"Jurisdiction\": \"test\", \n    \"LocationCode\": \"code - 001\"\
          , \n    \"Name\": \"test\", \n    \"TaxAmount\": 3, \n    \"TaxCode\": \"\
          taxcode\", \n    \"TaxCodeDescription\": \"description\", \n    \"TaxDate\"\
          : \"2016-10-20\", \n    \"TaxMode\": \"TaxExclusive\", \n    \"TaxRate\"\
          : 3, \n    \"TaxRateDescription\": \"test\", \n    \"TaxRateType\": \"FlatFee\"\
          \n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"AccountingCode\": \"Usage Revenue\", \n    \"ExemptAmount\": 50, \n    \"InvoiceItemId\": \"2c93808457d787030157e0306cd43a88\", \n    \"Jurisdiction\": \"test\", \n    \"LocationCode\": \"code - 001\", \n    \"Name\": \"test\", \n    \"TaxAmount\": 3, \n    \"TaxCode\": \"taxcode\", \n    \"TaxCodeDescription\": \"description\", \n    \"TaxDate\": \"2016-10-20\", \n    \"TaxMode\": \"TaxExclusive\", \n    \"TaxRate\": 3, \n    \"TaxRateDescription\": \"test\", \n    \"TaxRateType\": \"FlatFee\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/taxation-item")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"AccountingCode\": \"Usage Revenue\", \n    \"ExemptAmount\": 50, \n    \"InvoiceItemId\": \"2c93808457d787030157e0306cd43a88\", \n    \"Jurisdiction\": \"test\", \n    \"LocationCode\": \"code - 001\", \n    \"Name\": \"test\", \n    \"TaxAmount\": 3, \n    \"TaxCode\": \"taxcode\", \n    \"TaxCodeDescription\": \"description\", \n    \"TaxDate\": \"2016-10-20\", \n    \"TaxMode\": \"TaxExclusive\", \n    \"TaxRate\": 3, \n    \"TaxRateDescription\": \"test\", \n    \"TaxRateType\": \"FlatFee\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/object/taxation-item", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/taxation-item")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"AccountingCode\": \"Usage Revenue\", \n    \"ExemptAmount\": 50, \n    \"InvoiceItemId\": \"2c93808457d787030157e0306cd43a88\", \n    \"Jurisdiction\": \"test\", \n    \"LocationCode\": \"code - 001\", \n    \"Name\": \"test\", \n    \"TaxAmount\": 3, \n    \"TaxCode\": \"taxcode\", \n    \"TaxCodeDescription\": \"description\", \n    \"TaxDate\": \"2016-10-20\", \n    \"TaxMode\": \"TaxExclusive\", \n    \"TaxRate\": 3, \n    \"TaxRateDescription\": \"test\", \n    \"TaxRateType\": \"FlatFee\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/taxation-item");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"AccountingCode\": \"Usage Revenue\", \n    \"ExemptAmount\": 50, \n    \"InvoiceItemId\": \"2c93808457d787030157e0306cd43a88\", \n    \"Jurisdiction\": \"test\", \n    \"LocationCode\": \"code - 001\", \n    \"Name\": \"test\", \n    \"TaxAmount\": 3, \n    \"TaxCode\": \"taxcode\", \n    \"TaxCodeDescription\": \"description\", \n    \"TaxDate\": \"2016-10-20\", \n    \"TaxMode\": \"TaxExclusive\", \n    \"TaxRate\": 3, \n    \"TaxRateDescription\": \"test\", \n    \"TaxRateType\": \"FlatFee\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/object/taxation-item/{id}:
    get:
      summary: 'CRUD: Retrieve TaxationItem'
      operationId: Object_GETTaxationItem
      description: ''
      tags:
      - Taxation Items
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              Jurisdiction: test
              InvoiceItemId: 2c93808457d787030157e0306cd43a88
              Id: 2c93808457d787030157e0306f413a96
              AccountingCode: Usage Revenue
              UpdatedDate: '2016-10-20T05:44:13.000+02:00'
              TaxCode: taxcode
              LocationCode: code - 001
              CreatedById: 2c93808457d787030157e0304e2f38f8
              CreatedDate: '2016-10-20T05:44:13.000+02:00'
              Name: test
              TaxCodeDescription: description
              TaxRateDescription: test
              TaxAmount: 3
              UpdatedById: 2c93808457d787030157e0304e2f38f8
              ExemptAmount: 50
              TaxRate: 3
              TaxRateType: FlatFee
              TaxDate: '2016-10-20'
          description: ''
          headers:
            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/ProxyGetTaxationItem'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/taxation-item/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/taxation-item/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/taxation-item/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/taxation-item/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/taxation-item/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/taxation-item/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: 'CRUD: Update TaxationItem'
      operationId: Object_PUTTaxationItem
      description: ''
      tags:
      - Taxation Items
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      - name: ModifyRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyModifyTaxationItem'
      responses:
        '200':
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/object/taxation-item/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/taxation-item/{id}');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/taxation-item/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/object/taxation-item/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/taxation-item/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/taxation-item/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    delete:
      summary: 'CRUD: Delete TaxationItem'
      operationId: Object_DELETETaxationItem
      description: ''
      tags:
      - Taxation Items
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          description: ''
          headers:
            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/ProxyDeleteResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/taxation-item/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/taxation-item/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/taxation-item/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/object/taxation-item/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/taxation-item/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/taxation-item/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/unit-of-measure:
    post:
      summary: 'CRUD: Create UnitOfMeasure'
      operationId: Object_POSTUnitOfMeasure
      description: ''
      tags:
      - Unit Of Measure
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: CreateRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyCreateUnitOfMeasure'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e030232f3748
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '400':
          examples:
            application/json:
              Errors:
              - Code: INVALID_VALUE
                Message: The account number 123xProxy is invalid.
              Success: false
          description: ''
          headers:
            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/ProxyBadRequestResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"Active\": true, \n\
          \    \"DecimalPlaces\": 9, \n    \"DisplayedAs\": \"name_display_name_1476935033519\"\
          , \n    \"RoundingMode\": \"UP\", \n    \"UomName\": \"name_1476935033519\"\
          \n}' \"https://rest.zuora.com/v1/object/unit-of-measure\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/unit-of-measure');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"Active\": true, \n    \"DecimalPlaces\"\
          : 9, \n    \"DisplayedAs\": \"name_display_name_1476935033519\", \n    \"\
          RoundingMode\": \"UP\", \n    \"UomName\": \"name_1476935033519\"\n}');\n\
          \ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"Active\": true, \n    \"DecimalPlaces\": 9, \n    \"DisplayedAs\": \"name_display_name_1476935033519\", \n    \"RoundingMode\": \"UP\", \n    \"UomName\": \"name_1476935033519\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/unit-of-measure")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"Active\": true, \n    \"DecimalPlaces\": 9, \n    \"DisplayedAs\": \"name_display_name_1476935033519\", \n    \"RoundingMode\": \"UP\", \n    \"UomName\": \"name_1476935033519\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/object/unit-of-measure", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/unit-of-measure")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"Active\": true, \n    \"DecimalPlaces\": 9, \n    \"DisplayedAs\": \"name_display_name_1476935033519\", \n    \"RoundingMode\": \"UP\", \n    \"UomName\": \"name_1476935033519\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/unit-of-measure");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"Active\": true, \n    \"DecimalPlaces\": 9, \n    \"DisplayedAs\": \"name_display_name_1476935033519\", \n    \"RoundingMode\": \"UP\", \n    \"UomName\": \"name_1476935033519\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/object/unit-of-measure/{id}:
    get:
      summary: 'CRUD: Retrieve UnitOfMeasure'
      operationId: Object_GETUnitOfMeasure
      description: ''
      tags:
      - Unit Of Measure
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              Active: true
              Id: 2c93808457d787030157e030232f3748
              CreatedById: 2c93808457d787030157e0300f6735d3
              CreatedDate: '2016-10-20T05:43:53.000+02:00'
              UpdatedDate: '2016-10-20T05:43:53.000+02:00'
              DisplayedAs: name_display_name_1476935033519
              UomName: name_1476935033519
              RoundingMode: UP
              UpdatedById: 2c93808457d787030157e0300f6735d3
              DecimalPlaces: 9
          description: ''
          headers:
            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/ProxyGetUnitOfMeasure'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/unit-of-measure/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/unit-of-measure/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/unit-of-measure/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/unit-of-measure/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/unit-of-measure/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/unit-of-measure/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: 'CRUD: Update UnitOfMeasure'
      operationId: Object_PUTUnitOfMeasure
      description: ''
      tags:
      - Unit Of Measure
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      - name: ModifyRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyModifyUnitOfMeasure'
      responses:
        '200':
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/object/unit-of-measure/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/unit-of-measure/{id}');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/unit-of-measure/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/object/unit-of-measure/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/unit-of-measure/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/unit-of-measure/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    delete:
      summary: 'CRUD: Delete UnitOfMeasure'
      operationId: Object_DELETEUnitOfMeasure
      description: ''
      tags:
      - Unit Of Measure
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          description: ''
          headers:
            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/ProxyDeleteResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/unit-of-measure/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/unit-of-measure/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/unit-of-measure/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/object/unit-of-measure/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/unit-of-measure/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/unit-of-measure/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
  /v1/object/usage:
    post:
      summary: 'CRUD: Create usage'
      operationId: Object_POSTUsage
      description: ''
      tags:
      - Usage
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: CreateRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyCreateUsage'
      responses:
        '200':
          examples:
            application/json:
              Success: true
              Id: 2c93808457d787030157e02e0a301d0a
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '400':
          examples:
            application/json:
              Errors:
              - Code: INVALID_VALUE
                Message: The account number 123xProxy is invalid.
              Success: false
          description: ''
          headers:
            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/ProxyBadRequestResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: "curl -X POST -H \"Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3\"\
          \ -H \"Content-Type: application/json\" -d '{\n    \"AccountId\": \"2c92c0f956bc8fb40156d502fc3718b1\"\
          , \n    \"ChargeNumber\": \"C-00000229\", \n    \"Description\": \"test\"\
          , \n    \"Quantity\": 9, \n    \"StartDateTime\": \"2017-12-01T16:41:36.000+01:00\"\
          , \n    \"SubscriptionNumber\": \"A-S00000100\", \n    \"UOM\": \"Each\"\
          \n}' \"https://rest.zuora.com/v1/object/usage\""
      - lang: PHP
        source: "<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://rest.zuora.com/v1/object/usage');\n\
          $request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n  'content-type'\
          \ => 'application/json',\n  'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'\n\
          ));\n\n$request->setBody('{\n    \"AccountId\": \"2c92c0f956bc8fb40156d502fc3718b1\"\
          , \n    \"ChargeNumber\": \"C-00000229\", \n    \"Description\": \"test\"\
          , \n    \"Quantity\": 9, \n    \"StartDateTime\": \"2017-12-01T16:41:36.000+01:00\"\
          , \n    \"SubscriptionNumber\": \"A-S00000100\", \n    \"UOM\": \"Each\"\
          \n}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n\
          } catch (HttpException $ex) {\n  echo $ex;\n}"
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{\n    \"AccountId\": \"2c92c0f956bc8fb40156d502fc3718b1\", \n    \"ChargeNumber\": \"C-00000229\", \n    \"Description\": \"test\", \n    \"Quantity\": 9, \n    \"StartDateTime\": \"2017-12-01T16:41:36.000+01:00\", \n    \"SubscriptionNumber\": \"A-S00000100\", \n    \"UOM\": \"Each\"\n}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/usage")
            .post(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{\n    \"AccountId\": \"2c92c0f956bc8fb40156d502fc3718b1\", \n    \"ChargeNumber\": \"C-00000229\", \n    \"Description\": \"test\", \n    \"Quantity\": 9, \n    \"StartDateTime\": \"2017-12-01T16:41:36.000+01:00\", \n    \"SubscriptionNumber\": \"A-S00000100\", \n    \"UOM\": \"Each\"\n}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("POST", "/v1/object/usage", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/usage")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Post.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{\n    \"AccountId\": \"2c92c0f956bc8fb40156d502fc3718b1\", \n    \"ChargeNumber\": \"C-00000229\", \n    \"Description\": \"test\", \n    \"Quantity\": 9, \n    \"StartDateTime\": \"2017-12-01T16:41:36.000+01:00\", \n    \"SubscriptionNumber\": \"A-S00000100\", \n    \"UOM\": \"Each\"\n}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/usage");
          var request = new RestRequest(Method.POST);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{\n    \"AccountId\": \"2c92c0f956bc8fb40156d502fc3718b1\", \n    \"ChargeNumber\": \"C-00000229\", \n    \"Description\": \"test\", \n    \"Quantity\": 9, \n    \"StartDateTime\": \"2017-12-01T16:41:36.000+01:00\", \n    \"SubscriptionNumber\": \"A-S00000100\", \n    \"UOM\": \"Each\"\n}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
  /v1/object/usage/{id}:
    get:
      summary: 'CRUD: Get usage'
      operationId: Object_GETUsage
      description: ''
      tags:
      - Usage
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: fields
        in: query
        required: false
        type: string
        description: Object fields to return
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          examples:
            application/json:
              AccountNumber: A00000030
              Id: 2c92c0f86bf50ca0016c040309316ca4
              ChargeNumber: C-00000229
              StartDateTime: '2017-12-01T23:41:36.000+08:00'
              SubscriptionId: 2c92c0f956bc8fcb0156d5039e0a5aa0
              ChargeId: 2c92c0f956bc8fcb0156d5039e275aa9
              AccountId: 2c92c0f956bc8fb40156d502fc3718b1
              Quantity: 9
              Description: test
              SubscriptionNumber: A-S00000100
              CreatedById: 2c92c0f958fffd7d015914aeefc71a5d
              CreatedDate: '2019-07-18T15:36:43.000+08:00'
              RbeStatus: Pending
              SubmissionDateTime: '2019-07-18T15:36:43.000+08:00'
              SourceType: API
              UOM: Each
              UpdatedDate: '2019-07-18T15:36:43.000+08:00'
              UpdatedById: 2c92c0f958fffd7d015914aeefc71a5d
          description: ''
          headers:
            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/ProxyGetUsage'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
        '404':
          examples:
            application/json:
              records: {}
              size: 0
              done: true
          description: ''
          headers:
            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/ProxyNoDataResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X GET -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/usage/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/usage/{id}');
          $request->setMethod(HTTP_METH_GET);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/usage/{id}")
            .get()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("GET", "/v1/object/usage/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/usage/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Get.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/usage/{id}");
          var request = new RestRequest(Method.GET);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
    put:
      summary: 'CRUD: Update usage'
      operationId: Object_PUTUsage
      description: ''
      tags:
      - Usage
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      - name: ModifyRequest
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ProxyModifyUsage'
      responses:
        '200':
          description: ''
          headers:
            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/ProxyCreateOrModifyResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X PUT -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" -d ''{}'' "https://rest.zuora.com/v1/object/usage/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/usage/{id}');
          $request->setMethod(HTTP_METH_PUT);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          $request->setBody('{}');

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          RequestBody body = RequestBody.create(mediaType, "{}");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/usage/{id}")
            .put(body)
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          payload = "{}"

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3",
              'content-type': "application/json",
              }

          conn.request("PUT", "/v1/object/usage/{id}", payload, headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/usage/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Put.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          request["content-type"] = 'application/json'
          request.body = "{}"

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/usage/{id}");
          var request = new RestRequest(Method.PUT);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          request.AddParameter("application/json", "{}", ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    delete:
      summary: 'CRUD: Delete usage'
      operationId: Object_DELETEUsage
      description: ''
      tags:
      - Usage
      parameters:
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Entity_Ids_Single'
      - $ref: '#/parameters/GLOBAL_HEADER_Zuora_Track_Id'
      - name: id
        in: path
        description: Object id
        required: true
        type: string
      responses:
        '200':
          description: ''
          headers:
            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/ProxyDeleteResponse'
        '401':
          examples:
            application/json:
              message: Authentication error
          description: ''
          headers:
            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.

                '
            WWW-Authenticate:
              type: string
              enum:
              - Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora
                API
              description: |
                The value of this header is:

                ```
                Basic realm=Zuora API, ZSession realm=Zuora API, Bearer realm=Zuora API
                ```
          schema:
            $ref: '#/definitions/ProxyUnauthorizedResponse'
      x-code-samples:
      - lang: Curl
        source: 'curl -X DELETE -H "Authorization: Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
          -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/usage/{id}"'
      - lang: PHP
        source: |-
          <?php

          $request = new HttpRequest();
          $request->setUrl('https://rest.zuora.com/v1/object/usage/{id}');
          $request->setMethod(HTTP_METH_DELETE);

          $request->setHeaders(array(
            'content-type' => 'application/json',
            'Authorization' => 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'
          ));

          try {
            $response = $request->send();

            echo $response->getBody();
          } catch (HttpException $ex) {
            echo $ex;
          }
      - lang: Java
        source: |-
          OkHttpClient client = new OkHttpClient();

          MediaType mediaType = MediaType.parse("application/json");
          Request request = new Request.Builder()
            .url("https://rest.zuora.com/v1/object/usage/{id}")
            .delete()
            .addHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3")
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

          Response response = client.newCall(request).execute();
      - lang: Python
        source: |-
          import http.client

          conn = http.client.HTTPSConnection("https://rest.zuora.com/")

          headers = {
              'Authorization': "Bearer 6d151216ef504f65b8ff6e9e9e8356d3"
              }

          conn.request("DELETE", "/v1/object/usage/{id}", headers=headers)

          res = conn.getresponse()
          data = res.read()

          print(data.decode("utf-8"))
      - lang: Ruby
        source: |-
          require 'uri'
          require 'net/http'

          url = URI("https://rest.zuora.com/v1/object/usage/{id}")

          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE

          request = Net::HTTP::Delete.new(url)
          request["Authorization"] = 'Bearer 6d151216ef504f65b8ff6e9e9e8356d3'

          response = http.request(request)
          puts response.read_body
      - lang: C#
        source: |-
          var client = new RestClient("https://rest.zuora.com/v1/object/usage/{id}");
          var request = new RestRequest(Method.DELETE);
          request.AddHeader("content-type", "application/json");
          request.AddHeader("Authorization", "Bearer 6d151216ef504f65b8ff6e9e9e8356d3");
          IRestResponse response = client.Execute(request);
definitions:
  Account:
    allOf:
    - description: 'The information of the new account to be created with the order.
        Note that this actually specifies the invoice owner account of the subscriptions
        included in this order. To create the new account, either a **creditCard**
        structure or the **hpmCreditCardPaymentMethodId** field (but not both) should
        be provided. The one provided becomes the default payment method for this
        account. If the credit card information is declined or can''t be verified,
        then the account is not created.

        '
      properties:
        accountNumber:
          maxLength: 70
          type: string
        additionalEmailAddresses:
          description: 'List of additional email addresses to receive emailed invoices.
            Values should be a comma-separated list of email addresses.

            '
          maxLength: 1200
          type: string
        allowInvoiceEdit:
          description: "Indicates if associated invoices can be edited.\nValues are:\
            \ \n\n* `true`\n* `false` (default)\n"
          type: boolean
        autoPay:
          description: Specifies whether future payments are to be automatically billed
            when they are due. Possible values are `true`, `false`.
          type: boolean
        batch:
          type: string
        billCycleDay:
          description: Day of the month that the account prefers billing periods to
            begin on. If set to 0, the bill cycle day will be set as "AutoSet".
          maximum: 31
          minimum: 0
          type: integer
        billToContact:
          $ref: '#/definitions/BillToContactPostOrder'
        communicationProfileId:
          type: string
        creditCard:
          $ref: '#/definitions/creditCard'
        creditMemoTemplateId:
          description: |
            **Note**: This field is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

            The unique ID of the credit memo template, configured in **Billing Settings** > **Manage Billing Document Configuration** through the Zuora UI. For example, 2c92c08a6246fdf101626b1b3fe0144b.
          type: string
        crmId:
          maxLength: 100
          type: string
        currency:
          description: 3 uppercase character currency code
          type: string
        customFields:
          $ref: '#/definitions/AccountObjectCustomFields'
        customerServiceRepName:
          description: 'Name of the account''s customer service representative, if
            applicable.

            '
          maxLength: 50
          type: string
        debitMemoTemplateId:
          description: |
            **Note**: This field is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

            The unique ID of the debit memo template, configured in **Billing Settings** > **Manage Billing Document Configuration** through the Zuora UI. For example, 2c92c08d62470a8501626b19d24f19e2.
          type: string
        hpmCreditCardPaymentMethodId:
          type: string
        invoiceDeliveryPrefsEmail:
          description: "Specifies whether to turn on the invoice delivery method 'Email'\
            \ for the new account. \nValues are: \n\n* `true` (default). Turn on the\
            \ invoice delivery method 'Email' for the new account.\n* `false`. Turn\
            \ off the invoice delivery method 'Email' for the new account.\n"
          type: boolean
        invoiceDeliveryPrefsPrint:
          description: "Specifies whether to turn on the invoice delivery method 'Print'\
            \ for the new account.\nValues are: \n\n* `true`. Turn on the invoice\
            \ delivery method 'Print' for the new account.\n* `false` (default). Turn\
            \ off the invoice delivery method 'Print' for the new account.\n"
          type: boolean
        invoiceTemplateId:
          type: string
        name:
          maxLength: 255
          type: string
        notes:
          maxLength: 65535
          type: string
        parentId:
          description: Identifier of the parent customer account for this Account
            object. Use this field if you have customer hierarchy enabled.
          type: string
        paymentGateway:
          maxLength: 40
          type: string
        paymentMethod:
          $ref: '#/definitions/PaymentMethod'
        paymentTerm:
          type: string
        purchaseOrderNumber:
          description: 'The number of the purchase order associated with this account.
            Purchase order information generally comes from customers.

            '
          maxLength: 100
          type: string
        salesRep:
          description: 'The name of the sales representative associated with this
            account, if applicable.

            '
          maxLength: 50
          type: string
        sequenceSetId:
          description: "The ID of the billing document sequence set to assign to the\
            \ customer account. \n\nThe billing documents to generate for this account\
            \ will adopt the prefix and starting document number configured in the\
            \ sequence set.\n"
          type: string
        soldToContact:
          $ref: '#/definitions/SoldToContactPostOrder'
        taxInfo:
          $ref: '#/definitions/TaxInfo'
      required:
      - name
      - currency
      - billCycleDay
      - billToContact
      type: object
    - $ref: '#/definitions/DataAccessControlField'
  AccountCreditCardHolder:
    description: 'Information about the cardholder of a credit card payment method
      associated with an account. If you do not provide information about the cardholder,
      Zuora uses the account''s bill-to contact.

      '
    properties:
      addressLine1:
        description: 'First line of the cardholder''s address.

          '
        maxLength: 255
        type: string
      addressLine2:
        description: 'Second line of the cardholder''s address.

          '
        maxLength: 255
        type: string
      cardHolderName:
        description: 'Full name of the cardholder as it appears on the card. For example,
          "John J Smith".

          '
        maxLength: 50
        type: string
      city:
        description: 'City of the cardholder''s address.

          '
        maxLength: 40
        type: string
      country:
        description: 'Country of the cardholder''s address. The value of this field
          must be a valid country name or abbreviation.

          '
        maxLength: 64
        type: string
      email:
        description: 'Email address of the cardholder.

          '
        maxLength: 80
        type: string
      phone:
        description: 'Phone number of the cardholder.

          '
        maxLength: 40
        type: string
      state:
        description: 'State or province of the cardholder''s address.

          '
        maxLength: 50
        type: string
      zipCode:
        description: 'ZIP code or other postal code of the cardholder''s address.

          '
        maxLength: 20
        type: string
    type: object
  AccountObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Account object. The name of each custom field
        has the form <code>*customField*__c</code>. Custom field names are case sensitive.
        See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of an Account object.

      '
    title: accountFieldsCustom
    type: object
  AccountObjectNSFields:
    description: 'Container for Account fields provided by the [Zuora Connector for
      NetSuite](https://www.zuora.com/connect/app/?appId=265).

      '
    properties:
      Class__NS:
        description: 'Value of the Class field for the corresponding customer account
          in NetSuite. Only available if you have installed the [Zuora Connector for
          NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      CustomerType__NS:
        description: 'Value of the Customer Type field for the corresponding customer
          account in NetSuite. The Customer Type field is used when the customer account
          is created in NetSuite. Only available if you have installed the [Zuora
          Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        enum:
        - Company
        - Individual
        type: string
      Department__NS:
        description: 'Value of the Department field for the corresponding customer
          account in NetSuite. Only available if you have installed the [Zuora Connector
          for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      IntegrationId__NS:
        description: 'ID of the corresponding object in NetSuite. Only available if
          you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      IntegrationStatus__NS:
        description: 'Status of the account''s synchronization with NetSuite. Only
          available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      Location__NS:
        description: 'Value of the Location field for the corresponding customer account
          in NetSuite. Only available if you have installed the [Zuora Connector for
          NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      Subsidiary__NS:
        description: 'Value of the Subsidiary field for the corresponding customer
          account in NetSuite. The Subsidiary field is required if you use NetSuite
          OneWorld. Only available if you have installed the [Zuora Connector for
          NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      SyncDate__NS:
        description: 'Date when the account was sychronized with NetSuite. Only available
          if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      SynctoNetSuite__NS:
        description: 'Specifies whether the account should be synchronized with NetSuite.
          Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        enum:
        - 'Yes'
        - 'No'
        type: string
    title: accountFieldsNetSuite
    type: object
  AccountingCodeObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Accounting Code object. The name of each
        custom field has the form <code>*customField*__c</code>. Custom field names
        are case sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of an Accounting Code object.

      '
    title: accountingCodeFieldsCustom
    type: object
  AccountingPeriodObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Accounting Period object. The name of each
        custom field has the form <code>*customField*__c</code>. Custom field names
        are case sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of an Accounting Period object.

      '
    title: accountingPeriodFieldsCustom
    type: object
  ActionAmendInvoiceData:
    properties:
      Invoice:
        $ref: '#/definitions/Invoice'
      InvoiceItem:
        description: ''
        items:
          $ref: '#/definitions/ActionAmendInvoiceItem'
        type: array
    type: object
  ActionAmendInvoiceItem:
    properties:
      AccountingCode:
        description: " The accounting code for the item's charge. Accounting codes\
          \ group transactions that contain similar accounting attributes.\n\n\n**Character\
          \ limit**: 100\n\n**Values**: inherited from `RatePlanCharge.AccountingCode` "
        type: string
      AppliedToInvoiceItemId:
        description: " Associates a discount invoice item to a specific invoice item.\n\
          \n\n**Character limit**: 32\n\n**Values**: inherited from the ID of the\
          \ charge that a discount applies to "
        type: string
      ChargeAmount:
        description: " The amount being charged for the invoice item. This amount\
          \ doesn't include taxes regardless if the charge's tax mode is inclusive\
          \ or exclusive.\n\n\n**Character limit**:\n\n**Values**: automatically calculated\
          \ from multiple fields in multiple objects "
        format: double
        type: number
      ChargeDate:
        description: " The date when the Invoice Item is created .\n\n\n**Character\
          \ limit**: 29\n\n**Values**: automatically generated "
        format: date-time
        type: string
      ChargeDescription:
        description: " A description of the invoice item's charge.\n\n\n**Character\
          \ limit**: 500\n\n**Values**: inherited from `RatePlanCharge.Description` "
        type: string
      ChargeId:
        description: " The ID of the rate plan charge that is associated with this\
          \ invoice item upon object creation.\n\n\n**Character limit**: 32\n\n**Values**:\
          \ inherited from `RatePlanCharge.Id` "
        type: string
      ChargeName:
        description: " The name of the invoice item's charge.\n**Character limi**t:\
          \ 50\n\n**Values: **inherited from `RatePlanCharge.Name` "
        type: string
      ChargeNumber:
        description: " The unique identifier of the invoice item's charge.\n\n\n**Character\
          \ limit:** 50\n\n**Values:** inherited from `RatePlanCharge.ChargeNumber` "
        type: string
      ChargeType:
        description: |2
           Specifies the type of charge.


          **Character limit**: 9

          **Values**: one of the following:

          - `OneTime`
          - `Recurring`
          - `Usage`
        type: string
      CreatedById:
        description: " The user ID of the person who created the invoice item.\n\n\
          \n**Character limit**: 32\n\n**Values**: automatically generated "
        type: string
      CreatedDate:
        description: " The date the invoice item was created.\n\n\n**Character limit:**\
          \ 29\n\n**Values**: automatically generated "
        format: date-time
        type: string
      InvoiceId:
        description: " The ID of the invoice that's associated with this invoice item.\n\
          \n\n**Character limit**: 32\n\n**Values**: inherited from `Invoice.Id` "
        type: string
      ProcessingType:
        description: |2
           Identifies the kind of charge where 0 is a charge, 1 is a discount, 2 is a prepayment, and 3 is a tax. The returned value is text not decimal on data sources.


          **Character limit**:

          **Values: **

          - 0: charge
          - 1: discount
          - 2: prepayment
          - 3: tax
        format: double
        type: number
      ProductDescription:
        description: " A description of the product associated with this invoice item.\n\
          \n\n**Character limit**: 500\n\n**Values**: inherited from `Product.Description` "
        type: string
      ProductId:
        description: " The ID of the product associated with this invoice item.\n\n\
          \n**Character limit**: 32\n\n**Values**: inherited from `Product.Id` "
        type: string
      ProductName:
        description: " The name of the product associated with this invoice item.\n\
          \n\n**Character limit**: 255\n\n**Values: **inherited from `Product.Name` "
        type: string
      ProductRatePlanChargeId:
        description: |2-
           The ID of the rate plan charge that's associated with this invoice item.


          **Character limit**: 32

          **Values**: inherited from `ProductRatePlanCharge.Id` You cannot query for this field. Only the subscribe preview and the amend preview calls will return the value of this field in the response.
        type: string
      Quantity:
        description: " The number of units for this invoice item.\n\n\n**Values**:\
          \ inherited from `RatePlanCharge.Quantity` "
        format: double
        type: number
      RatePlanChargeId:
        description: " The ID of the rate plan charge that's associated with this\
          \ invoice item.\n\n\n**Character limit**: 32\n\n**Values**: inherited from\
          \ `RatePlanCharge.Id` "
        type: string
      RevRecCode:
        description: " Associates this invoice item with a specific revenue recognition\
          \ code.\n\n\n**Character limit**: 32\n\n**Values**: inherited from `ProductRatePlanCharge.RevRecCode` "
        type: string
      RevRecStartDate:
        description: " The date when revenue recognition is triggered.\n\n\n**Character\
          \ limit**: 29\n\n**Values**: generated from `InvoiceItem.RevRecTriggerCondition` "
        format: date
        type: string
      RevRecTriggerCondition:
        description: " Specifies when revenue recognition begins based on a triggering\
          \ event.\n\n\n**Character limit**:\n\n**Values**: inherited from `ProductRatePlanCharge`.`RevRecTriggerCondition` "
        type: string
      SKU:
        description: " The unique SKU for the product associated with this invoice\
          \ item.\n\n\n**Character limit**: 255\n\n**Values**: inherited from `Product.SKU` "
        type: string
      ServiceEndDate:
        description: " The end date of the service period associated with this invoice\
          \ item. Service ends one second before the date in this value.\n\n\n**Character\
          \ limit**: 29\n\n**Values**: automatically generated "
        format: date
        type: string
      ServiceStartDate:
        description: " The start date of the service period associated with this invoice\
          \ item. If the associated charge is a one-time fee, then this date is the\
          \ date of that charge.\n\n\n**Character limit:** 29\n\n**Values**: automatically\
          \ generated "
        format: date
        type: string
      SubscriptionId:
        description: " The ID of the subscription associated with the invoice item.\n\
          \n\n**Character limit**: 32\n\n**Values**: inherited from `Subscription.Id` "
        type: string
      SubscriptionNumber:
        description: " The number of the subscription associated with the invoice\
          \ item.\n\n\n**Character limit**:\n\n**Values**: "
        type: string
      TaxAmount:
        description: " The amount of tax applied to the invoice item's charge.\n\n\
          \n**Character limit**:\n\n**Values**: calculated from multiple fields in\
          \ the ProductRatePlanCharge object "
        format: double
        type: number
      TaxCode:
        description: " Specifies the tax code for taxation rules.\n\n\n**Character\
          \ limit**: 6\n\n**Values**: inherited from `ProductRatePlanCharge.TaxCode` "
        type: string
      TaxExemptAmount:
        description: " The amount of the invoice item's charge that's tax exempt.\n\
          \n\n**Character limit**:\n\n**Values**: calculated from multiple fields\
          \ in the ProductRatePlanCharge object "
        format: double
        type: number
      TaxMode:
        description: " The tax mode of the invoice item.\n\n\n**Character limit**:\
          \ 12\n\n**Values**: `TaxExclusive`, `TaxInclusive` "
        type: string
      UOM:
        description: " Specifies the units to measure usage. Units of measure are\
          \ configured in the web-based UI: **Z-Billing > Settings**\n\n**Character\
          \ limit**:\n\n**Values**: inherited from `ProductRatePlanCharge.UOM` "
        type: string
      UnitPrice:
        description: " The per-unit price of the invoice item.\n\n\n**Character limit**:\n\
          \n**Values**: calculated from multiple fields in ProductRatePlanCharge and\
          \ ProductRatePlanChargeTier objets "
        format: double
        type: number
      UpdatedById:
        description: " The ID of the user who last updated the invoice item.\n\n\n\
          **Character limit**: 32\n\n**Values**: automatically generated "
        type: string
      UpdatedDate:
        description: " The date when the invoice item was last updated.\n\n\n**Character\
          \ limit**: 29\n\n**Values**: automatically generated "
        format: date-time
        type: string
    type: object
  ActionAmendSubscriptionProductFeature:
    properties:
      CreatedById:
        description: ''
        type: string
      CreatedDate:
        description: " Date and time when the product feature was added to the subscription.\n\
          \n\n**Character limit**: 29\n\n**Values**: "
        format: date-time
        type: string
      Description:
        description: " Description of the subscription product feature.\n\n\n**Character\
          \ limit**: 500\n\n**Values**: "
        type: string
      FeatureCode:
        description: " Unique code of the feature.\n\n\n**Character limit**: 255\n\
          \n**Values**: "
        type: string
      FeatureId:
        description: " Internal Zuora ID of the feature.\n\n\n**Character limit**:\
          \ 32\n\n**Values**: "
        type: string
      Name:
        description: " Name of the feature.\n\n\n**Character limit**: 255\n\n**Values**: "
        type: string
      RatePlanId:
        description: " Id of the product rate plan to which the feature belongs.\n\
          \n\n**Character limit**: 32\n\n**Values**: "
        type: string
      UpdatedById:
        description: " Internal Zuora ID of the user who last updated the subscription\
          \ product feature.\n\n\n**Character limit**: 32\n\n**Values**: "
        type: string
      UpdatedDate:
        description: " Date and time when the subscription product feature was last\
          \ updated.\n\n\n**Character limit**: 29\n\n**Values**: "
        format: date-time
        type: string
    type: object
  ActionSubscribeInvoiceData:
    properties:
      Invoice:
        $ref: '#/definitions/InvoiceDataInvoice'
      InvoiceItem:
        description: ''
        items:
          $ref: '#/definitions/ActionSubscribeInvoiceItem'
        type: array
    type: object
  ActionSubscribeInvoiceItem:
    allOf:
    - properties:
        AccountingCode:
          description: " The accounting code for the item's charge. Accounting codes\
            \ group transactions that contain similar accounting attributes.\n\n\n\
            **Character limit**: 100\n\n\n**Values**: inherited from `RatePlanCharge.AccountingCode` "
          type: string
        AppliedToChargeNumber:
          description: " The charge number that the discount charge is applied to.\
            \ This field is only for the invoice items that are discount charges.\
            \ This field is only returned in subscription previews.\nThis field will\
            \ be returned in the response if you specify the charge number in the\
            \ rate plan charges in the request.\n\n**Character limit**: 32\n\n**Values**:\
            \ inherited from `RatePlanCharge.ChargeNumber` for the charge associated\
            \ with the invoice item that the discount charge is applied to "
          type: string
        AppliedToInvoiceItemId:
          description: " Associates a discount invoice item to a specific invoice\
            \ item.\n\n**Character limit**: 32\n\n**Values**: inherited from the ID\
            \ of the charge that a discount applies to "
          type: string
        ChargeAmount:
          description: " The amount being charged for the invoice item. This amount\
            \ doesn't include taxes regardless if the charge's tax mode is inclusive\
            \ or exclusive.\n\n\n**Character limit**:\n\n\n**Values**: automatically\
            \ calculated from multiple fields in multiple objects "
          format: double
          type: number
        ChargeDate:
          description: " The date when the Invoice Item is created .\n\n\n**Character\
            \ limit**: 29\n\n\n**Values**: automatically generated "
          format: date-time
          type: string
        ChargeDescription:
          description: " A description of the invoice item's charge.\n\n\n**Character\
            \ limit**: 500\n\n\n**Values**: inherited from `RatePlanCharge.Description` "
          type: string
        ChargeId:
          description: " The ID of the rate plan charge that is associated with this\
            \ invoice item upon object creation.\n\n\n**Character limit**: 32\n\n\n\
            **Values**: inherited from `RatePlanCharge.Id` "
          type: string
        ChargeName:
          description: " The name of the invoice item's charge.\n**Character limi**t:\
            \ 50 **Values: **inherited from `RatePlanCharge.Name` "
          type: string
        ChargeNumber:
          description: " The unique identifier of the invoice item's charge.\n**Character\
            \ limit:** 50 **Values:** inherited from `RatePlanCharge.ChargeNumber` "
          type: string
        ChargeType:
          description: |2
             Specifies the type of charge.


            **Character limit**: 9


            **Values**: one of the following:

            - `OneTime`
            - `Recurring`
            - `Usage`
          type: string
        CreatedById:
          description: " The user ID of the person who created the invoice item.\n\
            \n\n**Character limit**: 32\n\n\n**Values**: automatically generated "
          type: string
        CreatedDate:
          description: " The date the invoice item was created.\n**Character limit:**\
            \ 29\n\n\n**Values**: automatically generated "
          format: date-time
          type: string
        InvoiceId:
          description: " The ID of the invoice that's associated with this invoice\
            \ item.\n\n\n**Character limit**: 32\n\n\n**Values**: inherited from `Invoice.Id` "
          type: string
        ProcessingType:
          description: |2
             Identifies the kind of charge where 0 is a charge, 1 is a discount, 2 is a prepayment, and 3 is a tax. The returned value is text not decimal on data sources.


            **Character limit**: **Values: **

            - 0: charge
            - 1: discount
            - 2: prepayment
            - 3: tax
          format: double
          type: number
        ProductDescription:
          description: " A description of the product associated with this invoice\
            \ item.\n\n\n**Character limit**: 500\n\n\n**Values**: inherited from\
            \ `Product.Description` "
          type: string
        ProductId:
          description: " The ID of the product associated with this invoice item.\n\
            \n\n**Character limit**: 32\n\n\n**Values**: inherited from `Product.Id` "
          type: string
        ProductName:
          description: " The name of the product associated with this invoice item.\n\
            \n\n**Character limit**: 255 **Values: **inherited from `Product.Name` "
          type: string
        ProductRatePlanChargeId:
          description: |2-
             The ID of the rate plan charge that's associated with this invoice item.


            **Character limit**: 32


            **Values**: inherited from `ProductRatePlanCharge.Id` You cannot `query
            ` for this field. Only the s`ubscribe
            ` preview and the `amend
            ` preview calls will return the value of this field in the response.
          type: string
        Quantity:
          description: " The number of units for this invoice item.\n\n\n\n**Values**:\
            \ inherited from `RatePlanCharge.Quantity` "
          format: double
          type: number
        RatePlanChargeId:
          description: " The ID of the rate plan charge that's associated with this\
            \ invoice item.\n\n\n**Character limit**: 32\n\n\n**Values**: inherited\
            \ from `RatePlanCharge.Id` "
          type: string
        RevRecCode:
          description: " Associates this invoice item with a specific revenue recognition\
            \ code.\n\n\n**Character limit**: 32\n\n\n**Values**: inherited from `ProductRatePlanCharge.RevRecCode` "
          type: string
        RevRecStartDate:
          description: " The date when revenue recognition is triggered.\n\n\n**Character\
            \ limit**: 29\n\n\n**Values**: generated from `InvoiceItem.RevRecTriggerCondition` "
          format: date
          type: string
        RevRecTriggerCondition:
          description: " Specifies when revenue recognition begins based on a triggering\
            \ event.\n\n\n**Character limit**:\n\n\n**Values**: inherited from `ProductRatePlanCharge`.`RevRecTriggerCondition` "
          type: string
        SKU:
          description: " The unique SKU for the product associated with this invoice\
            \ item.\n\n\n**Character limit**: 255\n\n\n**Values**: inherited from\
            \ `Product.SKU` "
          type: string
        ServiceEndDate:
          description: " The end date of the service period associated with this invoice\
            \ item. Service ends one second before the date in this value.\n\n\n**Character\
            \ limit**: 29\n\n\n**Values**: automatically generated "
          format: date
          type: string
        ServiceStartDate:
          description: " The start date of the service period associated with this\
            \ invoice item. If the associated charge is a one-time fee, then this\
            \ date is the date of that charge.\n**Character limit:** 29\n\n\n**Values**:\
            \ automatically generated "
          format: date
          type: string
        SubscriptionId:
          description: " The ID of the subscription associated with the invoice item.\n\
            \n\n**Character limit**: 32\n\n\n**Values**: inherited from `Subscription.Id` "
          type: string
        SubscriptionNumber:
          description: " The number of the subscription associated with the invoice\
            \ item.\n\n\n**Character limit**:\n\n\n**Values**: "
          type: string
        TaxAmount:
          description: " The amount of tax applied to the invoice item's charge.\n\
            \n\n**Character limit**:\n\n\n**Values**: calculated from multiple fields\
            \ in the ProductRatePlanCharge object "
          format: double
          type: number
        TaxCode:
          description: " Specifies the tax code for taxation rules.\n\n\n**Character\
            \ limit**: 6\n\n\n**Values**: inherited from `ProductRatePlanCharge.TaxCode` "
          type: string
        TaxExemptAmount:
          description: " The amount of the invoice item's charge that's tax exempt.\n\
            \n\n**Character limit**:\n\n\n**Values**: calculated from multiple fields\
            \ in the ProductRatePlanCharge object "
          format: double
          type: number
        TaxMode:
          description: " The tax mode of the invoice item.\n\n\n**Character limit**:\
            \ 12\n\n\n**Values**: `TaxExclusive`, `TaxInclusive` "
          type: string
        UOM:
          description: " Specifies the units to measure usage. Units of measure are\
            \ configured in the web-based UI: **Z-Billing > Settings**\n\n**Character\
            \ limit**:\n\n\n**Values**: inherited from `ProductRatePlanCharge.UOM` "
          type: string
        UnitPrice:
          description: " The per-unit price of the invoice item.\n\n\n**Character\
            \ limit**:\n\n\n**Values**: calculated from multiple fields in ProductRatePlanCharge\
            \ and ProductRatePlanChargeTier objets "
          format: double
          type: number
        UpdatedById:
          description: " The ID of the user who last updated the invoice item.\n\n\
            \n**Character limit**: 32\n\n\n**Values**: automatically generated "
          type: string
        UpdatedDate:
          description: " The date when the invoice item was last updated.\n\n\n**Character\
            \ limit**: 29\n\n\n**Values**: automatically generated "
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/InvoiceItemObjectNSFields'
    - $ref: '#/definitions/InvoiceItemObjectCustomFields'
  ActionsErrorResponse:
    properties:
      Code:
        description: ''
        type: string
      Message:
        description: ''
        type: string
    type: object
  AmendRequest:
    properties:
      AmendOptions:
        description: 'Use the `AmendOptions` container to specify billing options,
          such as invoice generation and when to process payments.

          '
        properties:
          ApplyCreditBalance:
            description: ''
            type: boolean
          ElectronicPaymentOptions:
            $ref: '#/definitions/ElectronicPaymentOptions'
          ExternalPaymentOptions:
            $ref: '#/definitions/ExternalPaymentOptions'
          GenerateInvoice:
            description: "Determines whether to generate an invoice to immediately\
              \ bill the customer for a new product or changes of Terms And Conditions.\
              \ As a best practice, set this value to true to prevent any errors that\
              \ might occur if the account has a balance.\n\n**Note:** \n* Even if\
              \ you do not include this field in the amend action, Zuora still parses\
              \ this field with the default value - `true`, when processing the amend\
              \ action. If you do not want to generate the invoice after creating\
              \ the New Product or Term And Condition amendment, set the value of\
              \ this field to `false` in the request.\n* If `EnablePreviewMode=true`\
              \ is specified in the PreviewOptions container, then preview mode will\
              \ be enabled and an invoice will not be generated, regardless of whether\
              \ `GenerateInvoice` is specified as `true` or `false`.\n"
            type: boolean
          InvoiceProcessingOptions:
            $ref: '#/definitions/InvoiceProcessingOptions'
          ProcessPayments:
            description: "Determines whether to collect payment against the invoice\
              \ generated by the amend() call. \n\n**Note:** \n* Even if you do not\
              \ include this field in the amend action, Zuora still parses this field\
              \ with the default value, true, when processing the amend action. If\
              \ you do not want to collect payment against the generated invoice after\
              \ creating the New Product or Term And Condition amendment, set the\
              \ value of this field to `false` in the request. \n* If you have the\
              \ Invoice Settlement feature enabled, Zuora does not support using this\
              \ field to collect payments against invoices.\n"
            type: boolean
        type: object
      Amendments:
        description: "The `Amendment` object holds the changes that you want to make\
          \ to the Subscription specified by the `SubscriptionId`, \nincluding its\
          \ `RatePlan`, `RatePlanCharge`, and `RatePlanChargeTier`.\n"
        items:
          $ref: '#/definitions/Amendment'
        type: array
      PreviewOptions:
        description: "Use the `PreviewOptions` container to preview an amendment before\
          \ committing its changes to a subscription. \nYou can use a preview to provide\
          \ a quote of the new charges to a customer before the customer commits to\
          \ the amended subscription. \nFor example, make an Amend call with an Amendment\
          \ object that removes an existing rate plan, \nanother Amendment object\
          \ that adds a new rate plan, and turn on the preview options.\n"
        properties:
          EnablePreviewMode:
            description: ' Determines whether to create an amendment or display a
              preview of the change.'
            type: boolean
          IncludeExistingDraftInvoiceItems:
            description: ' Specifies whether to include draft invoice items in amendment
              previews.'
            type: boolean
          NumberOfPeriods:
            description: ' Indicates the number of invoice periods to show in a preview.'
            format: int32
            type: integer
          PreviewThroughTermEnd:
            description: ' Request to preview the charge through the end of the subscription
              term.'
            type: boolean
          PreviewType:
            description: ' The type of preview you will receive from a preview request.'
            type: string
        type: object
    required:
    - Amendments
    type: object
  AmendResult:
    properties:
      AmendmentIds:
        description: 'A list of the IDs of the associated amendments. There can be
          as many as three amendment IDs. Use a comma to separate each amendment ID.

          '
        items:
          type: string
        type: array
      ChargeMetricsData:
        $ref: '#/definitions/ChargeMetricsData'
      Errors:
        description: ''
        items:
          $ref: '#/definitions/ActionsErrorResponse'
        type: array
      GatewayResponse:
        description: ''
        type: string
      GatewayResponseCode:
        description: ''
        type: string
      InvoiceDatas:
        description: ''
        items:
          $ref: '#/definitions/ActionAmendInvoiceData'
        type: array
      InvoiceId:
        description: ''
        type: string
      PaymentId:
        description: ''
        type: string
      PaymentTransactionNumber:
        description: ''
        type: string
      SubscriptionId:
        description: ''
        type: string
      Success:
        description: ''
        type: boolean
      TotalDeltaMrr:
        description: ''
        format: double
        type: number
      TotalDeltaTcv:
        description: ''
        format: double
        type: number
    type: object
  Amendment:
    properties:
      AutoRenew:
        description: " Determines whether the subscription is automatically renewed,\
          \ or whether it expires at the end of the term and needs to be manually\
          \ renewed. For amendment of type `TermsAndConditions`, this field is only\
          \ required if you change the automatic renewal status of a subscription.\n\
          \n\n**Values**: true, false "
        type: boolean
      Code:
        description: |2
           A unique alphanumeric string that identifies the amendment.


          **Character limit**: 50

          **Values**: automatically generated
        type: string
      ContractEffectiveDate:
        description: ' The date when the amendment''s changes become effective for
          billing purposes.

          '
        format: date
        type: string
      CreatedById:
        description: " The user ID of the person who created the amendment.\n\n\n\
          **Character limit**: 32\n\n**Values**: automatically generated "
        type: string
      CreatedDate:
        description: " The date when the amendment was created.\n\n\n**Values**: automatically\
          \ generated "
        format: date-time
        type: string
      CurrentTerm:
        description: " The length of the period for the current subscription term.\
          \ This field can be updated when Status is `Draft`.\n\nThis field is only\
          \ required if the `Type` field is set to `TermsAndConditions` and `TermType`\
          \ is set to `TERMED`. This field is not required if `TermType` is set to\
          \ `EVERGREEN`.\n\n\n**Values**: a valid number "
        format: int64
        type: integer
      CurrentTermPeriodType:
        description: |2
           The period type for the current subscription term. This field is only required if the `Type` field is set to `TermsAndConditions` and `TermType` is set to `TERMED`. This field is not required if `TermType` is set to `EVERGREEN`.

          **Values**:

          - `Month` (default)
          - `Year`
          - `Day`
          - `Week`


          **Note**:

          - This field can be updated when Status is `Draft`.
          - This field is used with the CurrentTerm field to specify the current subscription term.
        type: string
      CustomerAcceptanceDate:
        description: |
          The date when the customer accepts the amendment's changes to the subscription.

          This field is only required if [Zuora is configured to require customer acceptance in Z-Billing](https://knowledgecenter.zuora.com/CB_Billing/W_Billing_and_Payments_Settings/Define_Default_Subscription_Settings) and the subscription is currently in the Pending Acceptance status (the value of the `Status` field is currently `PendingAcceptance`).

          Use this field together with the `Status` field. When you set a date in this field as a customer acceptance date, you should also set the `Status` field as `Completed`.
        format: date
        type: string
      Description:
        description: " A description of the amendment.\n\n\n**Character limit**: 500\n\
          \n**Values**: maximum 500 characters "
        type: string
      DestinationAccountId:
        description: " The ID of the subscription owner that the subscription is being\
          \ transferred to.\n\n\n**Character limit**: 32\n\n**Values**: a valid account\
          \ ID "
        type: string
      DestinationInvoiceOwnerId:
        description: " The ID of the invoice owner that the subscription is being\
          \ transferred to.\n\n\n**Character limit**: 32\n\n**Values**: a valid invoice\
          \ ID "
        type: string
      EffectiveDate:
        description: |2+
           The date when the amendment's changes take effective. This field validates that the amendment's changes are within valid ranges of products and product rate plans.
          This field is only required if the `Type` field is set to `Cancellation`.

        format: date
        type: string
      Name:
        description: " The name of the amendment.\n\n\n**Character limit**: 100\n\n\
          **Values**: a string of 100 characters or fewer "
        type: string
      RatePlanData:
        description: 'A container for one `RatePlanData`. This field is only required
          if the `Type` field is set to `NewProduct`, `RemoveProduct`, or `UpdateProduct`.

          '
        properties:
          RatePlan:
            $ref: '#/definitions/RatePlan'
          RatePlanChargeData:
            description: ''
            items:
              $ref: '#/definitions/RatePlanChargeDataInRatePlanData'
            type: array
          SubscriptionProductFeatureList:
            $ref: '#/definitions/SubscriptionProductFeatureList'
        required:
        - RatePlan
        type: object
      RenewalSetting:
        description: " Specifies whether a termed subscription will remain termed\
          \ or change to evergreen when it is renewed.\n\nThis field is only required\
          \ if the `TermType` field is set to `Termed`.\n\n\n**Values**: RENEW_WITH_SPECIFIC_TERM\
          \ (default), RENEW_TO_EVERGREEN "
        type: string
      RenewalTerm:
        description: " The term of renewal for the amended subscription. This field\
          \ can be updated when Status is `Draft`.\nThis field is only required if\
          \ the `Type` field is set to `TermsAndConditions`.\n\n\n**Values:** a valid\
          \ number "
        format: int64
        type: integer
      RenewalTermPeriodType:
        description: |2
           The period type for the subscription renewal term. This field can be updated when Status is `Draft`.
          **Required**: Only if the value of the Type field is set to `TermsAndConditions`. This field is used with the RenewalTerm field to specify the subscription renewal term.


          **Values**:

          - `Month` (default)
          - `Year`
          - `Day`
          - `Week`
        type: string
      ResumeDate:
        description: |
          The date when the subscription resumption takes effect. See [Resume Date](https://knowledgecenter.zuora.com/BC_Subscription_Management/Subscriptions/Resume_a_Subscription#Resume_Date) for more information.

          This field is only required if you resume a suspended subscription.

          **Note:** This feature is in **Limited Availability**. If you want to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
        format: date
        type: string
      ServiceActivationDate:
        description: |
          The date when service is activated.

          This field is only required if [Zuora is configured to require service activation in Z-Billing](https://knowledgecenter.zuora.com/CB_Billing/W_Billing_and_Payments_Settings/Define_Default_Subscription_Settings) and the subscription is currently in the Pending Activation status (the value of the `Status` field is currently `PendingActivation`).

          Use this field together with the `Status` field. When you set a date in this field as a service activation date, you should also set the `Status` field as the expected next phase status: `Completed` or `PendingAcceptance`.
        format: date
        type: string
      SpecificUpdateDate:
        description: |
          The date when the UpdateProduct amendment takes effect. This field is only applicable if there is already a future-dated UpdateProduct amendment on the subscription.


          For the UpdateProduct amendments, this field is only required if there is already a future-dated UpdateProduct amendment on the subscription.
        format: date
        type: string
      Status:
        description: |2
           The status of the amendment. Type: string (enum)



          **Values**: one of the following:

          - Draft (default, if left null)
          - Pending Activation
          - Pending Acceptance
          - Completed
        type: string
      SubscriptionId:
        description: " The ID of the subscription that the amendment changes.\n\n\n\
          **Character limit**: 32\n\n**Values**: a valid subscription ID "
        type: string
      SuspendDate:
        description: |
          The date when the subscription suspension takes effect. See [Suspend Date](https://knowledgecenter.zuora.com/BC_Subscription_Management/Subscriptions/Suspend_a_Subscription#Suspend_Date) for more information.

          This field is only required if you suspend an active subscription.

          **Note:** This feature is in **Limited Availability**. If you want to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
        format: date
        type: string
      TermStartDate:
        description: |2
           The date when the new terms and conditions take effect.
          This field is only required if the `Type` field is set to `TermsAndConditions`.
        format: date
        type: string
      TermType:
        description: " Indicates if the subscription isTERMED or EVERGREEN.\n\n- A\
          \ TERMED subscription has an expiration date, and must be manually renewed.\n\
          - An EVERGREEN subscription doesn't have an expiration date, and must be\
          \ manually ended.\n\nWhen as part of an amendment of type `TermsAndConditions`,\
          \ this field is required to change the term type of a subscription.\n\n\n\
          **Character limit**: 9\n\n**Values**: TERMED, EVERGREEN "
        type: string
      Type:
        description: |2
           The type of amendment.


          **Character limit**: 18



          **Values**: one of the following:

          - Cancellation
          - NewProduct
          - OwnerTransfer (If this value is chosen, the `ContractEffectiveDate`, `ServiceActivationDate`, and `CustomerAcceptanceDate` fields will all be automatically set to today's date, and any values passed from the API are ignored.)
          - RemoveProduct
          - Renewal
          - UpdateProduct
          - TermsAndConditions
          - SuspendSubscription (This value is in **Limited Availability**.)
          - ResumeSubscription (This value is in **Limited Availability**.)
        type: string
      UpdatedById:
        description: " The ID of the user who last updated the amendment.\n\n\n**Character\
          \ limit**: 32\n\n**Values**: automatically generated "
        type: string
      UpdatedDate:
        description: " The date when the amendment was last updated.\n\n\n**Values**:\
          \ automatically generated "
        format: date-time
        type: string
    required:
    - SubscriptionId
    - Type
    - ContractEffectiveDate
    - Name
    type: object
  AmendmentObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Amendment object. The name of each custom
        field has the form <code>*customField*__c</code>. Custom field names are case
        sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of an Amendment object.

      '
    title: amendmentFieldsCustom
    type: object
  AmendmentRatePlanChargeData:
    properties:
      RatePlanCharge:
        $ref: '#/definitions/AmendmentRatePlanChargeDataRatePlanCharge'
      RatePlanChargeTier:
        description: ''
        items:
          $ref: '#/definitions/AmendmentRatePlanChargeTier'
        type: array
    required:
    - RatePlanCharge
    type: object
  AmendmentRatePlanChargeDataRatePlanCharge:
    allOf:
    - properties:
        BillCycleType:
          description: " Specifies how to determine the billing day for the charge.\n\
            \n\n**Character limit**: 20\n\n\n**Values**: inherited from `ProductRatePlanCharge.BillCycleType`\
            \ **Note:** You can override the value inherited from the Product Rate\
            \ Plan Charge, but only when creating a new subscription or a New Product\
            \ amendment. "
          type: string
        BillingPeriod:
          description: " Allows billing period to be overridden on rate plan charge.\n\
            \n\n\n**Values**: inherited from `ProductRatePlanCharge.BillingPeriod`\
            \ **Note:** You can override the value inherited from the Product Rate\
            \ Plan Charge, but only when creating a new subscription or a New Product\
            \ amendment. "
          type: string
        BillingTiming:
          description: |2+
             The billing timing for the charge. You can choose to bill in advance or in arrears for recurring charge types. This field is not used in one-time or usage based charge types.


            **Character limit**:


            **Values**: one of the following:

            - I`n Advance`
            - `In Arrears`
            **Note:** You can override the value inherited from the Product Rate Plan Charge when a subscription has a recurring charge type.
            This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

          type: string
        ChargeNumber:
          description: |2
             A unique number that identifies the charge. This number is returned as a string.


            **Character limit**: 50


            **Values**: one of the following:

            - automatically generated if left null
            - a unique number of 50 characters or fewer
          type: string
        DiscountAmount:
          description: " Specifies the amount of a fixed-amount discount. You can\
            \ provide a value for this field if the `ChargeModel` field value is `Discount-Fixed\
            \ Amount`. If this field is included in a query, the query will filter\
            \ out the rate plans whose `ChargeModel` field is not of a Discount type.\
            \ You cannot query this field with the following fields in a single query:\n\
            \n- Price\n- IncludedUnits\n- DiscountPercentage\n- OveragePrice\n\n\n\
            **Character limit**: 16\n\n\n**Values**: a valid currency amount "
          format: decimal
          type: string
        DiscountPercentage:
          description: ' Query Filter '
          format: decimal
          type: string
        EndDateCondition:
          description: " Defines when the charge ends after the charge trigger date.\
            \ This field can be updated when **Status** is `Draft`.\n\n\n\n**Values**:\
            \ one of the following:\n\n- `SubscriptionEnd`: The charge ends on the\
            \ subscription end date after the charge trigger date. This is the default\
            \ value.\n- `FixedPeriod`: The charge ends after a specified period based\
            \ on the trigger date of the charge. If you set this field to `FixedPeriod`,\
            \ you must specify the length of the period and a period type by defining\
            \ the `UpToPeriods` and `UpToPeriodsType` fields.\n- `SpecificEndDate`:\
            \ The specific date on which the charge ends. If you set this field to\
            \ `SpecificEndDate`, you must specify the specific date by defining the\
            \ `SpecificEndDate` field.\n\n\n\n**Note**: If the subscription ends before\
            \ the charge end date, the charge ends when the subscription ends. But\
            \ if the subscription end date is subsequently changed through a Renewal,\
            \ or Terms and Conditions amendment, the charge will end on the charge\
            \ end date. "
          type: string
        ListPriceBase:
          description: |
            The list price base for the product rate plan charge.


            **Values**: one of the following:

            - `Per Month`
            - `Per Billing Period`
            - `Per Week`
          type: string
        Price:
          description: ' Query Filter '
          format: decimal
          type: string
        PriceChangeOption:
          description: |2
             Applies an automatic price change when a termed subscription is renewed.


            **Character limit**:


            **Values**: one of the following:

            - `NoChange` (default)
            - `SpecificPercentageValue`
            - `UseLatestProductCatalogPricing`
          type: string
        PriceIncreasePercentage:
          description: " Specifies the percentage to increase or decrease the price\
            \ of renewed subscriptions. Use this field if the `ProductRatePlanCharge`.`PriceChangeOption`\
            \ value is set to `SpecificPercentageValue`.\n\n\n**Character limit**:\
            \ 16\n\n\n**Values**: a decimal value between -100 and 100 "
          format: decimal
          type: string
        ProductRatePlanChargeId:
          description: ''
          type: string
        Quantity:
          description: " The default quantity of units, such as the number of authors\
            \ in a hosted wiki service. Valid for all charge models except for Flat\
            \ Fee pricing. This field is only rquired if the charge model is tiered\
            \ pricing or volume pricing.\n\n\n**Character limit**: 16\n\n\n**Values**:\
            \ a valid quantity value "
          format: double
          type: number
        RatingGroup:
          description: "Specifies a rating group based on which usage records are\
            \ rated. **Note:** This feature is in **Limited Availability**. If you\
            \ wish to have access to the feature, submit a request at [Zuora Global\
            \ Support](http://support.zuora.com/).\n\nValues:\n\n* `ByBillingPeriod`\
            \ (default): The rating is based on all the usages in a billing period.\
            \       \n* `ByUsageStartDate`: The rating is based on all the usages\
            \ on the same usage start date. \n* `ByUsageRecord`: The rating is based\
            \ on each usage record.\n* `ByUsageUpload`: The rating is based on all\
            \ the usages in a uploaded usage file (.xls or .csv).\n\n**Note:**\n\n\
            The `ByBillingPeriod` value can be applied for all charge models.\nThe\
            \ `ByUsageStartDate`, `ByUsageRecord`, and `ByUsageUpload` values can\
            \ only be applied for per unit, volume pricing, and tiered pricing charge\
            \ models.\nUse this field only for Usage charges. One-Time Charges and\
            \ Recurring Charges return `NULL`.\n"
          type: string
        RevRecCode:
          description: " Associates this product rate plan charge with a specific\
            \ revenue recognition code.\n\n\n**Character limit**: 70\n\n\n**Values**:\
            \ a valid revenue recognition code "
          type: string
        RevRecTriggerCondition:
          description: |2+
             Specifies when revenue recognition begins.


            **Character limit**: 22


            **Values**: one of the following:

            -  `ContractEffectiveDate`

            -  `ServiceActivationDate`

            -  `CustomerAcceptanceDate`

          type: string
        RevenueRecognitionRuleName:
          description: " Specifies the Revenue Recognition Rule that you want the\
            \ Rate Plan Charge to use. This field can be updated when **Status** is\
            \ `Draft`. By default, the Revenue Recognition Rule is inherited from\
            \ the Product Rate Plan Charge. For Amend\ncalls, you can use this field\
            \ only for NewProduct amendments. For Update\ncalls, you can use this\
            \ field only to update subscriptions in draft status. Note that if you\
            \ use this field to specify a Revenue Recognition Rule for the Rate Plan\
            \ Charge, the rule will remain as specified even if you later change the\
            \ rule used by the corresponding Product Rate Plan Charge. See [Z-Billing\
            \ User Role](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/d_Billing_Roles)\
            \ permission enabled to use this field.\n\n\n\n**Character limit**: n/a\n\
            \n\n**Values**: name of an active Revenue Recognition Rule "
          type: string
        SpecificBillingPeriod:
          description: " Customizes the number of months or weeks for the charges\
            \ billing period. This field is only required if you set the value of\
            \ the `BillingPeriod` field to `Specific Months` or `Specific Weeks`.\n\
            \n\n**Character limit**: 5\n\n\n**Values**: inherited from `ProductRatePlanCharge.BillingPeriod`\
            \ **Note:** You can override the value inherited from the Product Rate\
            \ Plan Charge, but only when creating a new subscription or a New Product\
            \ amendment. "
          format: int64
          type: integer
        SpecificEndDate:
          description: |2
             The specific date on which the charge ends, in `yyyy-mm-dd` format.


            **Character limit**: 29



            **Note**:

            - This field is only applicable when the `EndDateCondition` field is set to `SpecificEndDate`.
            - If the subscription ends before the specific end date, the charge ends when the subscription ends. But if the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge will end on the specific end date.
          format: date
          type: string
        TriggerDate:
          description: |2+
             The date when the charge becomes effective and billing begins, in `yyyy-mm-dd` format. This field is only required if the `TriggerEvent` field is set to `SpecificDate`.


            **Character limit**: 29

          format: date
          type: string
        TriggerEvent:
          description: |2
             Specifies when to start billing the customer for the charge.
            **Note: **This field can be passed through the subscribe
            and amend
            calls and will override the default value set on the Product Rate Plan Charge.


            **Character limit**: 18


            **Values**: inherited from `ProductRatePlanCharge.TriggerEvent` and can be one of the following values:

            - `ContractEffective `is the date when the subscription's contract goes into effect and the charge is ready to be billed.
            - `ServiceActivationDate `is when the services or products for a subscription have been activated and the customers have access.
            - `CustomerAcceptance `is when the customer accepts the services or products for a subscription.
            - SpecificDate is valid only on the RatePlanCharge.
          type: string
        UpToPeriods:
          description: |2
             Specifies the length of the period during which the charge is active. If this period ends before the subscription ends, the charge ends when this period ends.


            **Character limit**: 5


            **Values**: inherited from `ProductRatePlanCharge.UpToPeriods`

            **Note**:

            - You must use this field together with the `UpToPeriodsType` field to specify the time period. This field is only applicable only when the `EndDateCondition` field is set to `FixedPeriod`.
            - You can override the value inherited from the Product Rate Plan Charge, but only when creating a new subscription or a New Product amendment.
            - Use this field to override the value in `ProductRatePlanCharge.UpToPeriod`.
            - If you override the value in this field, enter a whole number between 0 and 65535, exclusive.
            - If the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge end date will change accordingly up to the original period end.
          format: int64
          type: integer
        UpToPeriodsType:
          description: |2
             The period type used to define when the charge ends. This field can be updated when **Status** is `Draft`.


            **Values**: one of the following:

            - `Billing Periods` (default)
            - `Days`
            - `Weeks`
            - `Months`
            - `Years`


            **Note**:

            - You must use this field together with the `UpToPeriods` field to specify the time period.
            - This field is only applicable only when the `EndDateCondition` field is set to `FixedPeriod`.
          type: string
        WeeklyBillCycleDay:
          description: |2
             Specifies which day of the week as the bill cycle day (BCD) for the charge.
            This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).




            **Values**: one of the following:

            - `Sunday`
            - `Monday`
            - `Tuesday`
            - `Wednesday`
            - `Thursday`
            - `Friday`
            - `Saturday`
          type: string
      required:
      - ProductRatePlanChargeId
      type: object
    - $ref: '#/definitions/RatePlanChargeObjectCustomFields'
    title: RatePlanCharge
  AmendmentRatePlanChargeTier:
    properties:
      PriceFormat:
        description: " Indicates if the price is a flat fee or is per unit.\n\n\n\
          **Character limit**: 8\n\n\n**Values**: `Flat Fee`, `Per Unit` "
        type: string
      RatePlanChargeId:
        description: " The ID of the subscription or amendment rate plan charge associated\
          \ with this tier. You can't create an unassociated tier.\n\n\n**Character\
          \ limit**: 32\n\n\n**Values**: inherited from `RatePlanCharge`.`Id` "
        type: string
    required:
    - RatePlanChargeId
    type: object
  ApplyCreditMemoType:
    example:
      effectiveDate: '2017-03-02'
      invoices:
      - amount: 1
        invoiceId: 4028905f5a87c0ff015a87d3f8f10043
        items:
        - amount: 0.9
          creditMemoItemId: 4028905f5a890526015a8d73f74b0016
          invoiceItemId: 4028905f5a87c0ff015a87d3f90c0045
        - amount: 0.1
          creditTaxItemId: 4028905f5a890526015a8d73f90c0018
          taxItemId: 4028905f5a87c0ff015a87d3f884003f
    properties:
      debitMemos:
        description: 'Container for debit memos that the credit memo is applied to.

          '
        items:
          $ref: '#/definitions/CreditMemoApplyDebitMemoRequestType'
        type: array
      effectiveDate:
        description: 'The date when the credit memo is applied.

          '
        format: date
        type: string
      invoices:
        description: 'Container for invoices that the credit memo is applied to.

          '
        items:
          $ref: '#/definitions/CreditMemoApplyInvoiceRequestType'
        type: array
    type: object
  ApplyPaymentType:
    example:
      debitMemos:
      - amount: 1.02
        debitMemoId: 4028905f5a87c0ff015a87e49e6b0062
        items:
        - amount: 1
          debitMemoItemId: 4028905f5a87c0ff015a87e49e7a0063
        - amount: 0.02
          taxItemId: 4028905f5a87c0ff015a87e49f5e0065
      effectiveDate: '2017-03-01'
      invoices:
      - amount: 10.1
        invoiceId: 4028905f5a87c0ff015a87d3f8f10043
        items:
        - amount: 10
          invoiceItemId: 4028905f5a87c0ff015a87d3f90c0045
        - amount: 0.1
          taxItemId: 4028905f5a87c0ff015a87d3f884003f
    properties:
      debitMemos:
        description: 'Container for debit memos.

          '
        items:
          $ref: '#/definitions/PaymentDebitMemoApplicationApplyRequestType'
        type: array
      effectiveDate:
        description: 'The date when the payment application takes effect, in `yyyy-mm-dd`
          format.

          '
        format: date
        type: string
      invoices:
        description: 'Container for invoices.

          '
        items:
          $ref: '#/definitions/PaymentInvoiceApplicationApplyRequestType'
        type: array
    type: object
  BadRequestResponse:
    properties:
      Errors:
        items:
          properties:
            code:
              description: The error code.
              type: string
            status:
              description: The status of the response.
              type: string
            title:
              description: The reason for the error.
              type: string
          type: object
        type: array
    type: object
  BatchDebitMemoType:
    properties:
      dueDate:
        description: 'The date by which the payment for the debit memo is due, in
          `yyyy-mm-dd` format.

          '
        format: date
        type: string
      id:
        description: 'The ID of the debit memo to be updated.

          '
        type: string
    title: debitMemos
    type: object
  BatchInvoiceType:
    properties:
      autoPay:
        description: "Whether invoices are automatically picked up for processing\
          \ in the corresponding payment run. \n\nBy default, invoices are automatically\
          \ picked up for processing in the corresponding payment run.\n"
        type: boolean
      dueDate:
        description: "The date by which the payment for this invoice is due. \n"
        format: date
        type: string
      id:
        description: 'The ID of the invoice to be updated.

          '
        type: string
      invoiceDate:
        description: |
          The new invoice date of the invoice. The new invoice date cannot fall in a closed accounting period.

          You can only specify `invoiceDate` or `dueDate` in one request. Otherwise, an error occurs.
        format: date
        type: string
      transferredToAccounting:
        description: 'Whether the invoice was transferred to an external accounting
          system.

          '
        enum:
        - Processing
        - 'Yes'
        - Error
        - Ignore
        type: string
    title: invoices
    type: object
  BillToContact:
    allOf:
    - description: 'Contact details associated with an account.

        '
      properties:
        address1:
          description: 'First line of the contact''s address. This is often a street
            address or a business name.

            '
          maxLength: 255
          type: string
        address2:
          description: 'Second line of the contact''s address.

            '
          maxLength: 255
          type: string
        city:
          description: 'City of the contact''s address.

            '
          maxLength: 40
          type: string
        country:
          description: 'Country; must be a valid country name or abbreviation. If
            using Zuora Tax, you must specify a country in the bill-to contact to
            calculate tax.

            '
          maxLength: 64
          type: string
        county:
          description: 'County of the contact''s address.

            '
          maxLength: 32
          type: string
        fax:
          description: 'Fax number of the contact.

            '
          maxLength: 40
          type: string
        firstName:
          description: 'First name of the contact.

            '
          maxLength: 100
          type: string
        homePhone:
          description: 'Home phone number of the contact.

            '
          maxLength: 40
          type: string
        lastName:
          description: 'Last name of the contact.

            '
          maxLength: 100
          type: string
        mobilePhone:
          description: 'Mobile phone number of the contact.

            '
          maxLength: 40
          type: string
        nickname:
          description: 'Nickname of the contact.

            '
          maxLength: 100
          type: string
        otherPhone:
          description: 'Additional phone number of the contact. Use the `otherPhoneType`
            field to specify the type of phone number.

            '
          maxLength: 40
          type: string
        otherPhoneType:
          description: 'Specifies the type of phone number in the `otherPhone` field.

            '
          enum:
          - Work
          - Mobile
          - Home
          - Other
          type: string
        personalEmail:
          description: 'Personal email address of the contact.

            '
          format: email
          maxLength: 80
          type: string
        postalCode:
          description: 'ZIP code or other postal code of the contact''s address.

            '
          maxLength: 20
          type: string
        state:
          description: 'State or province of the contact''s address.

            '
          maxLength: 40
          type: string
        taxRegion:
          description: 'Region defined in your taxation rules. Only applicable if
            you use Zuora Tax.

            '
          maxLength: 32
          type: string
        workEmail:
          description: 'Business email address of the contact.

            '
          format: email
          maxLength: 80
          type: string
        workPhone:
          description: 'Business phone number of the contact.

            '
          maxLength: 40
          type: string
      required:
      - firstName
      - lastName
      type: object
    - $ref: '#/definitions/ContactObjectCustomFields'
  BillToContactPostOrder:
    allOf:
    - description: 'Contact details associated with an account.

        '
      properties:
        address1:
          description: 'First line of the contact''s address. This is often a street
            address or a business name.

            '
          maxLength: 255
          type: string
        address2:
          description: 'Second line of the contact''s address.

            '
          maxLength: 255
          type: string
        city:
          description: 'City of the contact''s address.

            '
          maxLength: 40
          type: string
        contactDescription:
          description: 'A description for the contact.

            '
          maxLength: 100
          type: string
        country:
          description: 'Country; must be a valid country name or abbreviation. If
            using Zuora Tax, you must specify a country in the bill-to contact to
            calculate tax.

            '
          maxLength: 64
          type: string
        county:
          description: 'County of the contact''s address.

            '
          maxLength: 32
          type: string
        fax:
          description: 'Fax number of the contact.

            '
          maxLength: 40
          type: string
        firstName:
          description: 'First name of the contact.

            '
          maxLength: 100
          type: string
        homePhone:
          description: 'Home phone number of the contact.

            '
          maxLength: 40
          type: string
        lastName:
          description: 'Last name of the contact.

            '
          maxLength: 100
          type: string
        mobilePhone:
          description: 'Mobile phone number of the contact.

            '
          maxLength: 40
          type: string
        nickname:
          description: 'Nickname of the contact.

            '
          maxLength: 100
          type: string
        otherPhone:
          description: 'Additional phone number of the contact. Use the `otherPhoneType`
            field to specify the type of phone number.

            '
          maxLength: 40
          type: string
        otherPhoneType:
          description: 'Specifies the type of phone number in the `otherPhone` field.

            '
          enum:
          - Work
          - Mobile
          - Home
          - Other
          type: string
        personalEmail:
          description: 'Personal email address of the contact.

            '
          format: email
          maxLength: 80
          type: string
        postalCode:
          description: 'ZIP code or other postal code of the contact''s address.

            '
          maxLength: 20
          type: string
        state:
          description: 'State or province of the contact''s address.

            '
          maxLength: 40
          type: string
        taxRegion:
          description: 'Region defined in your taxation rules. Only applicable if
            you use Zuora Tax.

            '
          maxLength: 32
          type: string
        workEmail:
          description: 'Business email address of the contact.

            '
          format: email
          maxLength: 80
          type: string
        workPhone:
          description: 'Business phone number of the contact.

            '
          maxLength: 40
          type: string
      required:
      - firstName
      - lastName
      type: object
    - $ref: '#/definitions/ContactObjectCustomFields'
  BillingDocumentQueryResponseElementType:
    properties:
      documents:
        description: 'Container for billing documents.

          '
        items:
          $ref: '#/definitions/GETBillingDocumentsResponseType'
        type: array
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  BillingOptions:
    properties:
      documentDate:
        format: date
        type: string
      targetDate:
        format: date
        type: string
    type: object
  BillingPreviewResult:
    properties:
      accountId:
        description: 'ID of the customer account to which the billing preview applies.

          '
        type: string
      creditMemoItems:
        description: |
          An array of credit memo items returned as the result of the billing preivew request.

          **Note:** The credit memo items are only available if you have Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
        items:
          $ref: '#/definitions/POSTBillingPreviewCreditMemoItem'
        type: array
      invoiceItems:
        description: 'An array of invoice items returned as the result of the billing
          preview request.

          '
        items:
          $ref: '#/definitions/POSTBillingPreviewInvoiceItem'
        type: array
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  BillingUpdate:
    properties:
      billingPeriodAlignment:
        enum:
        - AlignToCharge
        - AlignToSubscriptionStart
        - AlignToTermStart
        type: string
    type: object
  BodyInSettingValueReponse:
    additionalProperties: true
    description: Response body if the request is executed successfully.
    title: settingsResponseBody
    type: object
  BodyInSettingValueRequest:
    additionalProperties: true
    description: Request payload if any
    title: settingsRequestBody
    type: object
  CalloutAuth:
    description: If requiredAuth is true, this object is required.
    properties:
      domain:
        description: The domain of the callout auth.
        type: string
      password:
        description: The field is required when requiredAuth is true.
        type: string
      preemptive:
        description: Set this field to `true` if you want to enable the preemptive
          authentication.
        type: boolean
      username:
        description: The field is required when requiredAuth is true.
        type: string
    type: object
  CalloutMergeFields:
    additionalProperties:
      description: 'The key is the parameter name. The value is a merge field with
        angle brackets.

        '
      type: string
    description: 'A key-value map of merge fields of this callout.

      '
    title: calloutParams
    type: object
  CancelSubscription:
    description: 'Information about an order action of type `CancelSubscription`.

      '
    properties:
      cancellationEffectiveDate:
        format: date
        type: string
      cancellationPolicy:
        enum:
        - EndOfCurrentTerm
        - EndOfLastInvoicePeriod
        - SpecificDate
        type: string
    required:
    - cancellationPolicy
    title: cancelSubscription
    type: object
  ChargeMetricsData:
    properties:
      ChargeMetrics:
        description: ''
        items:
          $ref: '#/definitions/NewChargeMetrics'
        type: array
    type: object
  ChargeOverride:
    description: 'Charge associated with a rate plan.

      '
    properties:
      billing:
        description: 'Billing information about the charge.

          '
        properties:
          billCycleDay:
            description: 'Day of the month that each billing period begins on. Only
              applicable if the value of the `billCycleType` field is `SpecificDayofMonth`.

              '
            maximum: 31
            minimum: 0
            type: integer
          billCycleType:
            description: |
              Specifies how Zuora determines the day that each billing period begins on.

                * `DefaultFromCustomer` - Each billing period begins on the bill cycle day of the account that owns the subscription.
                * `SpecificDayofMonth` - Use the `billCycleDay` field to specify the day of the month that each billing period begins on.
                * `SubscriptionStartDay` - Each billing period begins on the same day of the month as the start date of the subscription.
                * `ChargeTriggerDay` - Each billing period begins on the same day of the month as the date when the charge becomes active.
                * `SpecificDayofWeek` - Use the `weeklyBillCycleDay` field to specify the day of the week that each billing period begins on.
            enum:
            - DefaultFromCustomer
            - SpecificDayofMonth
            - SubscriptionStartDay
            - ChargeTriggerDay
            - SpecificDayofWeek
            type: string
          billingPeriod:
            description: |
              Billing frequency of the charge. The value of this field controls the duration of each billing period.

              If the value of this field is `Specific_Months` or `Specific_Weeks`, use the `specificBillingPeriod` field to specify the duration of each billing period.
            enum:
            - Month
            - Quarter
            - Semi_Annual
            - Annual
            - Eighteen_Months
            - Two_Years
            - Three_Years
            - Five_Years
            - Specific_Months
            - Subscription_Term
            - Week
            - Specific_Weeks
            type: string
          billingPeriodAlignment:
            description: |
              Specifies how Zuora determines when to start new billing periods. You can use this field to align the billing periods of different charges.

              * `AlignToCharge` - Zuora starts a new billing period on the first billing day that falls on or after the date when the charge becomes active.
              * `AlignToSubscriptionStart` - Zuora starts a new billing period on the first billing day that falls on or after the start date of the subscription.
              * `AlignToTermStart` - For each term of the subscription, Zuora starts a new billing period on the first billing day that falls on or after the start date of the term.

              See the `billCycleType` field for information about how Zuora determines the billing day.
            enum:
            - AlignToCharge
            - AlignToSubscriptionStart
            - AlignToTermStart
            type: string
          billingTiming:
            description: 'Specifies whether to invoice for a billing period on the
              first day of the billing period (billing in advance) or the first day
              of the next billing period (billing in arrears).

              '
            enum:
            - IN_ADVANCE
            - IN_ARREARS
            type: string
          specificBillingPeriod:
            description: 'Duration of each billing period in months or weeks, depending
              on the value of the `billingPeriod` field. Only applicable if the value
              of the `billingPeriod` field is `Specific_Months` or `Specific_Weeks`.

              '
            type: integer
          weeklyBillCycleDay:
            description: 'Day of the week that each billing period begins on. Only
              applicable if the value of the `billCycleType` field is `SpecificDayofWeek`.

              '
            enum:
            - Sunday
            - Monday
            - Tuesday
            - Wednesday
            - Thursday
            - Friday
            - Saturday
            type: string
        type: object
      chargeNumber:
        description: |
          Charge number of the charge. For example, C-00000307.

          If you do not set this field, Zuora will generate the charge number.
        maxLength: 50
        type: string
      customFields:
        $ref: '#/definitions/RatePlanChargeObjectCustomFields'
      description:
        description: 'Description of the charge.

          '
        maxLength: 500
        type: string
      endDate:
        $ref: '#/definitions/EndConditions'
      pricing:
        description: 'Pricing information about the charge.

          '
        properties:
          discount:
            $ref: '#/definitions/DiscountPricingOverride'
          oneTimeFlatFee:
            $ref: '#/definitions/OneTimeFlatFeePricingOverride'
          oneTimePerUnit:
            $ref: '#/definitions/OneTimePerUnitPricingOverride'
          oneTimeTiered:
            $ref: '#/definitions/OneTimeTieredPricingOverride'
          oneTimeVolume:
            $ref: '#/definitions/OneTimeVolumePricingOverride'
          recurringFlatFee:
            $ref: '#/definitions/RecurringFlatFeePricingOverride'
          recurringPerUnit:
            $ref: '#/definitions/RecurringPerUnitPricingOverride'
          recurringTiered:
            $ref: '#/definitions/RecurringTieredPricingOverride'
          recurringVolume:
            $ref: '#/definitions/RecurringVolumePricingOverride'
          usageFlatFee:
            $ref: '#/definitions/UsageFlatFeePricingOverride'
          usageOverage:
            $ref: '#/definitions/UsageOveragePricingOverride'
          usagePerUnit:
            $ref: '#/definitions/UsagePerUnitPricingOverride'
          usageTiered:
            $ref: '#/definitions/UsageTieredPricingOverride'
          usageTieredWithOverage:
            $ref: '#/definitions/UsageTieredWithOveragePricingOverride'
          usageVolume:
            $ref: '#/definitions/UsageVolumePricingOverride'
        type: object
      productRatePlanChargeId:
        description: 'Internal identifier of the product rate plan charge that the
          charge is based on.

          '
        type: string
      revRecCode:
        description: 'Revenue Recognition Code

          '
        maxLength: 70
        type: string
      revRecTriggerCondition:
        description: "Specifies the revenue recognition trigger condition.\n\n  *\
          \ `Contract Effective Date` \n  * `Service Activation Date`\n  * `Customer\
          \ Acceptance Date`\n"
        enum:
        - Contract Effective Date
        - Service Activation Date
        - Customer Acceptance Date
        type: string
      revenueRecognitionRuleName:
        description: "Specifies the revenue recognition rule.\n\n  * `Recognize upon\
          \ invoicing` \n  * `Recognize daily over time`\n"
        enum:
        - Recognize upon invoicing
        - Recognize daily over time
        type: string
      startDate:
        $ref: '#/definitions/TriggerParams'
      uniqueToken:
        description: |
          Unique identifier for the charge. This identifier enables you to refer to the charge before the charge has an internal identifier in Zuora.

          For instance, suppose that you want to use a single order to add a product to a subscription and later update the same product. When you add the product, you can set a unique identifier for the charge. Then when you update the product, you can use the same unique identifier to specify which charge to modify.
        maxLength: 50
        type: string
    required:
    - productRatePlanChargeId
    title: charge
    type: object
  ChargeOverrideForEvergreen:
    description: 'Charge associated with a rate plan.

      '
    properties:
      billing:
        description: 'Billing information about the charge.

          '
        properties:
          billCycleDay:
            description: 'Day of the month that each billing period begins on. Only
              applicable if the value of the `billCycleType` field is `SpecificDayofMonth`.

              '
            maximum: 31
            minimum: 0
            type: integer
          billCycleType:
            description: |
              Specifies how Zuora determines the day that each billing period begins on.

                * `DefaultFromCustomer` - Each billing period begins on the bill cycle day of the account that owns the subscription.
                * `SpecificDayofMonth` - Use the `billCycleDay` field to specify the day of the month that each billing period begins on.
                * `SubscriptionStartDay` - Each billing period begins on the same day of the month as the start date of the subscription.
                * `ChargeTriggerDay` - Each billing period begins on the same day of the month as the date when the charge becomes active.
                * `SpecificDayofWeek` - Use the `weeklyBillCycleDay` field to specify the day of the week that each billing period begins on.
            enum:
            - DefaultFromCustomer
            - SpecificDayofMonth
            - SubscriptionStartDay
            - ChargeTriggerDay
            - SpecificDayofWeek
            type: string
          billingPeriod:
            description: |
              Billing frequency of the charge. The value of this field controls the duration of each billing period.

              If the value of this field is `Specific_Months` or `Specific_Weeks`, use the `specificBillingPeriod` field to specify the duration of each billing period.
            enum:
            - Month
            - Quarter
            - Semi_Annual
            - Annual
            - Eighteen_Months
            - Two_Years
            - Three_Years
            - Five_Years
            - Specific_Months
            - Subscription_Term
            - Week
            - Specific_Weeks
            type: string
          billingPeriodAlignment:
            description: |
              Specifies how Zuora determines when to start new billing periods. You can use this field to align the billing periods of different charges.

              * `AlignToCharge` - Zuora starts a new billing period on the first billing day that falls on or after the date when the charge becomes active.
              * `AlignToSubscriptionStart` - Zuora starts a new billing period on the first billing day that falls on or after the start date of the subscription.
              * `AlignToTermStart` - For each term of the subscription, Zuora starts a new billing period on the first billing day that falls on or after the start date of the term.

              See the `billCycleType` field for information about how Zuora determines the billing day.
            enum:
            - AlignToCharge
            - AlignToSubscriptionStart
            - AlignToTermStart
            type: string
          billingTiming:
            description: 'Specifies whether to invoice for a billing period on the
              first day of the billing period (billing in advance) or the first day
              of the next billing period (billing in arrears).

              '
            enum:
            - IN_ADVANCE
            - IN_ARREARS
            type: string
          specificBillingPeriod:
            description: 'Duration of each billing period in months or weeks, depending
              on the value of the `billingPeriod` field. Only applicable if the value
              of the `billingPeriod` field is `Specific_Months` or `Specific_Weeks`.

              '
            type: integer
          weeklyBillCycleDay:
            description: 'Day of the week that each billing period begins on. Only
              applicable if the value of the `billCycleType` field is `SpecificDayofWeek`.

              '
            enum:
            - Sunday
            - Monday
            - Tuesday
            - Wednesday
            - Thursday
            - Friday
            - Saturday
            type: string
        type: object
      chargeNumber:
        description: |
          Charge number of the charge. For example, C-00000307.

          If you do not set this field, Zuora will generate the charge number.
        maxLength: 50
        type: string
      customFields:
        $ref: '#/definitions/RatePlanChargeObjectCustomFields'
      description:
        description: 'Description of the charge.

          '
        maxLength: 500
        type: string
      endDate:
        $ref: '#/definitions/EndConditions'
      pricing:
        description: 'Pricing information about the charge.

          '
        properties:
          discount:
            $ref: '#/definitions/DiscountPricingOverride'
          oneTimeFlatFee:
            $ref: '#/definitions/OneTimeFlatFeePricingOverride'
          oneTimePerUnit:
            $ref: '#/definitions/OneTimePerUnitPricingOverride'
          oneTimeTiered:
            $ref: '#/definitions/OneTimeTieredPricingOverride'
          oneTimeVolume:
            $ref: '#/definitions/OneTimeVolumePricingOverride'
          recurringFlatFee:
            $ref: '#/definitions/RecurringFlatFeePricingOverride'
          recurringPerUnit:
            $ref: '#/definitions/RecurringPerUnitPricingOverride'
          recurringTiered:
            $ref: '#/definitions/RecurringTieredPricingOverride'
          recurringVolume:
            $ref: '#/definitions/RecurringVolumePricingOverride'
          usageFlatFee:
            $ref: '#/definitions/UsageFlatFeePricingOverride'
          usageOverage:
            $ref: '#/definitions/UsageOveragePricingOverride'
          usagePerUnit:
            $ref: '#/definitions/UsagePerUnitPricingOverride'
          usageTiered:
            $ref: '#/definitions/UsageTieredPricingOverride'
          usageTieredWithOverage:
            $ref: '#/definitions/UsageTieredWithOveragePricingOverride'
          usageVolume:
            $ref: '#/definitions/UsageVolumePricingOverride'
        type: object
      productRatePlanChargeId:
        description: 'Internal identifier of the product rate plan charge that the
          charge is based on.

          '
        type: string
      revRecCode:
        description: 'Revenue Recognition Code

          '
        maxLength: 70
        type: string
      revRecTriggerCondition:
        description: "Specifies the revenue recognition trigger condition.\n\n  *\
          \ `Contract Effective Date` \n  * `Service Activation Date`\n  * `Customer\
          \ Acceptance Date`\n"
        enum:
        - Contract Effective Date
        - Service Activation Date
        - Customer Acceptance Date
        type: string
      revenueRecognitionRuleName:
        description: "Specifies the revenue recognition rule.\n\n  * `Recognize upon\
          \ invoicing` \n  * `Recognize daily over time`\n"
        enum:
        - Recognize upon invoicing
        - Recognize daily over time
        type: string
      startDate:
        $ref: '#/definitions/TriggerParams'
      uniqueToken:
        description: |
          Unique identifier for the charge. This identifier enables you to refer to the charge before the charge has an internal identifier in Zuora.

          For instance, suppose that you want to use a single order to add a product to a subscription and later update the same product. When you add the product, you can set a unique identifier for the charge. Then when you update the product, you can use the same unique identifier to specify which charge to modify.
        maxLength: 50
        type: string
    required:
    - productRatePlanChargeId
    title: charge
    type: object
  ChargePreviewMetrics:
    properties:
      chargeNumber:
        type: string
      cmrr:
        properties:
          discount:
            description: Total discountCmrr of all discount charges which are applied
              to one specific recurring charge. This value is calculated from the
              rating results for the latest subscription version in the order. Only
              selects the applied discount charge when its endDateCondition is "Subscription_End".
            type: number
          discountDelta:
            description: Delta discountCmrr value between the order base and the latest
              subscription version.
            type: number
          regular:
            type: number
          regularDelta:
            type: number
        type: object
      originRatePlanId:
        type: string
      productRatePlanChargeId:
        type: string
      productRatePlanId:
        type: string
      tax:
        properties:
          discount:
            description: Total tax amount of all discount charges which are applied
              to one specific recurring charge. This value is calculated from the
              rating results for the latest subscription version in the order.
            type: number
          discountDelta:
            description: Delta discount TAX value between the base and the latest
              subscription version in the order for the specific recurring charge.
            type: number
          regular:
            type: number
          regularDelta:
            description: Delta tax value between the base and the latest subscription
              version in the order.
            type: number
        type: object
      tcb:
        properties:
          discount:
            description: Total contract billing amount of all discount charges which
              are applied to one specific recurring charge. This value is calculated
              from the rating results for the latest subscription version in the order.
            type: number
          discountDelta:
            description: Delta discount TCB value between the base and the latest
              subscription version for specific recurring charge in the order.
            type: number
          regular:
            type: number
          regularDelta:
            description: Delta TCB value between the base and the latest subscription
              version in the order.
            type: number
        type: object
      tcv:
        properties:
          discount:
            description: Always equals to discountTcb.
            type: number
          discountDelta:
            description: Always equals to delta discountTcb.
            type: number
          regular:
            type: number
          regularDelta:
            type: number
        type: object
    type: object
  ChargeTier:
    properties:
      endingUnit:
        description: 'Limit on the number of units for which the tier is effective.

          '
        type: number
      price:
        description: 'Price or per-unit price of the tier, depending on the value
          of the `priceFormat` field.

          '
        type: number
      priceFormat:
        description: 'Specifies whether the tier has a fixed price or a per-unit price.

          '
        enum:
        - FlatFee
        - PerUnit
        type: string
      startingUnit:
        description: 'Number of units at which the tier becomes effective.

          '
        type: number
      tier:
        description: 'Index of the tier in the charge.

          '
        minimum: 1
        type: integer
    required:
    - tier
    - startingUnit
    - price
    title: chargeTier
    type: object
  ChargeUpdate:
    description: The JSON object containing the information for a charge update in
      the 'UpdateProduct' type order action.
    properties:
      billing:
        $ref: '#/definitions/BillingUpdate'
      chargeNumber:
        description: 'Read only. Identifies the charge to be updated.

          '
        type: string
      customFields:
        $ref: '#/definitions/RatePlanChargeObjectCustomFields'
      description:
        type: string
      effectiveDate:
        $ref: '#/definitions/TriggerParams'
      pricing:
        $ref: '#/definitions/PricingUpdate'
      uniqueToken:
        description: |
          description: |
            A unique string to represent the rate plan charge in the order. The unique token is used to perform multiple actions against a newly added rate plan. For example, if you want to add and update a product in the same order, you would assign a unique token to the product rate plan when added and use that token in future order actions.
        type: string
    type: object
  ChargeUpdateForEvergreen:
    description: The JSON object containing the information for a charge update in
      the 'UpdateProduct' type order action.
    properties:
      billing:
        $ref: '#/definitions/BillingUpdate'
      chargeNumber:
        description: 'Read only. Identifies the charge to be updated.

          '
        type: string
      customFields:
        $ref: '#/definitions/RatePlanChargeObjectCustomFields'
      description:
        type: string
      effectiveDate:
        $ref: '#/definitions/TriggerParams'
      pricing:
        $ref: '#/definitions/PricingUpdateForEvergreen'
      uniqueToken:
        description: 'A unique string to represent the rate plan charge in the order.
          The unique token is used to perform multiple actions against a newly added
          rate plan. For example, if you want to add and update a product in the same
          order, you would assign a unique token to the product rate plan when added
          and use that token in future order actions.

          '
        type: string
    type: object
  ChildrenSettingValueRequest:
    properties:
      body:
        $ref: '#/definitions/BodyInSettingValueRequest'
      id:
        description: 'The id of the request. You can set it to any string. It must
          be unique within the whole batch.

          '
        type: string
      method:
        description: 'One of the HTTP methods supported by the setting endpoint, for
          example, GET,PUT,POST or DELETE.

          '
        enum:
        - GET
        - HEAD
        - POST
        - PUT
        - PATCH
        - DELETE
        - OPTIONS
        - TRACE
        type: string
      url:
        description: 'The relative URL of the setting. It is the same as in the `pathPattern`
          field in the response body of [Listing all settings](https://www.zuora.com/developer/api-reference/#operation/GET_ListAllSettings).
          For example, `/billing-rules`.

          '
        type: string
    title: childSettingsRequest
    type: object
  CommonErrorResponse:
    properties:
      code:
        description: 'The error code.

          '
        format: int32
        type: integer
      message:
        description: 'The error message.

          '
        type: string
    type: object
  CommonResponseType:
    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
      success:
        description: 'Indicates whether the call succeeded.

          '
        type: boolean
    type: object
  Contact:
    description: 'Contact details associated with an account.

      '
    properties:
      address1:
        description: 'First line of the contact''s address. This is often a street
          address or a business name.

          '
        maxLength: 255
        type: string
      address2:
        description: 'Second line of the contact''s address.

          '
        maxLength: 255
        type: string
      city:
        description: 'City of the contact''s address.

          '
        maxLength: 40
        type: string
      country:
        description: "Country of the contact's address. \n"
        maxLength: 64
        type: string
      county:
        description: 'County of the contact''s address.

          '
        maxLength: 32
        type: string
      fax:
        description: 'Fax number of the contact.

          '
        maxLength: 40
        type: string
      firstName:
        description: 'First name of the contact.

          '
        maxLength: 100
        type: string
      homePhone:
        description: 'Home phone number of the contact.

          '
        maxLength: 40
        type: string
      lastName:
        description: 'Last name of the contact.

          '
        maxLength: 100
        type: string
      mobilePhone:
        description: 'Mobile phone number of the contact.

          '
        maxLength: 40
        type: string
      nickname:
        description: 'Nickname of the contact.

          '
        maxLength: 100
        type: string
      otherPhone:
        description: 'Additional phone number of the contact. Use the `otherPhoneType`
          field to specify the type of phone number.

          '
        maxLength: 40
        type: string
      otherPhoneType:
        description: 'Specifies the type of phone number in the `otherPhone` field.

          '
        enum:
        - Work
        - Mobile
        - Home
        - Other
        type: string
      personalEmail:
        description: 'Personal email address of the contact.

          '
        format: email
        maxLength: 80
        type: string
      postalCode:
        description: 'ZIP code or other postal code of the contact''s address.

          '
        maxLength: 20
        type: string
      state:
        description: 'State or province of the contact''s address.

          '
        maxLength: 40
        type: string
      taxRegion:
        description: 'Region defined in your taxation rules. Only applicable if you
          use Zuora Tax.

          '
        maxLength: 32
        type: string
      workEmail:
        description: 'Business email address of the contact.

          '
        format: email
        maxLength: 80
        type: string
      workPhone:
        description: 'Business phone number of the contact.

          '
        maxLength: 40
        type: string
    required:
    - firstName
    - lastName
    type: object
  ContactObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Contact object. The name of each custom field
        has the form <code>*customField*__c</code>. Custom field names are case sensitive.
        See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Contact object.

      '
    title: contactFieldsCustom
    type: object
  CreateEntityResponseType:
    properties:
      displayName:
        description: The display name of the entity that is shown in the Zuora UI
          and APIs.
        type: string
      id:
        description: The entity Id.
        type: string
      locale:
        description: The locale that is used in this entity.
        type: string
      name:
        description: The name of the entity.
        type: string
      parentId:
        description: The Id of the parent entity.
        type: string
      status:
        description: The status of the entity.
        enum:
        - Provisioned
        - Unprovisioned
        type: string
      success:
        description: Returns `true` if the request is successful.
        type: boolean
      tenantId:
        description: The Id of the tenant that the entity belongs to.
        type: string
      timezone:
        description: The time zone that is used in this entity.
        type: string
    type: object
  CreateEntityType:
    example:
      displayName: Acme-Asia
      locale: zh_CN
      name: Acme-Asia
      parentId: 8a808255557baba1015580e12fa5083a
      timezone: Asia/Harbin
    properties:
      displayName:
        description: |-
          The display name of the entity that is shown in the Zuora UI and APIs

          **Note:** If you do not specify the display name in the request, the entity name is used as the display name.
        maxLength: 255
        type: string
      locale:
        description: The locale that is used in this entity.
        type: string
      name:
        description: "The name of the entity that is the entity identifier and is\
          \ unique across all entities in a multi-entity hierarchy.\n\n**Note:** Only\
          \ alphanumeric characters (letters A\u2013Z and a\u2013z, and digits 0\u2013\
          9), space, period, and hyphen are allowed to be used in entity names. "
        maxLength: 255
        type: string
      parentId:
        description: "The Id of the entity under which you want to create an entity.\n\
          You can get the parent entity Id by using the GET Entities call. "
        type: string
      timezone:
        description: The time zone that is used in this entity.
        type: string
    required:
    - name
    - parentId
    - locale
    - timezone
    type: object
  CreateOrderChargeOverride:
    description: 'Charge associated with a rate plan.

      '
    properties:
      billing:
        description: 'Billing information about the charge.

          '
        properties:
          billCycleDay:
            description: 'Day of the month that each billing period begins on. Only
              applicable if the value of the `billCycleType` field is `SpecificDayofMonth`.

              '
            maximum: 31
            minimum: 0
            type: integer
          billCycleType:
            description: |
              Specifies how Zuora determines the day that each billing period begins on.

                * `DefaultFromCustomer` - Each billing period begins on the bill cycle day of the account that owns the subscription.
                * `SpecificDayofMonth` - Use the `billCycleDay` field to specify the day of the month that each billing period begins on.
                * `SubscriptionStartDay` - Each billing period begins on the same day of the month as the start date of the subscription.
                * `ChargeTriggerDay` - Each billing period begins on the same day of the month as the date when the charge becomes active.
                * `SpecificDayofWeek` - Use the `weeklyBillCycleDay` field to specify the day of the week that each billing period begins on.
            enum:
            - DefaultFromCustomer
            - SpecificDayofMonth
            - SubscriptionStartDay
            - ChargeTriggerDay
            - SpecificDayofWeek
            type: string
          billingPeriod:
            description: |
              Billing frequency of the charge. The value of this field controls the duration of each billing period.

              If the value of this field is `Specific_Months` or `Specific_Weeks`, use the `specificBillingPeriod` field to specify the duration of each billing period.
            enum:
            - Month
            - Quarter
            - Semi_Annual
            - Annual
            - Eighteen_Months
            - Two_Years
            - Three_Years
            - Five_Years
            - Specific_Months
            - Subscription_Term
            - Week
            - Specific_Weeks
            type: string
          billingPeriodAlignment:
            description: |
              Specifies how Zuora determines when to start new billing periods. You can use this field to align the billing periods of different charges.

              * `AlignToCharge` - Zuora starts a new billing period on the first billing day that falls on or after the date when the charge becomes active.
              * `AlignToSubscriptionStart` - Zuora starts a new billing period on the first billing day that falls on or after the start date of the subscription.
              * `AlignToTermStart` - For each term of the subscription, Zuora starts a new billing period on the first billing day that falls on or after the start date of the term.

              See the `billCycleType` field for information about how Zuora determines the billing day.
            enum:
            - AlignToCharge
            - AlignToSubscriptionStart
            - AlignToTermStart
            type: string
          billingTiming:
            description: 'Specifies whether to invoice for a billing period on the
              first day of the billing period (billing in advance) or the first day
              of the next billing period (billing in arrears).

              '
            enum:
            - IN_ADVANCE
            - IN_ARREARS
            type: string
          specificBillingPeriod:
            description: 'Duration of each billing period in months or weeks, depending
              on the value of the `billingPeriod` field. Only applicable if the value
              of the `billingPeriod` field is `Specific_Months` or `Specific_Weeks`.

              '
            type: integer
          weeklyBillCycleDay:
            description: 'Day of the week that each billing period begins on. Only
              applicable if the value of the `billCycleType` field is `SpecificDayofWeek`.

              '
            enum:
            - Sunday
            - Monday
            - Tuesday
            - Wednesday
            - Thursday
            - Friday
            - Saturday
            type: string
        type: object
      chargeNumber:
        description: |
          Charge number of the charge. For example, C-00000307.

          If you do not set this field, Zuora will generate the charge number.
        maxLength: 50
        type: string
      customFields:
        $ref: '#/definitions/RatePlanChargeObjectCustomFields'
      description:
        description: 'Description of the charge.

          '
        maxLength: 500
        type: string
      endDate:
        $ref: '#/definitions/EndConditions'
      pricing:
        description: 'Pricing information about the charge.

          '
        properties:
          discount:
            $ref: '#/definitions/DiscountPricingOverride'
          oneTimeFlatFee:
            $ref: '#/definitions/OneTimeFlatFeePricingOverride'
          oneTimePerUnit:
            $ref: '#/definitions/OneTimePerUnitPricingOverride'
          oneTimeTiered:
            $ref: '#/definitions/OneTimeTieredPricingOverride'
          oneTimeVolume:
            $ref: '#/definitions/OneTimeVolumePricingOverride'
          recurringFlatFee:
            $ref: '#/definitions/RecurringFlatFeePricingOverride'
          recurringPerUnit:
            $ref: '#/definitions/RecurringPerUnitPricingOverride'
          recurringTiered:
            $ref: '#/definitions/RecurringTieredPricingOverride'
          recurringVolume:
            $ref: '#/definitions/RecurringVolumePricingOverride'
          usageFlatFee:
            $ref: '#/definitions/UsageFlatFeePricingOverride'
          usageOverage:
            $ref: '#/definitions/UsageOveragePricingOverride'
          usagePerUnit:
            $ref: '#/definitions/UsagePerUnitPricingOverride'
          usageTiered:
            $ref: '#/definitions/UsageTieredPricingOverride'
          usageTieredWithOverage:
            $ref: '#/definitions/UsageTieredWithOveragePricingOverride'
          usageVolume:
            $ref: '#/definitions/UsageVolumePricingOverride'
        type: object
      productRatePlanChargeId:
        description: 'Internal identifier of the product rate plan charge that the
          charge is based on.

          '
        type: string
      revRecCode:
        description: 'Revenue Recognition Code

          '
        maxLength: 70
        type: string
      revRecTriggerCondition:
        description: "Specifies the revenue recognition trigger condition.\n\n  *\
          \ `Contract Effective Date` \n  * `Service Activation Date`\n  * `Customer\
          \ Acceptance Date`\n"
        enum:
        - Contract Effective Date
        - Service Activation Date
        - Customer Acceptance Date
        type: string
      revenueRecognitionRuleName:
        description: "Specifies the revenue recognition rule.\n\n  * `Recognize upon\
          \ invoicing` \n  * `Recognize daily over time`\n"
        enum:
        - Recognize upon invoicing
        - Recognize daily over time
        type: string
      startDate:
        $ref: '#/definitions/CreateOrderTriggerParams'
      uniqueToken:
        description: |
          Unique identifier for the charge. This identifier enables you to refer to the charge before the charge has an internal identifier in Zuora.

          For instance, suppose that you want to use a single order to add a product to a subscription and later update the same product. When you add the product, you can set a unique identifier for the charge. Then when you update the product, you can use the same unique identifier to specify which charge to modify.
        maxLength: 50
        type: string
    required:
    - productRatePlanChargeId
    title: charge
    type: object
  CreateOrderChargeUpdate:
    description: The JSON object containing the information for a charge update in
      the 'UpdateProduct' type order action.
    properties:
      billing:
        $ref: '#/definitions/BillingUpdate'
      chargeNumber:
        description: 'Read only. Identifies the charge to be updated.

          '
        type: string
      customFields:
        $ref: '#/definitions/RatePlanChargeObjectCustomFields'
      description:
        type: string
      effectiveDate:
        $ref: '#/definitions/CreateOrderTriggerParams'
      pricing:
        $ref: '#/definitions/CreateOrderPricingUpdate'
      uniqueToken:
        description: 'A unique string to represent the rate plan charge in the order.
          The unique token is used to perform multiple actions against a newly added
          rate plan. For example, if you want to add and update a product in the same
          order, you would assign a unique token to the product rate plan when added
          and use that token in future order actions.

          '
        type: string
    type: object
  CreateOrderCreateSubscription:
    description: 'Information about an order action of type `CreateSubscription`.

      '
    properties:
      invoiceSeparately:
        description: 'Specifies whether the subscription appears on a separate invoice
          when Zuora generates invoices.

          '
        type: boolean
      newSubscriptionOwnerAccount:
        $ref: '#/definitions/CreateOrderCreateSubscriptionNewSubscriptionOwnerAccount'
      notes:
        description: 'Notes about the subscription. These notes are only visible to
          Zuora users.

          '
        maxLength: 500
        type: string
      subscribeToRatePlans:
        description: 'List of rate plans associated with the subscription.

          '
        items:
          $ref: '#/definitions/CreateOrderRatePlanOverride'
        type: array
      subscriptionNumber:
        description: |
          Subscription number of the subscription. For example, A-S00000001.

          If you do not set this field, Zuora will generate the subscription number.
        maxLength: 100
        type: string
      subscriptionOwnerAccountNumber:
        description: |
          Account number of an existing account that will own the subscription. For example, A00000001.

          If you do not set this field or the `newSubscriptionOwnerAccount` field, the account that owns the order will also own the subscription. Zuora will return an error if you set this field and the `newSubscriptionOwnerAccount` field.
        maxLength: 70
        type: string
      terms:
        description: 'Container for the terms and renewal settings of the subscription.

          '
        properties:
          autoRenew:
            description: 'Specifies whether the subscription automatically renews
              at the end of the each term. Only applicable if the type of the first
              term is `TERMED`.

              '
            type: boolean
          initialTerm:
            description: 'Information about the first term of the subscription.

              '
            properties:
              period:
                description: |
                  Duration of the first term in months, years, days, or weeks, depending on the value of the `periodType` field. Only applicable if the value of the `termType` field is `TERMED`.

                  The duration of the first term cannot be greater than 10 years.
                type: integer
              periodType:
                description: 'Unit of time that the first term is measured in. Only
                  applicable if the value of the `termType` field is `TERMED`.

                  '
                enum:
                - Month
                - Year
                - Day
                - Week
                type: string
              startDate:
                description: 'Start date of the first term, in YYYY-MM-DD format.

                  '
                format: date
                type: string
              termType:
                description: 'Type of the first term. If the value of this field is
                  `TERMED`, the first term has a predefined duration based on the
                  value of the `period` field. If the value of this field is `EVERGREEN`,
                  the first term does not have a predefined duration.

                  '
                enum:
                - TERMED
                - EVERGREEN
                type: string
            required:
            - termType
            type: object
          renewalSetting:
            description: |
              Specifies the type of the terms that follow the first term if the subscription is renewed. Only applicable if the type of the first term is `TERMED`.

              * `RENEW_WITH_SPECIFIC_TERM` - Each renewal term has a predefined duration. The first entry in `renewalTerms` specifies the duration of the second term of the subscription, the second entry in `renewalTerms` specifies the duration of the third term of the subscription, and so on. The last entry in `renewalTerms` specifies the ultimate duration of each renewal term.
              * `RENEW_TO_EVERGREEN` - The second term of the subscription does not have a predefined duration.
            enum:
            - RENEW_WITH_SPECIFIC_TERM
            - RENEW_TO_EVERGREEN
            type: string
          renewalTerms:
            description: 'List of renewal terms of the subscription. Only applicable
              if the type of the first term is `TERMED` and the value of the `renewalSetting`
              field is `RENEW_WITH_SPECIFIC_TERM`.

              '
            items:
              $ref: '#/definitions/RenewalTerm'
            type: array
        required:
        - initialTerm
        type: object
    title: createSubscription
    type: object
  CreateOrderCreateSubscriptionNewSubscriptionOwnerAccount:
    allOf:
    - description: |
        Information about a new account that will own the subscription. Only available if you have enabled the Owner Transfer feature.

        **Note:** The Owner Transfer feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

        If you do not set this field or the `subscriptionOwnerAccountNumber` field, the account that owns the order will also own the subscription. Zuora will return an error if you set this field and the `subscriptionOwnerAccountNumber` field.
      properties:
        accountNumber:
          description: 'Account number. For example, A00000001.

            '
          maxLength: 70
          type: string
        additionalEmailAddresses:
          description: 'List of additional email addresses to receive emailed invoices.
            Values should be a comma-separated list of email addresses.

            '
          maxLength: 1200
          type: string
        allowInvoiceEdit:
          description: "Indicates if associated invoices can be edited.\nValues are:\
            \ \n\n* `true`\n* `false` (default)\n"
          type: boolean
        autoPay:
          description: 'Specifies whether future payments are automatically billed
            when they are due.

            '
          type: boolean
        batch:
          description: 'Name of the billing batch that the account belongs to. For
            example, Batch1.

            '
          type: string
        billCycleDay:
          description: 'Day of the month that the account prefers billing periods
            to begin on. If set to 0, the bill cycle day will be set as "AutoSet".

            '
          maximum: 31
          minimum: 0
          type: integer
        billToContact:
          $ref: '#/definitions/BillToContactPostOrder'
        communicationProfileId:
          description: 'Internal identifier of the communication profile that Zuora
            uses when sending notifications to the account''s contacts.

            '
          type: string
        creditCard:
          $ref: '#/definitions/creditCard'
        creditMemoTemplateId:
          description: |
            **Note**: This field is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

            The unique ID of the credit memo template, configured in **Billing Settings** > **Manage Billing Document Configuration** through the Zuora UI. For example, 2c92c08a6246fdf101626b1b3fe0144b.
          type: string
        crmId:
          description: 'External identifier of the account in a CRM system.

            '
          maxLength: 100
          type: string
        currency:
          description: 'ISO 3-letter currency code (uppercase). For example, USD.

            '
          type: string
        customFields:
          $ref: '#/definitions/AccountObjectCustomFields'
        customerServiceRepName:
          description: 'Name of the account''s customer service representative, if
            applicable.

            '
          maxLength: 50
          type: string
        debitMemoTemplateId:
          description: |
            **Note**: This field is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

            The unique ID of the debit memo template, configured in **Billing Settings** > **Manage Billing Document Configuration** through the Zuora UI. For example, 2c92c08d62470a8501626b19d24f19e2.
          type: string
        hpmCreditCardPaymentMethodId:
          description: 'Internal identifier of the hosted payment method (HPM) credit
            card payment method associated with the account.

            '
          type: string
        invoiceDeliveryPrefsEmail:
          description: "Specifies whether to turn on the invoice delivery method 'Email'\
            \ for the new account. \nValues are: \n\n* `true` (default). Turn on the\
            \ invoice delivery method 'Email' for the new account.\n* `false`. Turn\
            \ off the invoice delivery method 'Email' for the new account.       \
            \  \n"
          type: boolean
        invoiceDeliveryPrefsPrint:
          description: "Specifies whether to turn on the invoice delivery method 'Print'\
            \ for the new account.\nValues are: \n\n* `true`. Turn on the invoice\
            \ delivery method 'Print' for the new account.\n* `false` (default). Turn\
            \ off the invoice delivery method 'Print' for the new account.\n"
          type: boolean
        invoiceTemplateId:
          description: 'Internal identifier of the invoice template that Zuora uses
            when generating invoices for the account.

            '
          type: string
        name:
          description: 'Account name.

            '
          maxLength: 255
          type: string
        notes:
          description: 'Notes about the account. These notes are only visible to Zuora
            users.

            '
          maxLength: 65535
          type: string
        parentId:
          description: Identifier of the parent customer account for this Account
            object. Use this field if you have customer hierarchy enabled.
          type: string
        paymentGateway:
          description: 'The payment gateway that Zuora uses when processing electronic
            payments and refunds for the account. If you do not specify this field
            or if the value of this field is null, Zuora uses your default payment
            gateway.

            '
          maxLength: 40
          type: string
        paymentMethod:
          $ref: '#/definitions/PaymentMethod'
        paymentTerm:
          description: 'Name of the payment term associated with the account. For
            example, "Net 30". The payment term determines the due dates of invoices.

            '
          type: string
        purchaseOrderNumber:
          description: 'The number of the purchase order associated with this account.
            Purchase order information generally comes from customers.

            '
          maxLength: 100
          type: string
        salesRep:
          description: 'The name of the sales representative associated with this
            account, if applicable.

            '
          maxLength: 50
          type: string
        soldToContact:
          $ref: '#/definitions/SoldToContactPostOrder'
        taxInfo:
          $ref: '#/definitions/TaxInfo'
      required:
      - name
      - currency
      - billCycleDay
      - billToContact
      type: object
    - $ref: '#/definitions/DataAccessControlField'
  CreateOrderOrderAction:
    properties:
      addProduct:
        $ref: '#/definitions/CreateOrderRatePlanOverride'
      cancelSubscription:
        $ref: '#/definitions/CancelSubscription'
      createSubscription:
        $ref: '#/definitions/CreateOrderCreateSubscription'
      customFields:
        $ref: '#/definitions/OrderActionObjectCustomFields'
      ownerTransfer:
        $ref: '#/definitions/OwnerTransfer'
      removeProduct:
        $ref: '#/definitions/RemoveProduct'
      resume:
        $ref: '#/definitions/CreateOrderResume'
      suspend:
        $ref: '#/definitions/CreateOrderSuspend'
      termsAndConditions:
        $ref: '#/definitions/CreateOrderTermsAndConditions'
      triggerDates:
        description: "Container for the contract effective, service activation, and\
          \ customer acceptance dates of the order action. \n\nIf [Zuora is configured\
          \ to require service activation](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Default_Subscription_Settings#Require_Service_Activation_of_Orders.3F)\
          \ and the `ServiceActivation` field is not set for a `CreateSubscription`\
          \ order action, a `Pending` order and a `Pending Activation` subscription\
          \ are created.\n\nIf [Zuora is configured to require customer acceptance](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Default_Subscription_Settings#Require_Customer_Acceptance_of_Orders.3F)\
          \ and the `CustomerAcceptance` field is not set for a `CreateSubscription`\
          \ order action, a `Pending` order and a `Pending Acceptance` subscription\
          \ are created. At the same time, if the service activation date field is\
          \ also required and not set, a `Pending` order and a `Pending Activation`\
          \ subscription are created instead.\n\nIf [Zuora is configured to require\
          \ service activation](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Default_Subscription_Settings#Require_Service_Activation_of_Orders.3F)\
          \ and the `ServiceActivation` field is not set for either of the following\
          \ order actions, a `Pending` order is created. The subscription status is\
          \ not impacted. **Note:** This feature is in **Limited Availability**. If\
          \ you want to have access to the feature, submit a request at [Zuora Global\
          \ Support](http://support.zuora.com/).\n * AddProduct\n * UpdateProduct\n\
          \ * RemoveProduct\n * RenewSubscription\n * TermsAndConditions\n\nIf [Zuora\
          \ is configured to require customer acceptance](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Default_Subscription_Settings#Require_Customer_Acceptance_of_Orders.3F)\
          \ and the `CustomerAcceptance` field is not set for either of the following\
          \ order actions, a `Pending` order is created. The subscription status is\
          \ not impacted. **Note:** This feature is in **Limited Availability**. If\
          \ you want to have access to the feature, submit a request at [Zuora Global\
          \ Support](http://support.zuora.com/).\n * AddProduct\n * UpdateProduct\n\
          \ * RemoveProduct\n * RenewSubscription\n * TermsAndConditions\n"
        items:
          $ref: '#/definitions/TriggerDate'
        type: array
      type:
        description: "Type of order action.\n\nUnless the type of order action is\
          \ `RenewSubscription`, you must use the corresponding field to provide information\
          \ about the order action. For example, if the type of order action is `AddProduct`,\
          \ you must set the `addProduct` field.\n\nZuora returns an error if you\
          \ set a field that corresponds to a different type of order action. For\
          \ example, if the type of order action is `AddProduct`, Zuora returns an\
          \ error if you set the `updateProduct` field.\n\nA [pending order](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/Pending_Order_and_Subscription)\
          \ supports the following order actions:\n * CreateSubscription\n * AddProduct\n\
          \ * UpdateProduct\n * RemoveProduct\n * RenewSubscription\n * TermsAndConditions\n\
          \nHowever, pending orders created through all order actions except for \"\
          Create new subscription\":\n * Do not impact the subscription status.\n\
          \ * Are in **Limited Availability**. If you want to have access to the feature,\
          \ submit a request at [Zuora Global Support](https://support.zuora.com).\
          \ \n\nA pending order is created in either of the following conditions:\n\
          \ * [Zuora is configured to require service activation](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Default_Subscription_Settings#Require_Service_Activation_of_Orders.3F)\
          \ and the service activation date is not set in your \"Create order\" call.\n\
          \ * [Zuora is configured to require customer acceptance](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Default_Subscription_Settings#Require_Customer_Acceptance_of_Orders.3F)\
          \ and the customer acceptance date is not set in your \"Create order\" call.\n\
          \ * When a charge in the subscription has its `triggerEvent` field set as\
          \ `SpecificDate` and the `specificTriggerDate` field is not set in your\
          \ Create order API call.\n"
        enum:
        - CreateSubscription
        - TermsAndConditions
        - AddProduct
        - UpdateProduct
        - RemoveProduct
        - RenewSubscription
        - CancelSubscription
        - OwnerTransfer
        - Suspend
        - Resume
        type: string
      updateProduct:
        $ref: '#/definitions/CreateOrderRatePlanUpdate'
    required:
    - type
    type: object
  CreateOrderPricingUpdate:
    properties:
      discount:
        $ref: '#/definitions/DiscountPricingUpdate'
      recurringFlatFee:
        $ref: '#/definitions/RecurringFlatFeePricingUpdate'
      recurringPerUnit:
        $ref: '#/definitions/RecurringPerUnitPricingUpdate'
      recurringTiered:
        $ref: '#/definitions/RecurringTieredPricingUpdate'
      recurringVolume:
        $ref: '#/definitions/RecurringVolumePricingUpdate'
      usageFlatFee:
        $ref: '#/definitions/UsageFlatFeePricingUpdate'
      usageOverage:
        $ref: '#/definitions/UsageOveragePricingUpdate'
      usagePerUnit:
        $ref: '#/definitions/UsagePerUnitPricingUpdate'
      usageTiered:
        $ref: '#/definitions/UsageTieredPricingUpdate'
      usageTieredWithOverage:
        $ref: '#/definitions/UsageTieredWithOveragePricingUpdate'
      usageVolume:
        $ref: '#/definitions/UsageVolumePricingUpdate'
    type: object
  CreateOrderRatePlanOverride:
    description: "Information about an order action of type `addProduct`. \n\nIf you\
      \ want to create a pending order through the \"Add product\" order action, and\
      \ if the charge's trigger condition is `Specific Date`, you must set a charge\
      \ number in the `chanrgeNumber` field for the \"Add product\" order action.\
      \ In this case, if you do not set it, Zuora will not generate the charge number\
      \ for you.\n\nSee more information about pending orders in [Pending Order and\
      \ Subscription](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/Pending_Order_and_Subscription).\
      \ \n"
    properties:
      chargeOverrides:
        description: 'List of charges associated with the rate plan.

          '
        items:
          $ref: '#/definitions/CreateOrderChargeOverride'
        type: array
      customFields:
        $ref: '#/definitions/RatePlanObjectCustomFields'
      productRatePlanId:
        description: 'Internal identifier of the product rate plan that the rate plan
          is based on.

          '
        type: string
      uniqueToken:
        description: |
          Unique identifier for the rate plan. This identifier enables you to refer to the rate plan before the rate plan has an internal identifier in Zuora.

          For instance, suppose that you want to use a single order to add a product to a subscription and later update the same product. When you add the product, you can set a unique identifier for the rate plan. Then when you update the product, you can use the same unique identifier to specify which rate plan to modify.
        maxLength: 50
        type: string
    required:
    - productRatePlanId
    title: ratePlan
    type: object
  CreateOrderRatePlanUpdate:
    description: 'Information about an order action of type `UpdateProduct`.

      '
    properties:
      chargeUpdates:
        items:
          $ref: '#/definitions/CreateOrderChargeUpdate'
        type: array
      customFields:
        $ref: '#/definitions/RatePlanObjectCustomFields'
      ratePlanId:
        description: 'The id of the rate plan to be updated. It can be the latest
          version or any history version id.

          '
        type: string
      specificUpdateDate:
        description: |2

          The date when the Update Product order action takes effect. This field is only applicable if there is already a future-dated Update Product order action on the subscription. The format of the date is yyyy-mm-dd.

          See [Update a Product on Subscription with Future-dated Updates](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AC_Orders_Tutorials/C_Update_a_Product_in_a_Subscription/Update_a_Product_on_Subscription_with_Future-dated_Updates) for more information about this feature.
        format: date
        type: string
      uniqueToken:
        description: 'A unique string to represent the rate plan charge in the order.
          The unique token is used to perform multiple actions against a newly added
          rate plan. For example, if you want to add and update a product in the same
          order, you would assign a unique token to the product rate plan when added
          and use that token in future order actions.

          '
        type: string
    title: updateProduct
    type: object
  CreateOrderResume:
    description: 'Information about an order action of type `Resume`.

      '
    properties:
      extendsTerm:
        description: 'Specifies whether to extend the subscription term by the length
          of time the suspension is in effect.

          '
        type: boolean
      resumePeriods:
        description: "This field is applicable only when the `resumePolicy` field\
          \ is set to `FixedPeriodsFromToday` or `FixedPeriodsFromSuspendDate`. It\
          \ must be used together with the `resumePeriodsType` field. \n\nThe total\
          \ number of the periods used to specify when a subscription resumption takes\
          \ effect. The subscription resumption will take place after the specified\
          \ time frame (`suspendPeriods` multiplied by `suspendPeriodsType`) from\
          \ today's date. \n"
        type: integer
      resumePeriodsType:
        description: "This field is applicable only when the `resumePolicy` field\
          \ is set to `FixedPeriodsFromToday` or `FixedPeriodsFromSuspendDate`. It\
          \ must be used together with the `resumePeriods` field.\n\nThe period type\
          \ used to specify when a subscription resumption takes effect. The subscription\
          \ suspension will take place after the specified time frame (`suspendPeriods`\
          \ multiplied by `suspendPeriodsType`) from today's date. \n"
        enum:
        - Day
        - Week
        - Month
        - Year
        type: string
      resumePolicy:
        description: "Resume methods. Specify a way to resume a subscription. See\
          \ [Resume Date](https://knowledgecenter.zuora.com/BC_Subscription_Management/Subscriptions/Resume_a_Subscription#Resume_Date)\
          \ for more information.\n\nIf `SuspendDate` is specfied, the resumption\
          \ will take place on the same day as the suspension. \n"
        enum:
        - Today
        - FixedPeriodsFromSuspendDate
        - FixedPeriodsFromToday
        - SpecificDate
        - SuspendDate
        type: string
      resumeSpecificDate:
        description: |
          This field is applicable only when the `resumePolicy` field is set to `SpecificDate`.

          A specific date when the subscription resumption takes effect, in YYYY-MM-DD format. The value should not be earlier than the subscription suspension date.
        format: date
        type: string
    required:
    - resumePolicy
    title: Resume
    type: object
  CreateOrderSuspend:
    description: 'Information about an order action of type `Suspend`.

      '
    properties:
      suspendPeriods:
        description: "This field is applicable only when the `suspendPolicy` field\
          \ is set to `FixedPeriodsFromToday`. It must be used together with the `suspendPeriodsType`\
          \ field. \n\nThe total number of the periods used to specify when a subscription\
          \ suspension takes effect. The subscription suspension will take place after\
          \ the specified time frame (`suspendPeriods` multiplied by `suspendPeriodsType`)\
          \ from today's date. \n"
        type: integer
      suspendPeriodsType:
        description: "This field is applicable only when the `suspendPolicy` field\
          \ is set to `FixedPeriodsFromToday`. It must be used together with the `suspendPeriods`\
          \ field.\n\nThe period type used to specify when a subscription suspension\
          \ takes effect. The subscription suspension will take place after the specified\
          \ time frame (`suspendPeriods` multiplied by `suspendPeriodsType`) from\
          \ today's date. \n"
        enum:
        - Day
        - Week
        - Month
        - Year
        type: string
      suspendPolicy:
        description: 'Suspend methods. Specify a way to suspend a subscription. See
          [Suspend Date](https://knowledgecenter.zuora.com/BC_Subscription_Management/Subscriptions/Suspend_a_Subscription#Suspend_Date)
          for more information.

          '
        enum:
        - Today
        - EndOfLastInvoicePeriod
        - FixedPeriodsFromToday
        - SpecificDate
        type: string
      suspendSpecificDate:
        description: |
          This field is applicable only when the `suspendPolicy` field is set to `SpecificDate`.

          A specific date when the subscription suspension takes effect, in YYYY-MM-DD format. The value should not be earlier than the subscription's contract effective date or later than the subscription's term end date.
        format: date
        type: string
    required:
    - suspendPolicy
    title: Suspend
    type: object
  CreateOrderTermsAndConditions:
    description: 'Information about an order action of type `TermsAndConditions`.

      '
    properties:
      autoRenew:
        type: boolean
      lastTerm:
        $ref: '#/definitions/LastTerm'
      renewalSetting:
        enum:
        - RENEW_WITH_SPECIFIC_TERM
        - RENEW_TO_EVERGREEN
        type: string
      renewalTerms:
        items:
          $ref: '#/definitions/RenewalTerm'
        type: array
    title: termsAndConditions
    type: object
  CreateOrderTriggerParams:
    description: 'Specifies when a charge becomes active.

      '
    properties:
      specificTriggerDate:
        description: "Date in YYYY-MM-DD format. Only applicable if the value of the\
          \ `triggerEvent` field is `SpecificDate`. \n\nWhile this field is applicable,\
          \ if this field is not set, your `CreateSubscription` order action creates\
          \ a `Pending` order and a `Pending Acceptance` subscription. If at the same\
          \ time the service activation date is required and not set, a `Pending Activation`\
          \ subscription is created.\n\nWhile this field is applicable, if this field\
          \ is not set, the following order actions create a `Pending` order but do\
          \ not impact the subscription status. **Note**: This feature is in **Limited\
          \ Availability**. If you want to have access to the feature, submit a request\
          \ at [Zuora Global Support](http://support.zuora.com/).\n * AddProduct\n\
          \ * UpdateProduct\n * RemoveProduct\n * RenewSubscription\n * TermsAndConditions\n"
        format: date
        type: string
      triggerEvent:
        description: |
          Condition for the charge to become active.

          If the value of this field is `SpecificDate`, use the `specificTriggerDate` field to specify the date when the charge becomes active.
        enum:
        - ContractEffective
        - ServiceActivation
        - CustomerAcceptance
        - SpecificDate
        type: string
    title: startDate
    type: object
  CreatePMPayPalECPayPalNativeEC:
    properties:
      BAID:
        description: 'ID of a PayPal billing agreement. For example, I-1TJ3GAGG82Y9.

          '
        type: string
      email:
        description: 'Email address associated with the payment method. This field
          is required if you want to create a PayPal Express Checkout payment method
          or a PayPal Adaptive payment method.

          '
        type: string
    type: object
  CreatePaymentMethodACH:
    properties:
      addressLine1:
        description: 'First address line, 255 characters or less.

          '
        type: string
      addressLine2:
        description: 'Second address line, 255 characters or less.

          '
        type: string
      bankABACode:
        description: 'The nine-digit routing number or ABA number used by banks. This
          field is only required if the `type` field is set to `ACH`.

          '
        type: string
      bankAccountName:
        description: 'The name of the account holder, which can be either a person
          or a company. This field is only required if the `type` field is set to
          `ACH`.

          '
        maxLength: 70
        type: string
      bankAccountNumber:
        description: 'The bank account number associated with the ACH payment. This
          field is only required if the `type` field is set to `ACH`.

          '
        maxLength: 30
        type: string
      bankAccountType:
        description: 'The type of bank account associated with the ACH payment. This
          field is only required if the `type` field is set to `ACH`.

          '
        enum:
        - BusinessChecking
        - Checking
        - Saving
        type: string
      bankName:
        description: 'The name of the bank where the ACH payment account is held.
          This field is only required if the `type` field is set to `ACH`.

          '
        maxLength: 70
        type: string
      city:
        description: "City, 40 characters or less.\n    \n"
        type: string
      country:
        description: 'Country, must be a valid country name or abbreviation.

          '
        type: string
      phone:
        description: 'Phone number, 40 characters or less.

          '
        type: string
      state:
        description: 'State, must be a valid state name or 2-character abbreviation.

          '
        type: string
      zipCode:
        description: 'Zip code, 20 characters or less.

          '
        type: string
    type: object
  CreatePaymentMethodBankTransfer:
    properties:
      IBAN:
        description: 'The International Bank Account Number. This field is used to
          create the SEPA payment method.

          '
        type: string
      accountNumber:
        description: 'The number of the customer''s bank account. Use this field for
          direct debit payment methods.

          '
        type: string
      bankCode:
        description: "The sort code or number that identifies the bank. This is also\
          \ known as the sort code. \n"
        type: string
      branchCode:
        description: "The branch code of the bank used for direct debit.     \n"
        type: string
      businessIdentificationCode:
        description: 'The BIC code used for SEPA.

          '
        type: string
      identityNumber:
        description: 'The identity number used for Bank Transfer.

          '
        type: string
    type: object
  CreatePaymentMethodCardholderInfo:
    description: |
      Container for cardholder information. If provided, Zuora will
      only use this information for this card. Otherwise, Zuora will use
      the account''s existing bill-to contact information for this card.
    properties:
      addressLine1:
        description: 'First address line, 255 characters or less.

          '
        type: string
      addressLine2:
        description: 'Second address line, 255 characters or less.

          '
        type: string
      cardHolderName:
        description: 'The card holder''s full name as it appears on the card, e.g.,
          "John J Smith", 50 characters or less.

          '
        type: string
      city:
        description: 'City, 40 characters or less.

          '
        type: string
      country:
        description: 'Country, must be a valid country name or abbreviation.

          '
        type: string
      email:
        description: 'Card holder''s email address, 80 characters or less.

          '
        type: string
      phone:
        description: 'Phone number, 40 characters or less.

          '
        type: string
      state:
        description: 'State; must be a valid state name or 2-character abbreviation.

          '
        type: string
      zipCode:
        description: 'Zip code, 20 characters or less.

          '
        type: string
    required:
    - cardHolderName
    title: cardHolderInfo
    type: object
  CreatePaymentMethodCommon:
    properties:
      accountKey:
        description: 'Internal ID of the customer account that will own the payment
          method.

          '
        type: string
      authGateway:
        description: |
          Internal ID of the payment gateway that Zuora will use to authorize the payments that are made with the payment method.

          If you do not set this field, Zuora will use one of the following payment gateways instead:

          * The default payment gateway of the customer account that owns the payment method, if the `accountKey` field is set.
          * The default payment gateway of your Zuora tenant, if the `accountKey` field is not set.
        type: string
      makeDefault:
        default: false
        description: 'Specifies whether the payment method will be the default payment
          method of the customer account that owns the payment method. Only applicable
          if the `accountKey` field is set.

          '
        type: boolean
    type: object
  CreatePaymentMethodCreditCard:
    properties:
      cardHolderInfo:
        $ref: '#/definitions/CreatePaymentMethodCardholderInfo'
      cardNumber:
        description: 'Credit card number.

          '
        type: string
      cardType:
        description: |
          The type of the credit card.

          Possible values include `Visa`, `MasterCard`, `AmericanExpress`, `Discover`, `JCB`, and `Diners`. For more information about credit card types supported by different payment gateways, see [Supported Payment Gateways](https://knowledgecenter.zuora.com/CB_Billing/M_Payment_Gateways/Supported_Payment_Gateways).
        type: string
      checkDuplicated:
        description: "Indicates whether the duplication check is performed when you\
          \ create a new credit card payment method. The default value is `false`.\n\
          \nWith this field set to `true`, Zuora will check all active payment methods\
          \ associated with the same billing account to ensure that no duplicate credit\
          \ card payment methods are created. An error is returned if a duplicate\
          \ payment method is found.\n        \nThe following fields are used for\
          \ the duplication check:\n  * `cardHolderName`\n  * `expirationMonth`\n\
          \  * `expirationYear`\n  * `creditCardMaskNumber`. It is the masked credit\
          \ card number generated by Zuora. For example, `****1234`. \n"
        type: boolean
      expirationMonth:
        description: 'One or two digit expiration month (1-12) of the credit card.

          '
        type: string
      expirationYear:
        description: 'Four-digit expiration year of the credit card.

          '
        type: string
      mitConsentAgreementRef:
        description: 'Specifies your reference for the stored credential consent agreement
          that you have established with the customer. Only applicable if you set
          the `mitProfileAction` field.

          '
        maxLength: 128
        type: string
      mitConsentAgreementSrc:
        description: 'Required if you set the `mitProfileAction` field.

          '
        enum:
        - External
        type: string
      mitNetworkTransactionId:
        description: 'Specifies the ID of a network transaction. Only applicable if
          you set the `mitProfileAction` field to `Persist`.

          '
        maxLength: 128
        type: string
      mitProfileAction:
        description: "If you set this field, Zuora creates a stored credential profile\
          \ within the payment method.\n\n**Note:** This feature is in **Limited Availability**.\
          \ We are actively soliciting feedback from a small set of early adopters\
          \ before releasing as generally available.\n\n* `Activate` - Use this value\
          \ if you are creating the stored credential profile after receiving the\
          \ customer's consent.\n\n  Zuora will create the stored credential profile\
          \ then send a cardholder-initiated transaction (CIT) to the payment gateway\
          \ to validate the stored credential profile. If the CIT succeeds, the status\
          \ of the stored credential profile will be `Active`. If the CIT does not\
          \ succeed, Zuora will not create a stored credential profile.\n  \n  If\
          \ the payment gateway does not support the stored credential transaction\
          \ framework, the status of the stored credential profile will be `Agreed`.\n\
          \n\n* `Persist` - Use this value if the stored credential profile represents\
          \ a stored credential profile in an external system. The status of the payment\
          \ method's stored credential profile will be `Active`.\n"
        enum:
        - Activate
        - Persist
        type: string
      mitProfileAgreedOn:
        description: 'The date on which the profile is agreed. Required if you set
          the `mitProfileAction` field. The date format is `yyyy-mm-dd`.

          '
        format: date
        type: string
      mitProfileType:
        description: 'Required if you set the `mitProfileAction` field.

          '
        enum:
        - Recurring
        type: string
      securityCode:
        description: |
          CVV or CVV2 security code of the credit card.

          To ensure PCI compliance, this value is not stored and cannot be queried.
        type: string
    type: object
  CreatePaymentMethodPayPalAdaptive:
    properties:
      preapprovalKey:
        description: 'The PayPal preapproval key.

          '
        type: string
    type: object
  CreatePaymentType:
    allOf:
    - properties:
        accountId:
          description: 'The ID of the customer account that the payment is created
            for.

            '
          type: string
        amount:
          description: 'The total amount of the payment.

            '
          format: double
          type: number
        authTransactionId:
          description: 'The authorization transaction ID from the payment gateway.
            Use this field for electronic payments, such as credit cards.

            '
          maxLength: 50
          type: string
        comment:
          description: 'Additional information related to the payment.

            '
          maxLength: 255
          minLength: 0
          type: string
        currency:
          description: 'A currency defined in the web-based UI administrative settings.

            '
          type: string
        debitMemos:
          description: 'Container for debit memos.

            '
          items:
            $ref: '#/definitions/PaymentDebitMemoApplicationCreateRequestType'
          type: array
        effectiveDate:
          description: 'The date when the payment takes effect, in `yyyy-mm-dd` format.

            '
          format: date
          type: string
        financeInformation:
          description: 'Container for the finance information related to the payment.

            '
          properties:
            bankAccountAccountingCode:
              description: 'The accounting code that maps to a bank account in your
                accounting system.

                '
              maxLength: 100
              minLength: 0
              type: string
            transferredToAccounting:
              description: "Whether the payment was transferred to an external accounting\
                \ system. Use this field for integration with accounting systems,\
                \ such as NetSuite. \n"
              enum:
              - Processing
              - 'Yes'
              - 'No'
              - Error
              - Ignore
              type: string
            unappliedPaymentAccountingCode:
              description: 'The accounting code for the unapplied payment.

                '
              maxLength: 100
              minLength: 0
              type: string
          type: object
        gatewayId:
          description: "The ID of the gateway instance that processes the payment.\
            \ The ID must be a valid gateway instance ID and this gateway must support\
            \ the specific payment method. \n\n- When creating electronic payments,\
            \ this field is required. \n- When creating external payments, this field\
            \ is optional.\n"
          type: string
        gatewayOrderId:
          description: "A merchant-specified natural key value that can be passed\
            \ to the electronic payment gateway when a payment is created. If not\
            \ specified, the payment number will be passed in instead.\n\nGateways\
            \ check duplicates on the gateway order ID to ensure that the merchant\
            \ do not accidentally enter the same transaction twice. This ID can also\
            \ be used to do reconciliation and tie the payment to a natural key in\
            \ external systems. The source of this ID varies by merchant. Some merchants\
            \ use their shopping cart order IDs, and others use something different.\
            \ Merchants use this ID to track transactions in their eCommerce systems.\
            \ \n"
          maxLength: 50
          type: string
        invoices:
          description: 'Container for invoices.

            '
          items:
            $ref: '#/definitions/PaymentInvoiceApplicationCreateRequestType'
          type: array
        paymentMethodId:
          description: "The unique ID of the payment method that the customer used\
            \ to make the payment. \n\nIf no payment method ID is specified in the\
            \ request body, the default payment method for the customer account is\
            \ used automatically. If the default payment method is different from\
            \ the type of payments that you want to create, an error occurs.\n"
          type: string
        referenceId:
          description: 'The transaction ID returned by the payment gateway. Use this
            field to reconcile payments between your gateway and Zuora Payments.

            '
          maxLength: 60
          minLength: 0
          type: string
        type:
          description: 'The type of the payment.

            '
          enum:
          - External
          - Electronic
          type: string
      required:
      - amount
      - currency
      - type
      type: object
    - $ref: '#/definitions/PaymentObjectNSFields'
    - $ref: '#/definitions/PaymentObjectCustomFields'
    example:
      accountId: 4028905f5a87c0ff015a87d25ae90025
      amount: 44.1
      comment: normal payment
      currency: USD
      debitMemos:
      - amount: 4.1
        debitMemoId: 4028905f5a87c0ff015a87e49e6b0062
        items:
        - amount: 4
          debitMemoItemId: 4028905f5a87c0ff015a87e49e7a0063
        - amount: 0.1
          taxItemId: 4028905f5a87c0ff015a87e49f5e0065
      effectiveDate: '2017-03-01'
      invoices:
      - amount: 40
        invoiceId: 4028905f5a87c0ff015a87d3f8f10043
        items:
        - amount: 39
          invoiceItemId: 4028905f5a87c0ff015a87d3f90c0045
        - amount: 1
          taxItemId: 4028905f5a87c0ff015a87d3f884003f
      paymentMethodId: 402881e522cf4f9b0122cf5dc4020045
      type: External
  CreateStoredCredentialProfileRequest:
    example:
      authGateway: 4028905f5702783601570291e14c0015
      consentAgreementRef: ACCT1338AgreementV1.pdf
      consentAgreementSrc: External
      status: Active
      type: Recurring
    properties:
      action:
        description: "Specifies how Zuora activates the stored credential profile.\
          \ Only applicable if you set the `status` field to `Active`.\n\n* `Activate`\
          \ (default) - Use this value if you are creating the stored credential profile\
          \ after receiving the customer's consent.\n\n  Zuora will create the stored\
          \ credential profile then send a cardholder-initiated transaction (CIT)\
          \ to the payment gateway to validate the stored credential profile. If the\
          \ CIT succeeds, the status of the stored credential profile will be `Active`.\
          \ If the CIT does not succeed, Zuora will not create a stored credential\
          \ profile.\n  \n  If the payment gateway does not support the stored credential\
          \ transaction framework, the status of the stored credential profile will\
          \ be `Agreed`.\n\n\n* `Persist` - Use this value if the stored credential\
          \ profile represents a stored credential profile in an external system.\
          \ The status of the payment method's stored credential profile will be `Active`.\n"
        enum:
        - Activate
        - Persist
        type: string
      agreedOn:
        description: 'The date on which the profile is agreed. The date format is
          `yyyy-mm-dd`.

          '
        format: date
        type: string
      authGateway:
        description: 'Specifies the ID of the payment gateway that Zuora will use
          when activating the stored credential profile.

          '
        type: string
      cardSecurityCode:
        description: 'The security code of the credit card.

          '
        type: string
      consentAgreementRef:
        description: 'Specifies your reference for the consent agreement that you
          have established with the customer.

          '
        maxLength: 128
        type: string
      consentAgreementSrc:
        enum:
        - External
        type: string
      networkTransactionId:
        description: 'The ID of a network transaction.

          '
        maxLength: 128
        type: string
      status:
        description: |
          Specifies the status of the stored credential profile.

          * `Active` - Use this value if you are creating the stored credential profile after receiving the customer's consent, or if the stored credential profile represents a stored credential profile in an external system.

            You can use the `action` field to specify how Zuora activates the stored credential profile.


          * `Agreed` - Use this value if you are migrating the payment method to the stored credential transaction framework.

            In this case, Zuora will not send a cardholder-initiated transaction (CIT) to the payment gateway to validate the stored credential profile.
        enum:
        - Agreed
        - Active
        type: string
      type:
        enum:
        - Recurring
        type: string
    required:
    - status
    - type
    - consentAgreementSrc
    type: object
  CreateSubscription:
    description: 'Information about an order action of type `CreateSubscription`.

      '
    properties:
      invoiceSeparately:
        description: 'Specifies whether the subscription appears on a separate invoice
          when Zuora generates invoices.

          '
        type: boolean
      newSubscriptionOwnerAccount:
        description: |
          Information about a new account that will own the subscription. Only available if you have enabled the Owner Transfer feature.

          **Note:** The Owner Transfer feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

          If you do not set this field or the `subscriptionOwnerAccountNumber` field, the account that owns the order will also own the subscription. Zuora will return an error if you set this field and the `subscriptionOwnerAccountNumber` field.
        properties:
          accountNumber:
            description: 'Account number. For example, A00000001.

              '
            maxLength: 70
            type: string
          autoPay:
            description: 'Specifies whether future payments are automatically billed
              when they are due.

              '
            type: boolean
          batch:
            description: 'Name of the billing batch that the account belongs to. For
              example, Batch1.

              '
            type: string
          billCycleDay:
            description: 'Day of the month that the account prefers billing periods
              to begin on. If set to 0, the bill cycle day will be set as "AutoSet".

              '
            maximum: 31
            minimum: 0
            type: integer
          billToContact:
            $ref: '#/definitions/BillToContact'
          communicationProfileId:
            description: 'Internal identifier of the communication profile that Zuora
              uses when sending notifications to the account''s contacts.

              '
            type: string
          creditCard:
            $ref: '#/definitions/creditCard'
          crmId:
            description: 'External identifier of the account in a CRM system.

              '
            maxLength: 100
            type: string
          currency:
            description: 'ISO 3-letter currency code (uppercase). For example, USD.

              '
            type: string
          customFields:
            $ref: '#/definitions/AccountObjectCustomFields'
          hpmCreditCardPaymentMethodId:
            description: 'Internal identifier of the hosted payment method (HPM) credit
              card payment method associated with the account.

              '
            type: string
          invoiceDeliveryPrefsEmail:
            description: "Specifies whether to turn on the invoice delivery method\
              \ 'Email' for the new account. \nValues are: \n\n* `true` (default).\
              \ Turn on the invoice delivery method 'Email' for the new account.\n\
              * `false`. Turn off the invoice delivery method 'Email' for the new\
              \ account.         \n"
            type: boolean
          invoiceDeliveryPrefsPrint:
            description: "Specifies whether to turn on the invoice delivery method\
              \ 'Print' for the new account.\nValues are: \n\n* `true`. Turn on the\
              \ invoice delivery method 'Print' for the new account.\n* `false` (default).\
              \ Turn off the invoice delivery method 'Print' for the new account.\n"
            type: boolean
          invoiceTemplateId:
            description: 'Internal identifier of the invoice template that Zuora uses
              when generating invoices for the account.

              '
            type: string
          name:
            description: 'Account name.

              '
            maxLength: 70
            type: string
          notes:
            description: 'Notes about the account. These notes are only visible to
              Zuora users.

              '
            maxLength: 65535
            type: string
          parentId:
            description: Identifier of the parent customer account for this Account
              object. Use this field if you have customer hierarchy enabled.
            type: string
          paymentGateway:
            description: 'The payment gateway that Zuora uses when processing electronic
              payments and refunds for the account. If you do not specify this field
              or if the value of this field is null, Zuora uses your default payment
              gateway.

              '
            maxLength: 40
            type: string
          paymentMethod:
            $ref: '#/definitions/PaymentMethod'
          paymentTerm:
            description: 'Name of the payment term associated with the account. For
              example, "Net 30". The payment term determines the due dates of invoices.

              '
            type: string
          soldToContact:
            $ref: '#/definitions/SoldToContact'
          taxInfo:
            $ref: '#/definitions/TaxInfo'
        required:
        - name
        - currency
        - billCycleDay
        - billToContact
        type: object
      notes:
        description: 'Notes about the subscription. These notes are only visible to
          Zuora users.

          '
        maxLength: 500
        type: string
      subscribeToRatePlans:
        description: 'List of rate plans associated with the subscription.

          '
        items:
          $ref: '#/definitions/RatePlanOverride'
        type: array
      subscriptionNumber:
        description: |
          Subscription number of the subscription. For example, A-S00000001.

          If you do not set this field, Zuora will generate the subscription number.
        maxLength: 100
        type: string
      subscriptionOwnerAccountNumber:
        description: |
          Account number of an existing account that will own the subscription. For example, A00000001.

          If you do not set this field or the `newSubscriptionOwnerAccount` field, the account that owns the order will also own the subscription. Zuora will return an error if you set this field and the `newSubscriptionOwnerAccount` field.
        maxLength: 70
        type: string
      terms:
        description: 'Container for the terms and renewal settings of the subscription.

          '
        properties:
          autoRenew:
            description: 'Specifies whether the subscription automatically renews
              at the end of the each term. Only applicable if the type of the first
              term is `TERMED`.

              '
            type: boolean
          initialTerm:
            description: 'Information about the first term of the subscription.

              '
            properties:
              period:
                description: |
                  Duration of the first term in months, years, days, or weeks, depending on the value of the `periodType` field. Only applicable if the value of the `termType` field is `TERMED`.

                  The duration of the first term cannot be greater than 10 years.
                type: integer
              periodType:
                description: 'Unit of time that the first term is measured in. Only
                  applicable if the value of the `termType` field is `TERMED`.

                  '
                enum:
                - Month
                - Year
                - Day
                - Week
                type: string
              startDate:
                description: 'Start date of the first term, in YYYY-MM-DD format.

                  '
                format: date
                type: string
              termType:
                description: 'Type of the first term. If the value of this field is
                  `TERMED`, the first term has a predefined duration based on the
                  value of the `period` field. If the value of this field is `EVERGREEN`,
                  the first term does not have a predefined duration.

                  '
                enum:
                - TERMED
                - EVERGREEN
                type: string
            required:
            - termType
            type: object
          renewalSetting:
            description: |
              Specifies the type of the terms that follow the first term if the subscription is renewed. Only applicable if the type of the first term is `TERMED`.

              * `RENEW_WITH_SPECIFIC_TERM` - Each renewal term has a predefined duration. The first entry in `renewalTerms` specifies the duration of the second term of the subscription, the second entry in `renewalTerms` specifies the duration of the third term of the subscription, and so on. The last entry in `renewalTerms` specifies the ultimate duration of each renewal term.
              * `RENEW_TO_EVERGREEN` - The second term of the subscription does not have a predefined duration.
            enum:
            - RENEW_WITH_SPECIFIC_TERM
            - RENEW_TO_EVERGREEN
            type: string
          renewalTerms:
            description: 'List of renewal terms of the subscription. Only applicable
              if the type of the first term is `TERMED` and the value of the `renewalSetting`
              field is `RENEW_WITH_SPECIFIC_TERM`.

              '
            items:
              $ref: '#/definitions/RenewalTerm'
            type: array
        required:
        - initialTerm
        - renewalTerms
        type: object
    title: createSubscription
    type: object
  CreateSubscriptionForEvergreen:
    description: 'Information about an order action of type `CreateSubscription`.

      '
    properties:
      invoiceSeparately:
        description: 'Specifies whether the subscription appears on a separate invoice
          when Zuora generates invoices.

          '
        type: boolean
      newSubscriptionOwnerAccount:
        description: |
          Information about a new account that will own the subscription. Only available if you have enabled the Owner Transfer feature.

          **Note:** The Owner Transfer feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

          If you do not set this field or the `subscriptionOwnerAccountNumber` field, the account that owns the order will also own the subscription. Zuora will return an error if you set this field and the `subscriptionOwnerAccountNumber` field.
        properties:
          accountNumber:
            description: 'Account number. For example, A00000001.

              '
            maxLength: 70
            type: string
          autoPay:
            description: 'Specifies whether future payments are automatically billed
              when they are due.

              '
            type: boolean
          batch:
            description: 'Name of the billing batch that the account belongs to. For
              example, Batch1.

              '
            type: string
          billCycleDay:
            description: 'Day of the month that the account prefers billing periods
              to begin on. If set to 0, the bill cycle day will be set as "AutoSet".

              '
            maximum: 31
            minimum: 0
            type: integer
          billToContact:
            $ref: '#/definitions/BillToContact'
          communicationProfileId:
            description: 'Internal identifier of the communication profile that Zuora
              uses when sending notifications to the account''s contacts.

              '
            type: string
          creditCard:
            $ref: '#/definitions/creditCard'
          crmId:
            description: 'External identifier of the account in a CRM system.

              '
            maxLength: 100
            type: string
          currency:
            description: 'ISO 3-letter currency code (uppercase). For example, USD.

              '
            type: string
          customFields:
            $ref: '#/definitions/AccountObjectCustomFields'
          hpmCreditCardPaymentMethodId:
            description: 'Internal identifier of the hosted payment method (HPM) credit
              card payment method associated with the account.

              '
            type: string
          invoiceDeliveryPrefsEmail:
            description: "Specifies whether to turn on the invoice delivery method\
              \ 'Email' for the new account. \nValues are: \n\n* `true` (default).\
              \ Turn on the invoice delivery method 'Email' for the new account.\n\
              * `false`. Turn off the invoice delivery method 'Email' for the new\
              \ account.         \n"
            type: boolean
          invoiceDeliveryPrefsPrint:
            description: "Specifies whether to turn on the invoice delivery method\
              \ 'Print' for the new account.\nValues are: \n\n* `true`. Turn on the\
              \ invoice delivery method 'Print' for the new account.\n* `false` (default).\
              \ Turn off the invoice delivery method 'Print' for the new account.\n"
            type: boolean
          invoiceTemplateId:
            description: 'Internal identifier of the invoice template that Zuora uses
              when generating invoices for the account.

              '
            type: string
          name:
            description: 'Account name.

              '
            maxLength: 70
            type: string
          notes:
            description: 'Notes about the account. These notes are only visible to
              Zuora users.

              '
            maxLength: 65535
            type: string
          parentId:
            description: Identifier of the parent customer account for this Account
              object. Use this field if you have customer hierarchy enabled.
            type: string
          paymentGateway:
            description: 'The payment gateway that Zuora uses when processing electronic
              payments and refunds for the account. If you do not specify this field
              or if the value of this field is null, Zuora uses your default payment
              gateway.

              '
            maxLength: 40
            type: string
          paymentMethod:
            $ref: '#/definitions/PaymentMethod'
          paymentTerm:
            description: 'Name of the payment term associated with the account. For
              example, "Net 30". The payment term determines the due dates of invoices.

              '
            type: string
          soldToContact:
            $ref: '#/definitions/SoldToContact'
          taxInfo:
            $ref: '#/definitions/TaxInfo'
        required:
        - name
        - currency
        - billCycleDay
        - billToContact
        type: object
      notes:
        description: 'Notes about the subscription. These notes are only visible to
          Zuora users.

          '
        maxLength: 500
        type: string
      subscribeToRatePlans:
        description: 'List of rate plans associated with the subscription.

          '
        items:
          $ref: '#/definitions/RatePlanOverrideForEvergreen'
        type: array
      subscriptionNumber:
        description: |
          Subscription number of the subscription. For example, A-S00000001.

          If you do not set this field, Zuora will generate the subscription number.
        maxLength: 100
        type: string
      subscriptionOwnerAccountNumber:
        description: |
          Account number of an existing account that will own the subscription. For example, A00000001.

          If you do not set this field or the `newSubscriptionOwnerAccount` field, the account that owns the order will also own the subscription. Zuora will return an error if you set this field and the `newSubscriptionOwnerAccount` field.
        maxLength: 70
        type: string
      terms:
        description: 'Container for the terms and renewal settings of the subscription.

          '
        properties:
          autoRenew:
            description: 'Specifies whether the subscription automatically renews
              at the end of the each term. Only applicable if the type of the first
              term is `TERMED`.

              '
            type: boolean
          initialTerm:
            description: 'Information about the first term of the subscription.

              '
            properties:
              period:
                description: |
                  Duration of the first term in months, years, days, or weeks, depending on the value of the `periodType` field. Only applicable if the value of the `termType` field is `TERMED`.

                  The duration of the first term cannot be greater than 10 years.
                type: integer
              periodType:
                description: 'Unit of time that the first term is measured in. Only
                  applicable if the value of the `termType` field is `TERMED`.

                  '
                enum:
                - Month
                - Year
                - Day
                - Week
                type: string
              startDate:
                description: 'Start date of the first term, in YYYY-MM-DD format.

                  '
                format: date
                type: string
              termType:
                description: 'Type of the first term. If the value of this field is
                  `TERMED`, the first term has a predefined duration based on the
                  value of the `period` field. If the value of this field is `EVERGREEN`,
                  the first term does not have a predefined duration.

                  '
                enum:
                - TERMED
                - EVERGREEN
                type: string
            required:
            - termType
            type: object
          renewalSetting:
            description: |
              Specifies the type of the terms that follow the first term if the subscription is renewed. Only applicable if the type of the first term is `TERMED`.

              * `RENEW_WITH_SPECIFIC_TERM` - Each renewal term has a predefined duration. The first entry in `renewalTerms` specifies the duration of the second term of the subscription, the second entry in `renewalTerms` specifies the duration of the third term of the subscription, and so on. The last entry in `renewalTerms` specifies the ultimate duration of each renewal term.
              * `RENEW_TO_EVERGREEN` - The second term of the subscription does not have a predefined duration.
            enum:
            - RENEW_WITH_SPECIFIC_TERM
            - RENEW_TO_EVERGREEN
            type: string
          renewalTerms:
            description: 'List of renewal terms of the subscription. Only applicable
              if the type of the first term is `TERMED` and the value of the `renewalSetting`
              field is `RENEW_WITH_SPECIFIC_TERM`.

              '
            items:
              $ref: '#/definitions/RenewalTerm'
            type: array
        required:
        - initialTerm
        - renewalTerms
        type: object
    title: createSubscription
    type: object
  CreditBalanceAdjustmentObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Credit Balance Adjustment object. The name
        of each custom field has the form <code>*customField*__c</code>. Custom field
        names are case sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Credit Balance Adjustment object.

      '
    title: creditBalanceAdjustmentFieldsCustom
    type: object
  CreditBalanceAdjustmentObjectNSFields:
    description: 'Container for Credit Balance Adjustment fields provided by the [Zuora
      Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

      '
    properties:
      IntegrationId__NS:
        description: 'ID of the corresponding object in NetSuite. Only available if
          you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      IntegrationStatus__NS:
        description: 'Status of the credit balance adjustment''s synchronization with
          NetSuite. Only available if you have installed the [Zuora Connector for
          NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      SyncDate__NS:
        description: 'Date when the credit balance adjustment was sychronized with
          NetSuite. Only available if you have installed the [Zuora Connector for
          NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
    title: creditBalanceAdjustmentFieldsNS
    type: object
  CreditMemoApplyDebitMemoItemRequestType:
    properties:
      amount:
        description: "The amount that is applied to the specific item. \n"
        format: double
        type: number
      creditMemoItemId:
        description: 'The ID of the credit memo item.

          '
        type: string
      creditTaxItemId:
        description: 'The ID of the credit memo taxation item.

          '
        type: string
      debitMemoItemId:
        description: 'The ID of the debit memo item that the credit memo item is applied
          to.

          '
        type: string
      taxItemId:
        description: 'The ID of the debit memo taxation item that the credit memo
          taxation item is applied to.

          '
        type: string
    required:
    - amount
    title: items
    type: object
  CreditMemoApplyDebitMemoRequestType:
    properties:
      amount:
        description: 'The credit memo amount to be applied to the debit memo.

          '
        format: double
        type: number
      debitMemoId:
        description: 'The unique ID of the debit memo that the credit memo is applied
          to.

          '
        type: string
      items:
        description: 'Container for items.

          '
        items:
          $ref: '#/definitions/CreditMemoApplyDebitMemoItemRequestType'
        type: array
    required:
    - amount
    - debitMemoId
    title: debitMemos
    type: object
  CreditMemoApplyInvoiceItemRequestType:
    properties:
      amount:
        description: "The amount that is applied to the specific item. \n"
        format: double
        type: number
      creditMemoItemId:
        description: 'The ID of the credit memo item.

          '
        type: string
      creditTaxItemId:
        description: 'The ID of the credit memo taxation item.

          '
        type: string
      invoiceItemId:
        description: 'The ID of the invoice item that the credit memo item is applied
          to.

          '
        type: string
      taxItemId:
        description: 'The ID of the invoice taxation item that the credit memo taxation
          item is applied to.

          '
        type: string
    required:
    - amount
    title: items
    type: object
  CreditMemoApplyInvoiceRequestType:
    properties:
      amount:
        description: 'The credit memo amount to be applied to the invoice.

          '
        format: double
        type: number
      invoiceId:
        description: 'The unique ID of the invoice that the credit memo is applied
          to.

          '
        type: string
      items:
        description: 'Container for items.

          '
        items:
          $ref: '#/definitions/CreditMemoApplyInvoiceItemRequestType'
        type: array
    required:
    - amount
    - invoiceId
    title: invoices
    type: object
  CreditMemoEntityPrefix:
    description: |
      Container for the prefix and starting document number of credit memos.

      **Note:** This field is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
    properties:
      prefix:
        description: 'The prefix of credit memos.

          '
        example: CM
        type: string
      startNumber:
        description: 'The starting document number of credit memos.

          '
        example: 10
        type: integer
    title: creditMemo
    type: object
  CreditMemoFromChargeDetailType:
    allOf:
    - properties:
        amount:
          description: |
            The amount of the credit memo item.

            **Note**: This field is only available if you set the `zuora-version` request header to `224.0` or later.
          format: double
          type: number
        chargeId:
          description: |
            The ID of the product rate plan charge that the credit memo is created from.

            **Note**: This field is not available if you set the `zuora-version` request header to `257.0` or later.
          type: string
        comment:
          description: |
            Comments about the product rate plan charge.

            **Note**: This field is not available if you set the `zuora-version` request header to `257.0` or later.
          maxLength: 255
          minLength: 0
          type: string
        description:
          description: |
            The description of the product rate plan charge.

            **Note**: This field is only available if you set the `zuora-version` request header to `257.0` or later.
          maxLength: 255
          minLength: 0
          type: string
        financeInformation:
          description: 'Container for the finance information related to the product
            rate plan charge associated with the credit memo.

            '
          properties:
            deferredRevenueAccountingCode:
              description: 'The accounting code for the deferred revenue, such as
                Monthly Recurring Liability.

                '
              maxLength: 100
              minLength: 0
              type: string
            onAccountAccountingCode:
              description: 'The accounting code that maps to an on account in your
                accounting system.

                '
              maxLength: 100
              minLength: 0
              type: string
            recognizedRevenueAccountingCode:
              description: 'The accounting code for the recognized revenue, such as
                Monthly Recurring Charges or Overage Charges.

                '
              maxLength: 100
              minLength: 0
              type: string
            revenueRecognitionRuleName:
              description: 'The name of the revenue recognition rule governing the
                revenue schedule.

                '
              maxLength: 100
              minLength: 0
              type: string
          type: object
        memoItemAmount:
          description: |
            The amount of the credit memo item.

            **Note**: This field is not available if you set the `zuora-version` request header to `224.0` or later.
          format: double
          type: number
        productRatePlanChargeId:
          description: |
            The ID of the product rate plan charge that the credit memo is created from.

            **Note**: This field is only available if you set the `zuora-version` request header to `257.0` or later.
          type: string
        quantity:
          description: 'The number of units for the credit memo item.

            '
          format: double
          type: number
        serviceEndDate:
          description: 'The service end date of the credit memo item. If not specified,
            the effective end date of the corresponding product rate plan will be
            used.

            '
          format: date
          type: string
        serviceStartDate:
          description: 'The service start date of the credit memo item. If not specified,
            the effective start date of the corresponding product rate plan will be
            used.

            '
          format: date
          type: string
      required:
      - chargeId
      - productRatePlanChargeId
      type: object
    - $ref: '#/definitions/CreditMemoItemObjectCustomFields'
    title: charges
  CreditMemoFromChargeType:
    allOf:
    - properties:
        accountId:
          description: 'The ID of the account associated with the credit memo.

            '
          type: string
        charges:
          description: 'Container for product rate plan charges.

            '
          items:
            $ref: '#/definitions/CreditMemoFromChargeDetailType'
          type: array
        comment:
          description: 'Comments about the credit memo.

            '
          type: string
        effectiveDate:
          description: 'The date when the credit memo takes effect.

            '
          format: date
          type: string
        reasonCode:
          description: 'A code identifying the reason for the transaction. The value
            must be an existing reason code or empty. If you do not specify a value,
            Zuora uses the default reason code.

            '
          type: string
      required:
      - accountId
      type: object
    - $ref: '#/definitions/CreditMemoObjectNSFields'
    - $ref: '#/definitions/CreditMemoObjectCustomFields'
    example:
      accountId: 402890555a7e9791015a7f15fe44001c
      charges:
      - amount: null
        chargeId: 402890555a87d7f5015a88c613c5001e
        comment: this is comment1
        quantity: 1
        serviceEndDate: '2018-10-17'
        serviceStartDate: '2017-10-17'
      - amount: 20
        chargeId: 402890555a7d4022015a7d90906b0067
        comment: this is comment2
        serviceEndDate: '2018-10-17'
        serviceStartDate: '2017-10-17'
      comment: the comment
      effectiveDate: '2017-10-17'
      reasonCode: Correcting invoice error
  CreditMemoFromInvoiceType:
    allOf:
    - properties:
        autoApplyToInvoiceUponPosting:
          description: 'Whether the credit memo automatically applies to the invoice
            upon posting.

            '
          type: boolean
        comment:
          description: 'Comments about the credit memo.

            '
          maxLength: 255
          minLength: 0
          type: string
        effectiveDate:
          description: 'The date when the credit memo takes effect.

            '
          format: date
          type: string
        excludeFromAutoApplyRules:
          description: 'Whether the credit memo is excluded from the rule of automatically
            applying credit memos to invoices.

            '
          type: boolean
        invoiceId:
          description: 'The ID of the invoice that the credit memo is created from.

            '
          type: string
        items:
          description: 'Container for items.

            '
          items:
            $ref: '#/definitions/CreditMemoItemFromInvoiceItemType'
          type: array
        reasonCode:
          description: 'A code identifying the reason for the transaction. The value
            must be an existing reason code or empty. If you do not specify a value,
            Zuora uses the default reason code.

            '
          type: string
        taxAutoCalculation:
          default: true
          description: 'Whether to automatically calculate taxes in the credit memo.

            '
          type: boolean
      type: object
    - $ref: '#/definitions/CreditMemoObjectNSFields'
    - $ref: '#/definitions/CreditMemoObjectCustomFields'
    example:
      autoApplyToInvoiceUponPosting: false
      comment: the comment
      effectiveDate: '2016-11-30'
      excludeFromAutoApplyRules: false
      items:
      - amount: 1
        comment: This is comment!
        invoiceItemId: 4028905558b483220158b48983dd0015
        quantity: 1
        serviceEndDate: '2016-11-30'
        serviceStartDate: '2016-11-01'
        skuName: SKU-30
        taxItems:
        - amount: 0.01
          jurisdiction: CALIFORNIA
          locationCode: '06'
          sourceTaxItemId: 4028905558b483220158b48983150010
          taxCode: null
          taxCodeDescription: This is tax code description!
          taxDate: '2016-11-30'
          taxExemptAmount: 0.0
          taxName: STATE TAX
          taxRate: 0.0625
          taxRateDescription: This is tax rate description!
          taxRateType: Percentage
        unitOfMeasure: Test_UOM
      reasonCode: Write-off
  CreditMemoItemFromInvoiceItemType:
    allOf:
    - properties:
        amount:
          description: 'The amount of the credit memo item.

            '
          format: double
          type: number
        comment:
          description: |
            Comments about the credit memo item.

            **Note**: This field is not available if you set the `zuora-version` request header to `257.0` or later.
          type: string
        description:
          description: |
            The description of the credit memo item.

            **Note**: This field is only available if you set the `zuora-version` request header to `257.0` or later.
          type: string
        financeInformation:
          description: 'Container for the finance information related to the credit
            memo item.

            '
          properties:
            deferredRevenueAccountingCode:
              description: 'The accounting code for the deferred revenue, such as
                Monthly Recurring Liability.

                '
              maxLength: 100
              minLength: 0
              type: string
            onAccountAccountingCode:
              description: 'The accounting code that maps to an on account in your
                accounting system.

                '
              maxLength: 100
              minLength: 0
              type: string
            recognizedRevenueAccountingCode:
              description: 'The accounting code for the recognized revenue, such as
                Monthly Recurring Charges or Overage Charges.

                '
              maxLength: 100
              minLength: 0
              type: string
            revenueRecognitionRuleName:
              description: 'The name of the revenue recognition rule governing the
                revenue schedule.

                '
              maxLength: 100
              minLength: 0
              type: string
          type: object
        invoiceItemId:
          description: 'The ID of the invoice item.

            '
          type: string
        quantity:
          description: 'The number of units for the credit memo item.

            '
          format: double
          type: number
        serviceEndDate:
          description: 'The service end date of the credit memo item.

            '
          format: date
          type: string
        serviceStartDate:
          description: 'The service start date of the credit memo item.

            '
          format: date
          type: string
        skuName:
          description: 'The name of the SKU.

            '
          type: string
        taxItems:
          description: 'Container for taxation items.

            '
          items:
            $ref: '#/definitions/CreditMemoTaxItemFromInvoiceTaxItemType'
          type: array
        unitOfMeasure:
          description: 'The definable unit that you measure when determining charges.

            '
          type: string
      required:
      - skuName
      - amount
      type: object
    - $ref: '#/definitions/CreditMemoItemObjectCustomFields'
    title: items
  CreditMemoItemFromWriteOffInvoice:
    allOf:
    - properties:
        comment:
          description: 'Comments about the credit memo item.

            '
          type: string
        financeInformation:
          description: 'Container for the finance information related to the credit
            memo item.

            '
          properties:
            deferredRevenueAccountingCode:
              description: 'The accounting code for the deferred revenue, such as
                Monthly Recurring Liability.

                '
              maxLength: 100
              minLength: 0
              type: string
            onAccountAccountingCode:
              description: 'The accounting code that maps to an on account in your
                accounting system.

                '
              maxLength: 100
              minLength: 0
              type: string
            recognizedRevenueAccountingCode:
              description: 'The accounting code for the recognized revenue, such as
                Monthly Recurring Charges or Overage Charges.

                '
              maxLength: 100
              minLength: 0
              type: string
            revenueRecognitionRuleName:
              description: 'The name of the revenue recognition rule governing the
                revenue schedule.

                '
              maxLength: 100
              minLength: 0
              type: string
          type: object
        invoiceItemId:
          description: 'The ID of the invoice item.

            '
          type: string
        serviceEndDate:
          description: "The service end date of the credit memo item. \n"
          format: date
          type: string
        serviceStartDate:
          description: "The service start date of the credit memo item. \n"
          format: date
          type: string
        skuName:
          description: 'The name of the SKU.

            '
          type: string
        unitOfMeasure:
          description: 'The definable unit that you measure when determining charges.

            '
          type: string
      type: object
    - $ref: '#/definitions/CreditMemoItemObjectCustomFields'
    title: items
  CreditMemoItemObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Credit Memo Item object. The name of each
        custom field has the form <code>*customField*__c</code>. Custom field names
        are case sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Credit Memo Item object.

      '
    title: creditMemoItemFieldsCustom
    type: object
  CreditMemoObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Credit Memo object. The name of each custom
        field has the form <code>*customField*__c</code>. Custom field names are case
        sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Credit Memo object.

      '
    title: creditMemoFieldsCustom
    type: object
  CreditMemoObjectNSFields:
    description: 'Container for Credit Memo fields provided by the [Zuora Connector
      for NetSuite](https://www.zuora.com/connect/app/?appId=265).

      '
    properties:
      IntegrationId__NS:
        description: 'ID of the corresponding object in NetSuite. Only available if
          you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      IntegrationStatus__NS:
        description: 'Status of the credit memo''s synchronization with NetSuite.
          Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      Origin__NS:
        description: 'Origin of the corresponding object in NetSuite. Only available
          if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      SyncDate__NS:
        description: 'Date when the credit memo was synchronized with NetSuite. Only
          available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      Transaction__NS:
        description: 'Related transaction in NetSuite. Only available if you have
          installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
    title: creditMemoFieldsNS
    type: object
  CreditMemoResponseType:
    properties:
      id:
        description: 'The ID of the generated credit memo.

          '
        type: string
    title: creditMemos
    type: object
  CreditMemoTaxItemFromInvoiceTaxItemType:
    properties:
      amount:
        description: 'The amount of the credit memo taxation item.

          '
        format: double
        type: number
      financeInformation:
        description: 'Container for the finance information related to the source
          taxation item.

          '
        properties:
          onAccountAccountingCode:
            description: 'The accounting code that maps to an on account in your accounting
              system.

              '
            maxLength: 100
            minLength: 0
            type: string
          salesTaxPayableAccountingCode:
            description: 'The accounting code for the sales taxes payable.

              '
            maxLength: 100
            minLength: 0
            type: string
        type: object
      jurisdiction:
        description: "The jurisdiction that applies the tax or VAT. This value is\
          \ typically a state, province, county, or city. \n"
        type: string
      locationCode:
        description: 'The identifier for the location based on the value of the `taxCode`
          field.

          '
        type: string
      sourceTaxItemId:
        description: 'The ID of the source taxation item.

          '
        type: string
      taxCode:
        description: "The tax code identifies which tax rules and tax rates to apply\
          \ to a specific credit memo. \n"
        type: string
      taxCodeDescription:
        description: 'The description of the tax code.

          '
        type: string
      taxDate:
        description: 'The date that the tax is applied to the credit memo, in `yyyy-mm-dd`
          format.

          '
        format: date
        type: string
      taxExemptAmount:
        description: 'The amount of taxes or VAT for which the customer has an exemption.

          '
        format: double
        type: number
      taxName:
        description: 'The name of taxation.

          '
        type: string
      taxRate:
        description: 'The tax rate applied to the credit memo.

          '
        format: double
        type: number
      taxRateDescription:
        description: "The description of the tax rate. \n"
        type: string
      taxRateType:
        description: "The type of the tax rate applied to the credit memo. \n"
        enum:
        - Percentage
        - FlatFee
        type: string
    title: taxItems
    type: object
  CreditMemoUnapplyDebitMemoItemRequestType:
    properties:
      amount:
        description: "The amount that is unapplied from the specific item. \n"
        format: double
        type: number
      creditMemoItemId:
        description: 'The ID of the credit memo item.

          '
        type: string
      creditTaxItemId:
        description: 'The ID of the credit memo taxation item.

          '
        type: string
      debitMemoItemId:
        description: 'The ID of the debit memo item that the credit memo item is unapplied
          from.

          '
        type: string
      taxItemId:
        description: 'The ID of the debit memo taxation item that the credit memo
          taxation item is unapplied from.

          '
        type: string
    required:
    - amount
    title: items
    type: object
  CreditMemoUnapplyDebitMemoRequestType:
    properties:
      amount:
        description: 'The credit memo amount to be unapplied from the debit memo.

          '
        format: double
        type: number
      debitMemoId:
        description: 'The unique ID of the debit memo that the credit memo is unapplied
          from.

          '
        type: string
      items:
        description: 'Container for items.

          '
        items:
          $ref: '#/definitions/CreditMemoUnapplyDebitMemoItemRequestType'
        type: array
    required:
    - amount
    - debitMemoId
    title: debitMemos
    type: object
  CreditMemoUnapplyInvoiceItemRequestType:
    properties:
      amount:
        description: "The amount that is unapplied from the specific item. \n"
        format: double
        type: number
      creditMemoItemId:
        description: 'The ID of the credit memo item.

          '
        type: string
      creditTaxItemId:
        description: 'The ID of the credit memo taxation item.

          '
        type: string
      invoiceItemId:
        description: 'The ID of the invoice item that the credit memo item is unapplied
          from.

          '
        type: string
      taxItemId:
        description: 'The ID of the invoice taxation item that the credit memo taxation
          item is unapplied from.

          '
        type: string
    required:
    - amount
    title: items
    type: object
  CreditMemoUnapplyInvoiceRequestType:
    properties:
      amount:
        description: 'The credit memo amount to be unapplied from the invoice.

          '
        format: double
        type: number
      invoiceId:
        description: 'The unique ID of the invoice that the credit memo is unapplied
          from.

          '
        type: string
      items:
        description: 'Container for items.

          '
        items:
          $ref: '#/definitions/CreditMemoUnapplyInvoiceItemRequestType'
        type: array
    required:
    - amount
    - invoiceId
    title: invoices
    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:
      format:
        description: The data format of the custom field
        type: string
      label:
        description: The UI label of the custom field
        type: string
      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
  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
      format:
        description: The data format of the custom field
        type: string
      label:
        description: The UI label of the custom field
        type: string
      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
  CustomObjectCustomFieldsDefinition:
    additionalProperties:
      $ref: '#/definitions/CustomObjectCustomFieldDefinition'
    description: The custom field definition in the custom object definition
    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:
        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
        - cardinality: manyToOne
          fields:
            work_address__c: Id
          namespace: default
          object: address
        - cardinality: oneToMany
          fields:
            Id: person_id__c
          namespace: default
          object: car
        - cardinality: oneToMany
          fields:
            Id: person_id__c
          namespace: default
          object: device
        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:
          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
              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
        type: object
      type:
        description: The API name of the custom object
        type: string
    title: customObjectDefinition
    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
      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
        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
  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
      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
        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
  CustomObjectDefinitions:
    additionalProperties:
      $ref: '#/definitions/CustomObjectDefinition'
    description: The custom object definitions. This object maps types to custom object
      definitions.
    title: customObjectDefinitions
    type: object
  CustomObjectRecordBatchAction:
    description: The batch action on custom object records
    properties:
      ids:
        description: Ids of the custom object records that you want to delete. Only
          applicable when `type` is `delete`.
        example:
        - 64edb2a5-2796-4e95-9559-846f8636a01b
        - dbfb35a3-dd2b-42c9-b8f7-eb36fed1a1e1
        - 2c2a1810-bfef-4150-84de-50e769978e42
        items:
          format: uuid
        type: array
      records:
        $ref: '#/definitions/CustomObjectRecordBatchUpdateMapping'
        type: object
      type:
        description: The type of the batch action
        enum:
        - delete
        - update
        type: string
    required:
    - type
    title: updateDeleteBatchAction
    type: object
  CustomObjectRecordBatchActionResult:
    properties:
      type:
        description: The type of the performed batch action
        enum:
        - delete
        - update
        example: update
        type: string
      unprocessedIds:
        description: Ids of records that are not successfully processed.
        example:
        - 64edb2a5-2796-4e95-9559-846f8636a01b
        - dbfb35a3-dd2b-42c9-b8f7-eb36fed1a1e1
        - 2c2a1810-bfef-4150-84de-50e769978e42
        items:
          format: uuid
          type: string
        type: array
    required:
    - type
    type: object
  CustomObjectRecordBatchRequest:
    description: Request of processing custom object records in batch.
    example:
      action:
        records:
          64edb2a5-2796-4e95-9559-846f8636a01b:
            name__c: elba43
            person_id__c: 30c52793-8f06-41c6-b623-04829710d7a
        type: update
    properties:
      action:
        $ref: '#/definitions/CustomObjectRecordBatchAction'
        type: object
    required:
    - action
    type: object
  CustomObjectRecordBatchResponse:
    properties:
      result:
        $ref: '#/definitions/CustomObjectRecordBatchActionResult'
        type: object
    type: object
  CustomObjectRecordBatchUpdateMapping:
    additionalProperties:
      description: Map of object Id and associated custom fields data to be updated
      type: object
    description: Object records that you want to update. Only applicable when `type`
      is `update`.
    example:
      64edb2a5-2796-4e95-9559-846f8636a01b:
        name__c: elba43
        person_id__c": 30c52793-8f06-41c6-b623-04829710d7a
    title: updateIdFieldsMapping
    type: object
  CustomObjectRecordWithAllFields:
    allOf:
    - properties:
        CreatedById:
          description: The creator's Id
          type: string
        CreatedDate:
          description: The record creation time in the date-time format
          format: date-time
          type: string
        Id:
          description: The unique Id of the custom object record
          format: uuid
          type: string
        UpdatedById:
          description: The modifier's Id
          type: string
        UpdatedDate:
          description: The record modification time in the date-time format
          format: date-time
          type: string
        type:
          description: The type of the custom object record. It is the API name of
            the custom object definition.
          type: string
    - $ref: '#/definitions/CustomObjectRecordWithOnlyCustomFields'
    description: Record data from an object
    example:
      CreatedById: 58bcc694-0b01-4c38-83d9-679891aee4dc
      CreatedDate: '2017-06-07T17:26:47.501Z'
      Id: f4f3d0a8-9d45-43d6-956c-4820f2de7559
      UpdatedById: 58bcc694-0b01-4c38-83d9-679891aee4dc
      UpdatedDate: '2017-06-07T17:26:47.501Z'
      age__c: 32
      email__c: smith123@example.com
      home_address__c: 59b38ad1-27d4-40e8-af66-8c138bc382ee
      last_name__c: Smith
      marital_status__c: Married
      type: person
      version: 1
      work_address__c: 8a19f16a-2b5e-4a26-bb20-c79cd6984714
    title: customObjectRecord
    type: object
  CustomObjectRecordWithOnlyCustomFields:
    additionalProperties:
      description: The field-value pairs for a custom object record
    example:
      age__c: 32
      email__c: smith123@example.com
      home_address__c: 59b38ad1-27d4-40e8-af66-8c138bc382ee
      last_name__c: Smith
      marital_status__c: Married
      work_address__c: 8a19f16a-2b5e-4a26-bb20-c79cd6984714
    title: customObjectRecord
    type: object
  CustomObjectsNamespace:
    description: The namespaces for custom object definitions.
    properties:
      CreatedById:
        description: The Id of the namespace creator.
        example: 58bcc694-0b01-4c38-83d9-679891aee4dc
        type: string
      CreatedDate:
        description: The date-time when the namespace is created.
        example: '2017-05-25T16:13:12.629Z'
        type: string
      Id:
        description: The unique ID of the namespace.
        example: 3a13cb7f-5d2b-4f77-bb14-a1affb4c3ae3
        format: uuid
        type: string
      UpdatedById:
        description: The Id of the user who updates the namespace most recently.
        example: 58bcc694-0b01-4c38-83d9-679891aee4dc
        type: string
      UpdatedDate:
        description: The date-time when the namespace is last updated.
        example: '2017-05-25T16:13:12.629Z'
        type: string
      name:
        description: The name of the custom object namespace.
        example: com_mycompany
        type: string
      origin:
        description: Specifies the namespace is either a custom or system namespace.
        enum:
        - custom
        - system
        type: string
    type: object
  DELETEntityResponseType:
    properties:
      success:
        description: Returns `true` if the request is successful.
        type: boolean
    type: object
  DataAccessControlField:
    additionalProperties:
      description: 'Field for data access control. The name of the data access control
        field has the form <code>*customField*__h</code>. The data access control
        field is case sensitive. See [Data Access Control](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/Data_Access_Control)
        for more information.

        '
      type: string
    description: 'Container for the data access control field.

      '
    title: dataAccessControlField
    type: object
  DataQueryErrorResponse:
    properties:
      code:
        description: 'Error code.

          '
        type: integer
      message:
        description: 'Error message.

          '
        type: string
    type: object
  DataQueryJob:
    allOf:
    - $ref: '#/definitions/DataQueryJobCommon'
    - properties:
        dataFile:
          description: 'The URL of the query results. Only applicable if the value
            of the `queryStatus` field is `completed`.

            '
          format: URL
          type: string
        outputRows:
          description: 'The number of rows the query results. Only applicable if the
            value of the `queryStatus` field is `completed`.

            '
          type: integer
        processingTime:
          description: 'Processing time of the query job, in milliseconds. Only applicable
            if the value of the `queryStatus` field is `completed`.

            '
          type: integer
        queryStatus:
          description: |
            Status of the query job.

            * `submitted` - query submitted to query service for processing
            * `accepted` - query accepted by the query service
            * `in_progress` - query executed by the query service
            * `completed` - query execution completed by the query service
            * `failed` - query unable to be processed by the query service
            * `cancelled` - query cancelled by the user

            If the value of this field is `completed`, the `dataFile` field contains the location of the query results.

            If the value of this field is `accepted` or `in_progress`, you can use [Cancel data query job](#operation/DELETE_DataQueryJob) to prevent Zuora from performing the query. Zuora then sets the status of the query job to `cancelled`.
          enum:
          - submitted
          - accepted
          - in_progress
          - completed
          - failed
          - cancelled
          type: string
      type: object
    description: 'A data query job.

      '
    title: queryJob
  DataQueryJobCancelled:
    allOf:
    - $ref: '#/definitions/DataQueryJobCommon'
    - properties:
        queryStatus:
          description: 'Status of the query job.

            '
          enum:
          - cancelled
          type: string
      type: object
    description: 'A cancelled data query job.

      '
    title: cancelledQueryJob
  DataQueryJobCommon:
    properties:
      id:
        description: 'Internal identifier of the query job.

          '
        format: uuid
        maxLength: 64
        minLength: 64
        type: string
      query:
        description: 'The query that was submitted.

          '
        type: string
      remainingRetries:
        description: 'The number of times that Zuora will retry the query if Zuora
          is unable to perform the query.

          '
        type: integer
      updatedOn:
        description: 'Date and time when the query job was last updated, in ISO 8601
          format.

          '
        format: date-time
        type: string
    type: object
  DebitMemoEntityPrefix:
    description: |
      Container for the prefix and starting document number of debit memos.

      **Note:** This field is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
    properties:
      prefix:
        description: 'The prefix of debit memos.

          '
        example: DM
        type: string
      startNumber:
        description: 'The starting document number of debit memos.

          '
        example: 10
        type: integer
    title: debitMemo
    type: object
  DebitMemoFromChargeDetailType:
    allOf:
    - properties:
        amount:
          description: |
            The amount of the debit memo item.

            **Note**: This field is only available if you set the `zuora-version` request header to `224.0` or later.
          format: double
          type: number
        chargeId:
          description: |
            The ID of the product rate plan charge that the debit memo is created from.

            **Note**: This field is not available if you set the `zuora-version` request header to `257.0` or later.
          type: string
        comment:
          description: |
            Comments about the product rate plan charge.

            **Note**: This field is not available if you set the `zuora-version` request header to `257.0` or before.
          maxLength: 255
          minLength: 0
          type: string
        description:
          description: |
            The description of the product rate plan charge.

            **Note**: This field is only available if you set the `zuora-version` request header to `257.0` or later.
          maxLength: 255
          minLength: 0
          type: string
        financeInformation:
          description: 'Container for the finance information related to the product
            rate plan charge associated with the debit memo.

            '
          properties:
            deferredRevenueAccountingCode:
              description: 'The accounting code for the deferred revenue, such as
                Monthly Recurring Liability.

                '
              maxLength: 100
              minLength: 0
              type: string
            recognizedRevenueAccountingCode:
              description: 'The accounting code for the recognized revenue, such as
                Monthly Recurring Charges or Overage Charges.

                '
              maxLength: 100
              minLength: 0
              type: string
            revenueRecognitionRuleName:
              description: 'The name of the revenue recognition rule governing the
                revenue schedule.

                '
              maxLength: 100
              minLength: 0
              type: string
          type: object
        memoItemAmount:
          description: |
            The amount of the debit memo item.

            **Note**: This field is not available if you set the `zuora-version` request header to `224.0` or later.
          format: double
          type: number
        productRatePlanChargeId:
          description: |
            The ID of the product rate plan charge that the debit memo is created from.

            **Note**: This field is only available if you set the `zuora-version` request header to `257.0` or later.
          type: string
        quantity:
          description: 'The number of units for the debit memo item.

            '
          format: double
          type: number
        serviceEndDate:
          description: 'The service end date of the debit memo item. If not specified,
            the effective end date of the corresponding product rate plan will be
            used.

            '
          format: date
          type: string
        serviceStartDate:
          description: 'The service start date of the debit memo item. If not specified,
            the effective start date of the corresponding product rate plan will be
            used.

            '
          format: date
          type: string
      required:
      - chargeId
      - productRatePlanChargeId
      type: object
    - $ref: '#/definitions/DebitMemoItemObjectCustomFields'
    title: charges
  DebitMemoFromChargeType:
    allOf:
    - properties:
        accountId:
          description: |
            The ID of the account associated with the debit memo.

            **Note**: When creating debit memos from product rate plan charges, you must specify `accountNumber`, `accountId`, or both in the request body. If both fields are specified, they must correspond to the same account.
          type: string
        accountNumber:
          description: |
            The Number of the account associated with the debit memo.

            **Note**: When creating debit memos from product rate plan charges, you must specify `accountNumber`, `accountId`, or both in the request body. If both fields are specified, they must correspond to the same account.
          type: string
        autoPay:
          description: "Whether debit memos are automatically picked up for processing\
            \ in the corresponding payment run. \n\nBy default, debit memos are automatically\
            \ picked up for processing in the corresponding payment run.\n"
          type: boolean
        charges:
          description: 'Container for product rate plan charges.

            '
          items:
            $ref: '#/definitions/DebitMemoFromChargeDetailType'
          type: array
        comment:
          description: 'Comments about the debit memo.

            '
          maxLength: 255
          minLength: 0
          type: string
        effectiveDate:
          description: 'The date when the debit memo takes effect.

            '
          format: date
          type: string
        reasonCode:
          description: 'A code identifying the reason for the transaction. The value
            must be an existing reason code or empty. If you do not specify a value,
            Zuora uses the default reason code.

            '
          type: string
      type: object
    - $ref: '#/definitions/DebitMemoObjectNSFields'
    - $ref: '#/definitions/DebitMemoObjectCustomFields'
    example:
      accountId: 402890555a7e9791015a7f15fe44001c
      autoPay: true
      charges:
      - amount: 30
        chargeId: 402890555a87d7f5015a892cae910050
        comment: this is comment1
        quantity: 1
      - amount: 20
        chargeId: 402890555a87d7f5015a892dff7f0053
        comment: this is comment2
      comment: the comment
      effectiveDate: '2017-10-17'
      reasonCode: Correcting invoice error
    title: charges
  DebitMemoFromInvoiceType:
    allOf:
    - properties:
        autoPay:
          description: "Whether debit memos are automatically picked up for processing\
            \ in the corresponding payment run. \n\nBy default, debit memos are automatically\
            \ picked up for processing in the corresponding payment run.\n"
          type: boolean
        comment:
          description: "Comments about the debit memo. \n"
          maxLength: 255
          minLength: 0
          type: string
        effectiveDate:
          description: 'The date when the debit memo takes effect.

            '
          format: date
          type: string
        invoiceId:
          description: 'The ID of the invoice that the debit memo is created from.

            '
          type: string
        items:
          description: 'Container for items.

            '
          items:
            $ref: '#/definitions/DebitMemoItemFromInvoiceItemType'
          type: array
        reasonCode:
          description: 'A code identifying the reason for the transaction. The value
            must be an existing reason code or empty. If you do not specify a value,
            Zuora uses the default reason code.

            '
          type: string
        taxAutoCalculation:
          default: true
          description: 'Whether to automatically calculate taxes in the debit memo.

            '
          type: boolean
      type: object
    - $ref: '#/definitions/DebitMemoObjectNSFields'
    - $ref: '#/definitions/DebitMemoObjectCustomFields'
    example:
      autoPay: true
      comment: the comment
      effectiveDate: '2017-11-30'
      items:
      - amount: 1
        comment: This is comment!
        invoiceItemId: 402890555a7d4022015a7dadb3b700a6
        quantity: 1
        serviceEndDate: '2017-11-30'
        serviceStartDate: '2017-11-01'
        skuName: SKU-30
        taxItems:
        - amount: 0.01
          jurisdiction: CALIFORNIA
          locationCode: '06'
          sourceTaxItemId: 402890555a7d4022015a7dadb39b00a1
          taxCode: null
          taxCodeDescription: null
          taxDate: '2017-11-30'
          taxExemptAmount: 0.0
          taxName: STATE TAX
          taxRate: 0.0625
          taxRateDescription: This is tax rate description!
          taxRateType: Percentage
        unitOfMeasure: Test_UOM
      reasonCode: Charge Dispute
  DebitMemoItemFromInvoiceItemType:
    allOf:
    - properties:
        amount:
          description: 'The amount of the debit memo item.

            '
          format: double
          type: number
        comment:
          description: |
            Comments about the debit memo item.

            **Note**: This field is not available if you set the `zuora-version` request header to `257.0` or later.
          type: string
        description:
          description: |
            The description of the debit memo item.

            **Note**: This field is only available if you set the `zuora-version` request header to `257.0` or later.
          type: string
        financeInformation:
          description: 'Container for the finance information related to the debit
            memo item.

            '
          properties:
            deferredRevenueAccountingCode:
              description: 'The accounting code for the deferred revenue, such as
                Monthly Recurring Liability.

                '
              maxLength: 100
              minLength: 0
              type: string
            recognizedRevenueAccountingCode:
              description: 'The accounting code for the recognized revenue, such as
                Monthly Recurring Charges or Overage Charges.

                '
              maxLength: 100
              minLength: 0
              type: string
            revenueRecognitionRuleName:
              description: 'The name of the revenue recognition rule governing the
                revenue schedule.

                '
              maxLength: 100
              minLength: 0
              type: string
          type: object
        invoiceItemId:
          description: 'The ID of the invoice item.

            '
          type: string
        quantity:
          description: 'The number of units for the debit memo item.

            '
          format: double
          type: number
        serviceEndDate:
          description: 'The service end date of the debit memo item.

            '
          format: date
          type: string
        serviceStartDate:
          description: "The service start date of the debit memo item. \n"
          format: date
          type: string
        skuName:
          description: 'The name of the SKU.

            '
          type: string
        taxItems:
          description: 'Container for taxation items.

            '
          items:
            $ref: '#/definitions/DebitMemoTaxItemFromInvoiceTaxItemType'
          type: array
        unitOfMeasure:
          description: 'The definable unit that you measure when determining charges.

            '
          type: string
      required:
      - skuName
      - amount
      type: object
    - $ref: '#/definitions/DebitMemoItemObjectCustomFields'
    title: items
  DebitMemoItemObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Debit Memo Item object. The name of each
        custom field has the form <code>*customField*__c</code>. Custom field names
        are case sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Debit Memo Item object.

      '
    title: debitMemoItemFieldsCustom
    type: object
  DebitMemoObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Debit Memo object. The name of each custom
        field has the form <code>*customField*__c</code>. Custom field names are case
        sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Debit Memo object.

      '
    title: debitMemoFieldsCustom
    type: object
  DebitMemoObjectNSFields:
    description: 'Container for Debit Memo fields provided by the [Zuora Connector
      for NetSuite](https://www.zuora.com/connect/app/?appId=265).

      '
    properties:
      IntegrationId__NS:
        description: 'ID of the corresponding object in NetSuite. Only available if
          you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      IntegrationStatus__NS:
        description: 'Status of the debit memo''s synchronization with NetSuite. Only
          available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      SyncDate__NS:
        description: 'Date when the debit memo was synchronized with NetSuite. Only
          available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
    title: debitMemoFieldsNS
    type: object
  DebitMemoTaxItemFromInvoiceTaxItemType:
    properties:
      amount:
        description: 'The amount of the debit memo taxation item.

          '
        format: double
        type: number
      financeInformation:
        description: 'Container for the finance information related to the source
          taxation item.

          '
        properties:
          salesTaxPayableAccountingCode:
            description: 'The accounting code for the sales taxes payable.

              '
            maxLength: 100
            minLength: 0
            type: string
        type: object
      jurisdiction:
        description: 'The jurisdiction that applies the tax or VAT. This value is
          typically a state, province, county, or city.

          '
        type: string
      locationCode:
        description: 'The identifier for the location based on the value of the `taxCode`
          field.

          '
        type: string
      sourceTaxItemId:
        description: 'The ID of the source taxation item.

          '
        type: string
      taxCode:
        description: 'The tax code identifies which tax rules and tax rates to apply
          to a specific debit memo.

          '
        type: string
      taxCodeDescription:
        description: 'The description of the tax code.

          '
        type: string
      taxDate:
        description: 'The date that the tax is applied to the debit memo, in `yyyy-mm-dd`
          format.

          '
        format: date
        type: string
      taxExemptAmount:
        description: 'The amount of taxes or VAT for which the customer has an exemption.

          '
        format: double
        type: number
      taxName:
        description: 'The name of taxation.

          '
        type: string
      taxRate:
        description: 'The tax rate applied to the debit memo.

          '
        format: double
        type: number
      taxRateDescription:
        description: 'The description of the tax rate.

          '
        type: string
      taxRateType:
        description: 'The type of the tax rate applied to the debit memo.

          '
        enum:
        - Percentage
        - FlatFee
        type: string
    title: taxItems
    type: object
  DeleteDataQueryJobResponse:
    properties:
      data:
        $ref: '#/definitions/DataQueryJobCancelled'
    type: object
  DeleteResult:
    properties:
      errors:
        description: 'If the delete failed, this contains an array of Error objects.

          '
        items:
          $ref: '#/definitions/ActionsErrorResponse'
        type: array
      id:
        description: 'ID of the deleted object.

          '
        type: string
      success:
        description: 'A boolean field indicating the success of the delete operation.
          If the delete was successful, it is `true`. Otherwise, `false`.

          '
        type: boolean
    type: object
  DeleteWorkflowError:
    properties:
      Errors:
        description: The error messages
        items:
          type: string
        type: array
    type: object
  DeleteWorkflowSuccess:
    properties:
      id:
        description: The id of the deleted workflow
        type: string
      success:
        description: The indicator for whether the deletion was a success
        type: boolean
    type: object
  DiscountPricingOverride:
    description: 'Pricing information about a discount charge.

      '
    properties:
      applyDiscountTo:
        description: 'Specifies which type of charge the discount charge applies to.

          '
        enum:
        - ONETIME
        - RECURRING
        - USAGE
        - ONETIMERECURRING
        - ONETIMEUSAGE
        - RECURRINGUSAGE
        - ONETIMERECURRINGUSAGE
        type: string
      discountAmount:
        description: 'Only applicable if the discount charge is a fixed-amount discount.

          '
        type: number
      discountLevel:
        description: 'Application scope of the discount charge. For example, if the
          value of this field is `subscription` and the value of the `applyDiscountTo`
          field is `RECURRING`, the discount charge applies to all recurring charges
          in the same subscription as the discount charge.

          '
        enum:
        - rateplan
        - subscription
        - account
        type: string
      discountPercentage:
        description: 'Only applicable if the discount charge is a percentage discount.

          '
        type: number
      priceChangeOption:
        description: 'Specifies how Zuora changes the price of the charge each time
          the subscription renews.

          '
        enum:
        - NoChange
        - UseLatestProductCatalogPricing
        type: string
    title: discount
    type: object
  DiscountPricingUpdate:
    properties:
      discountPercentage:
        description: 'The amount of the discount as a percentage. This field is only
          used for percentage discounts.

          '
        type: number
      priceChangeOption:
        description: 'Specifies how Zuora changes the price of the charge each time
          the subscription renews.

          '
        enum:
        - NoChange
        - UseLatestProductCatalogPricing
        type: string
    type: object
  ElectronicPaymentOptions:
    properties:
      PaymentMethodId:
        description: ''
        type: string
    type: object
  EndConditions:
    description: 'Specifies when a charge becomes inactive.

      '
    properties:
      endDateCondition:
        description: |
          Condition for the charge to become inactive.

          If the value of this field is `Fixed_Period`, the charge is active for a predefined duration based on the value of the `upToPeriodsType` and `upToPeriods` fields.

          If the value of this field is `Specific_End_Date`, use the `specificEndDate` field to specify the date when then charge becomes inactive.
        enum:
        - Subscription_End
        - Fixed_Period
        - Specific_End_Date
        type: string
      specificEndDate:
        description: 'Date in YYYY-MM-DD format. Only applicable if the value of the
          `endDateCondition` field is `Specific_End_Date`.

          '
        format: date
        type: string
      upToPeriods:
        description: 'Duration of the charge in billing periods, days, weeks, months,
          or years, depending on the value of the `upToPeriodsType` field. Only applicable
          if the value of the `endDateCondition` field is `Fixed_Period`.

          '
        type: integer
      upToPeriodsType:
        description: 'Unit of time that the charge duration is measured in. Only applicable
          if the value of the `endDateCondition` field is `Fixed_Period`.

          '
        enum:
        - Billing_Periods
        - Days
        - Weeks
        - Months
        - Years
        type: string
    title: endDate
    type: object
  ErrorResponse:
    example:
      reasons:
      - code: ObjectNotFound
        message: Notification definition with id 6e569e1e05f040eda51a927b140c0ac1
          does not exist
    properties:
      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
    type: object
  EventRevenueItemType:
    allOf:
    - properties:
        accountingPeriodName:
          description: 'Name of the accounting period. The open-ended accounting period
            is named `Open-Ended`.

            '
          type: string
      required:
      - accountingPeriodName
      type: object
    - $ref: '#/definitions/RevenueEventItemObjectCustomFields'
    title: revenueItems
  EventTrigger:
    properties:
      active:
        description: The status of the trigger.
        type: boolean
      baseObject:
        description: 'The base object that the trigger rule is defined upon. Should
          be specified in the pattern: ^[A-Z][\\w\\-]*$'
        maxLength: 100
        minLength: 1
        type: string
      condition:
        description: The JEXL expression to be evaluated against object changes. See
          above for more information and an example.
        maxLength: 5000
        minLength: 1
        type: string
      description:
        description: The description of the trigger.
        maxLength: 1000
        type: string
      eventType:
        $ref: '#/definitions/EventType'
      id:
        format: uuid
        type: string
    type: object
  EventType:
    properties:
      description:
        description: The description of the event type.
        maxLength: 1000
        type: string
      displayName:
        description: The display name for the event type.
        maxLength: 500
        minLength: 1
        type: string
      name:
        description: 'The name of the event. Should be unique, contain no space, and
          be in the pattern: ^[A-Za-z]{1,}[\\w\\-]*$'
        maxLength: 200
        minLength: 1
        type: string
    required:
    - name
    - displayName
    type: object
  ExecuteResult:
    properties:
      Errors:
        description: ''
        items:
          $ref: '#/definitions/ActionsErrorResponse'
        type: array
      Id:
        description: 'The ID of the object in the call. The value is the same as the
          value you provide in the `ids` field for the request.

          '
        type: string
      Success:
        description: 'Returns `true` if the call was processed successfully, otherwise
          `false`.

          '
        type: boolean
    type: object
  ExternalPaymentOptions:
    properties:
      Amount:
        description: ''
        format: double
        type: number
      EffectiveDate:
        description: ''
        format: date
        type: string
      GatewayOrderId:
        description: ''
        type: string
      PaymentMethodId:
        description: ''
        type: string
      ReferenceId:
        description: ''
        type: string
    type: object
  FeatureObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Feature object. The name of each custom field
        has the form <code>*customField*__c</code>. Custom field names are case sensitive.
        See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Feature object.

      '
    title: featureFieldsCustom
    type: object
  FieldsAdditionalProperties:
    additionalProperties:
      type: string
    description: 'Field mappings in the form of `<this-object-field-name>`: `<other-object-field-name>`.

      '
    title: relationshipFieldMapping
    type: object
  FieldsAdditionalPropertiesForPostDefinition:
    additionalProperties:
      type: string
    description: 'Field mappings in the form of `<this-object-field-name>`: `<other-object-field-name>`.
      Usually the `<other-object-field-name>` 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
  FilterRuleParameterDefinition:
    description: 'Definition of a filter rule parameter.

      '
    properties:
      description:
        maxLength: 255
        type: string
      displayName:
        description: 'The display name of the parameter.

          '
        maxLength: 255
        type: string
      options:
        description: 'The option values of the parameter.

          '
        items:
          type: string
        type: array
      valueType:
        description: 'The type of the value.

          '
        enum:
        - STRING
        - BYTE
        - SHORT
        - CHARACTER
        - INTEGER
        - LONG
        - FLOAT
        - DOUBLE
        - BOOLEAN
        - BIG_INTEGER
        - BIG_DECIMAL
        - LOCAL_DATE
        - LOCAL_DATE_TIME
        - TIMESTAMP
        - BYTE_ARRAY
        - SHORT_ARRAY
        - CHARACTER_ARRAY
        - INTEGER_ARRAY
        - FLOAT_ARRAY
        - DOUBLE_ARRAY
        - BOOLEAN_ARRAY
        - STRING_ARRAY
        - BIG_INTEGER_ARRAY
        - BIG_DECIMAL_ARRAY
        - LOCAL_DATE_ARRAY
        - LOCAL_DATE_TIME_ARRAY
        - TIMESTAMP_ARRAY
        type: string
    title: parameter
    type: object
  FilterRuleParameterDefinitions:
    additionalProperties:
      $ref: '#/definitions/FilterRuleParameterDefinition'
    description: 'The parameters of the filter rule and their name must match those
      in the filter rule. And all parameters must be defined in the event type payload.
      The name of parameters can''t be duplicate. The following reserved keywords
      should not be used as a parameter name: `AttachmentList`, `RecipientList`, `RecipientType`,
      `Exceptions`, `OCP_OBJECT_TYPE`, `OCP_OBJECT_ID`, `OCP_TRIGGER_BY`

      '
    title: parameters
    type: object
  FilterRuleParameterValues:
    additionalProperties:
      description: 'The following reserved key words should not be used as a parameter
        name: `AttachmentList`, `RecipientList`, `RecipientType`, `Exceptions`, `OCP_OBJECT_TYPE`,
        `OCP_OBJECT_ID`, `OCP_TRIGGER_BY`. `Include.Attachment` is a special boolean
        parameter. By specifying this parameter, you can tell a notification whose
        event type is based on Invoice to include attachments while sending emails.

        '
      type: string
    description: 'The parameter values used to configure the filter rule.

      '
    title: filterRuleParams
    type: object
  GETAPaymentGatwayResponse:
    properties:
      id:
        description: The ID of the payment gateway.
        type: string
      isActive:
        description: Specifies if this payment gateway is in active status.
        type: boolean
      isDefault:
        description: Specifies if this is the default payment gateway to process payments
          for your customer accounts.
        type: boolean
      name:
        description: The name of the payment gateway.
        type: string
      type:
        description: The type of the payment gateway
        type: string
    title: paymentgateways
    type: object
  GETARPaymentType:
    allOf:
    - properties:
        accountId:
          description: 'The ID of the customer account that the payment is for.

            '
          type: string
        amount:
          description: 'The total amount of the payment.

            '
          format: double
          type: number
        appliedAmount:
          description: 'The applied amount of the payment.

            '
          format: double
          type: number
        authTransactionId:
          description: 'The authorization transaction ID from the payment gateway.

            '
          type: string
        bankIdentificationNumber:
          description: 'The first six digits of the credit card or debit card used
            for the payment, when applicable.

            '
          type: string
        cancelledOn:
          description: 'The date and time when the payment was cancelled, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        comment:
          description: 'Comments about the payment.

            '
          type: string
        createdById:
          description: 'The ID of the Zuora user who created the payment.

            '
          type: string
        createdDate:
          description: 'The date and time when the payment was created, in `yyyy-mm-dd
            hh:mm:ss` format. For example, 2017-03-01 15:31:10.

            '
          format: date-time
          type: string
        creditBalanceAmount:
          description: 'The amount that the payment transfers to the credit balance.
            The value is not `0` only for those payments that come from legacy payment
            operations performed without the Invoice Settlement feature.

            '
          format: double
          type: number
        currency:
          description: 'A currency defined in the web-based UI administrative settings.

            '
          type: string
        effectiveDate:
          description: 'The date and time when the payment takes effect, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        financeInformation:
          description: 'Container for the finance information related to the payment.

            '
          properties:
            bankAccountAccountingCode:
              description: 'The accounting code that maps to a bank account in your
                accounting system.

                '
              type: string
            bankAccountAccountingCodeType:
              description: 'The type of the accounting code that maps to a bank account
                in your accounting system.

                '
              type: string
            transferredToAccounting:
              description: "Whether the payment was transferred to an external accounting\
                \ system. Use this field for integration with accounting systems,\
                \ such as NetSuite. \n"
              enum:
              - Processing
              - 'Yes'
              - 'No'
              - Error
              - Ignore
              type: string
            unappliedPaymentAccountingCode:
              description: 'The accounting code for the unapplied payment.

                '
              type: string
            unappliedPaymentAccountingCodeType:
              description: 'The type of the accounting code for the unapplied payment.

                '
              type: string
          type: object
        gatewayId:
          description: 'The ID of the gateway instance that processes the payment.

            '
          type: string
        gatewayOrderId:
          description: 'A merchant-specified natural key value that can be passed
            to the electronic payment gateway when a payment is created.  If not specified,
            the payment number will be passed in instead.

            '
          type: string
        gatewayResponse:
          description: 'The message returned from the payment gateway for the payment.
            This message is gateway-dependent.

            '
          type: string
        gatewayResponseCode:
          description: 'The code returned from the payment gateway for the payment.
            This code is gateway-dependent.

            '
          type: string
        gatewayState:
          description: 'The status of the payment in the gateway; use for reconciliation.

            '
          enum:
          - MarkedForSubmission
          - Submitted
          - Settled
          - NotSubmitted
          - FailedToSettle
          type: string
        id:
          description: 'The unique ID of the created payment. For example, 4028905f5a87c0ff015a87eb6b75007f.

            '
          type: string
        markedForSubmissionOn:
          description: 'The date and time when a payment was marked and waiting for
            batch submission to the payment process, in `yyyy-mm-dd hh:mm:ss` format.

            '
          format: date-time
          type: string
        number:
          description: 'The unique identification number of the payment. For example,
            P-00000001.

            '
          type: string
        paymentMethodId:
          description: 'The unique ID of the payment method that the customer used
            to make the payment.

            '
          type: string
        paymentMethodSnapshotId:
          description: 'The unique ID of the payment method snapshot which is a copy
            of the particular Payment Method used in a transaction.

            '
          type: string
        referenceId:
          description: 'The transaction ID returned by the payment gateway. Use this
            field to reconcile payments between your gateway and Zuora Payments.

            '
          type: string
        refundAmount:
          description: 'The amount of the payment that is refunded.

            '
          format: double
          type: number
        secondPaymentReferenceId:
          description: 'The transaction ID returned by the payment gateway if there
            is an additional transaction for the payment. Use this field to reconcile
            payments between your gateway and Zuora Payments.

            '
          type: string
        settledOn:
          description: 'The date and time when the payment was settled in the payment
            processor, in `yyyy-mm-dd hh:mm:ss` format. This field is used by the
            Spectrum gateway only and not applicable to other gateways.

            '
          format: date-time
          type: string
        softDescriptor:
          description: 'A payment gateway-specific field that maps to Zuora for the
            gateways, Orbital, Vantiv and Verifi.

            '
          type: string
        softDescriptorPhone:
          description: 'A payment gateway-specific field that maps to Zuora for the
            gateways, Orbital, Vantiv and Verifi.

            '
          type: string
        status:
          description: 'The status of the payment.

            '
          enum:
          - Draft
          - Processing
          - Processed
          - Error
          - Canceled
          - Posted
          type: string
        submittedOn:
          description: 'The date and time when the payment was submitted, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        success:
          description: Returns `true` if the request was processed successfully.
          type: boolean
        type:
          description: 'The type of the payment.

            '
          enum:
          - External
          - Electronic
          type: string
        unappliedAmount:
          description: 'The unapplied amount of the payment.

            '
          format: double
          type: number
        updatedById:
          description: 'The ID of the Zuora user who last updated the payment.

            '
          type: string
        updatedDate:
          description: 'The date and time when the payment was last updated, in `yyyy-mm-dd
            hh:mm:ss` format. For example, 2017-03-02 15:36:10.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/PaymentObjectNSFields'
    - $ref: '#/definitions/PaymentObjectCustomFields'
  GETARPaymentTypewithSuccess:
    allOf:
    - properties:
        accountId:
          description: 'The ID of the customer account that the payment is for.

            '
          type: string
        amount:
          description: 'The total amount of the payment.

            '
          format: double
          type: number
        appliedAmount:
          description: 'The applied amount of the payment.

            '
          format: double
          type: number
        authTransactionId:
          description: 'The authorization transaction ID from the payment gateway.

            '
          type: string
        bankIdentificationNumber:
          description: 'The first six digits of the credit card or debit card used
            for the payment, when applicable.

            '
          type: string
        cancelledOn:
          description: 'The date and time when the payment was cancelled, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        comment:
          description: 'Comments about the payment.

            '
          type: string
        createdById:
          description: 'The ID of the Zuora user who created the payment part.

            '
          type: string
        createdDate:
          description: 'The date and time when the payment was created, in `yyyy-mm-dd
            hh:mm:ss` format. For example, 2017-03-01 15:31:10.

            '
          format: date-time
          type: string
        creditBalanceAmount:
          description: 'The amount that the payment transfers to the credit balance.
            The value is not `0` only for those payments that come from legacy payment
            operations performed without the Invoice Settlement feature.

            '
          format: double
          type: number
        currency:
          description: |
            A currency defined in the web-based UI administrative settings.

            For more information about the supported currencies and , see [ISO Currency Codes] (https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/D_Country%2C_State%2C_and_Province_Codes/D_Currencies_and_Their_3-Letter_Codes).
          type: string
        effectiveDate:
          description: 'The date and time when the payment takes effect, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        financeInformation:
          description: 'Container for the finance information related to the payment.

            '
          properties:
            bankAccountAccountingCode:
              description: 'The accounting code that maps to a bank account in your
                accounting system.

                '
              type: string
            bankAccountAccountingCodeType:
              description: 'The type of the accounting code that maps to a bank account
                in your accounting system.

                '
              type: string
            transferredToAccounting:
              description: "Whether the payment was transferred to an external accounting\
                \ system. Use this field for integration with accounting systems,\
                \ such as NetSuite. \n"
              enum:
              - Processing
              - 'Yes'
              - 'No'
              - Error
              - Ignore
              type: string
            unappliedPaymentAccountingCode:
              description: 'The accounting code for the unapplied payment.

                '
              type: string
            unappliedPaymentAccountingCodeType:
              description: 'The type of the accounting code for the unapplied payment.

                '
              type: string
          type: object
        gatewayId:
          description: 'The ID of the gateway instance that processes the payment.

            '
          type: string
        gatewayOrderId:
          description: 'A merchant-specified natural key value that can be passed
            to the electronic payment gateway when a payment is created.

            '
          type: string
        gatewayResponse:
          description: 'The message returned from the payment gateway for the payment.
            This message is gateway-dependent.

            '
          type: string
        gatewayResponseCode:
          description: 'The code returned from the payment gateway for the payment.
            This code is gateway-dependent.

            '
          type: string
        gatewayState:
          description: "The status of the payment in the gateway; use for reconciliation.\
            \ \n"
          enum:
          - MarkedForSubmission
          - Submitted
          - Settled
          - NotSubmitted
          - FailedToSettle
          type: string
        id:
          description: 'The unique ID of the payment. For example, 4028905f5a87c0ff015a87eb6b75007f.

            '
          type: string
        markedForSubmissionOn:
          description: 'The date and time when a payment was marked and waiting for
            batch submission to the payment process, in `yyyy-mm-dd hh:mm:ss` format.

            '
          format: date-time
          type: string
        number:
          description: 'The unique identification number of the payment. For example,
            P-00000001.

            '
          type: string
        paymentMethodId:
          description: 'The unique ID of the payment method that the customer used
            to make the payment.

            '
          type: string
        paymentMethodSnapshotId:
          description: 'The unique ID of the payment method snapshot which is a copy
            of the particular Payment Method used in a transaction.

            '
          type: string
        referenceId:
          description: 'The transaction ID returned by the payment gateway. Use this
            field to reconcile payments between your gateway and Zuora Payments.

            '
          type: string
        refundAmount:
          description: 'The amount of the payment that is refunded.

            '
          format: double
          type: number
        secondPaymentReferenceId:
          description: 'The transaction ID returned by the payment gateway if there
            is an additional transaction for the payment. Use this field to reconcile
            payments between your gateway and Zuora Payments.

            '
          type: string
        settledOn:
          description: 'The date and time when the payment was settled in the payment
            processor, in `yyyy-mm-dd hh:mm:ss` format. This field is used by the
            Spectrum gateway only and not applicable to other gateways.

            '
          format: date-time
          type: string
        softDescriptor:
          description: 'A payment gateway-specific field that maps to Zuora for the
            gateways, Orbital, Vantiv and Verifi.

            '
          type: string
        softDescriptorPhone:
          description: 'A payment gateway-specific field that maps to Zuora for the
            gateways, Orbital, Vantiv and Verifi.

            '
          type: string
        status:
          description: 'The status of the payment.

            '
          enum:
          - Draft
          - Processing
          - Processed
          - Error
          - Canceled
          - Posted
          type: string
        submittedOn:
          description: 'The date and time when the payment was submitted, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        type:
          description: 'The type of the payment.

            '
          enum:
          - External
          - Electronic
          type: string
        unappliedAmount:
          description: 'The unapplied amount of the payment.

            '
          format: double
          type: number
        updatedById:
          description: 'The ID of the Zuora user who last updated the payment.

            '
          type: string
        updatedDate:
          description: 'The date and time when the payment was last updated, in `yyyy-mm-dd
            hh:mm:ss` format. For example, 2017-03-02 15:36:10.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/PaymentObjectNSFields'
    - $ref: '#/definitions/PaymentObjectCustomFields'
    title: payments
  GETAccountSummaryInvoiceType:
    properties:
      amount:
        description: 'Invoice amount before adjustments, discounts, and similar items.

          '
        format: decimal
        type: string
      balance:
        description: 'Balance due on the invoice.

          '
        format: decimal
        type: string
      dueDate:
        description: 'Due date as `yyyy-mm-dd`.

          '
        format: date
        type: string
      id:
        description: 'Invoice ID.

          '
        type: string
      invoiceDate:
        description: 'Invoice date as `yyyy-mm-dd`.

          '
        format: date
        type: string
      invoiceNumber:
        description: 'Invoice number.

          '
        type: string
      status:
        description: 'Invoice status - not the payment status of the invoice, just
          the status of the invoice itself. Possible values are: `Posted`, `Draft`,
          `Canceled`, `Error`.

          '
        type: string
    title: invoices
    type: object
  GETAccountSummaryPaymentInvoiceType:
    properties:
      appliedPaymentAmount:
        description: 'Amount of payment applied to the invoice.

          '
        format: decimal
        type: string
      invoiceId:
        description: 'Invoice ID.

          '
        type: string
      invoiceNumber:
        description: 'Invoice number.

          '
        type: string
    title: paidInvoices
    type: object
  GETAccountSummaryPaymentType:
    properties:
      effectiveDate:
        description: 'Effective date as `yyyy-mm-dd`.

          '
        format: date
        type: string
      id:
        description: 'Payment ID.

          '
        type: string
      paidInvoices:
        description: 'Container for paid invoices for this subscription.

          '
        items:
          $ref: '#/definitions/GETAccountSummaryPaymentInvoiceType'
        type: array
      paymentNumber:
        description: 'Payment number.

          '
        type: string
      paymentType:
        description: 'Payment type; possible values are: `External`, `Electronic`.

          '
        type: string
      status:
        description: 'Payment status. Possible values are: `Draft`, `Processing`,
          `Processed`, `Error`, `Voided`, `Canceled`, `Posted`.

          '
        type: string
    title: payments
    type: object
  GETAccountSummarySubscriptionRatePlanType:
    properties:
      productId:
        description: 'Product ID.

          '
        type: string
      productName:
        description: 'Product name.

          '
        type: string
      productRatePlanId:
        description: 'Product Rate Plan ID.

          '
        type: string
      productSku:
        description: ''
        type: string
      ratePlanName:
        description: 'Rate plan name.

          '
        type: string
    title: ratePlans
    type: object
  GETAccountSummarySubscriptionType:
    allOf:
    - properties:
        autoRenew:
          description: 'If `true`, auto-renew is enabled. If `false`, auto-renew is
            disabled.

            '
          type: boolean
        id:
          description: 'Subscription ID.

            '
          type: string
        initialTerm:
          description: "Duration of the initial subscription term in whole months.\
            \ \n"
          type: string
        ratePlans:
          description: 'Container for rate plans for this subscription.

            '
          items:
            $ref: '#/definitions/GETAccountSummarySubscriptionRatePlanType'
          type: array
        renewalTerm:
          description: 'Duration of the renewal term in whole months.

            '
          type: string
        status:
          description: 'Subscription status; possible values are: `Draft`, `PendingActivation`,
            `PendingAcceptance`, `Active`, `Cancelled`, `Expired`.

            '
          type: string
        subscriptionNumber:
          description: 'Subscription Number.

            '
          type: string
        subscriptionStartDate:
          description: 'Subscription start date.

            '
          format: date
          type: string
        termEndDate:
          description: 'End date of the subscription term. If the subscription is
            evergreen, this is either null or equal to the cancellation date, as appropriate.

            '
          format: date
          type: string
        termStartDate:
          description: 'Start date of the subscription term. If this is a renewal
            subscription, this date is different than the subscription start date.

            '
          format: date
          type: string
        termType:
          description: 'Possible values are: `TERMED`, `EVERGREEN`.

            '
          type: string
      type: object
    - $ref: '#/definitions/SubscriptionObjectQTFields'
    - $ref: '#/definitions/SubscriptionObjectNSFields'
    - $ref: '#/definitions/SubscriptionObjectCustomFields'
    title: subscriptions
  GETAccountSummaryType:
    properties:
      basicInfo:
        $ref: '#/definitions/GETAccountSummaryTypeBasicInfo'
      billToContact:
        $ref: '#/definitions/GETAccountSummaryTypeBillToContact'
      invoices:
        description: 'Container for invoices. Only returns the last 6 invoices.

          '
        items:
          $ref: '#/definitions/GETAccountSummaryInvoiceType'
        type: array
      payments:
        description: 'Container for payments. Only returns the last 6 payments.

          '
        items:
          $ref: '#/definitions/GETAccountSummaryPaymentType'
        type: array
      soldToContact:
        $ref: '#/definitions/GETAccountSummaryTypeSoldToContact'
      subscriptions:
        description: 'Container for subscriptions.

          '
        items:
          $ref: '#/definitions/GETAccountSummarySubscriptionType'
        type: array
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
      taxInfo:
        description: 'Container for tax exempt information, used to establish the
          tax exempt status of a customer account.

          '
        properties:
          VATId:
            description: 'EU Value Added Tax ID.

              '
            type: string
          companyCode:
            description: 'Unique code that identifies a company account in Avalara.

              '
            type: string
          exemptCertificateId:
            description: 'ID of the customer tax exemption certificate.

              '
            type: string
          exemptCertificateType:
            description: 'Type of tax exemption certificate that the customer holds.

              '
            type: string
          exemptDescription:
            description: 'Description of the tax exemption certificate that the customer
              holds.

              '
            type: string
          exemptEffectiveDate:
            description: 'Date when the customer tax exemption starts.

              '
            format: date
            type: string
          exemptEntityUseCode:
            description: |
              A unique entity use code to apply exemptions in Avalara AvaTax.

              This account-level field is required only when you choose Avalara as your tax engine. See [Exempt Transactions](https://developer.avalara.com/avatax/handling-tax-exempt-customers/)for more details.
            maxLength: 64
            type: string
          exemptExpirationDate:
            description: 'Date when the customer tax exemption expires.

              '
            format: date
            type: string
          exemptIssuingJurisdiction:
            description: 'Jurisdiction in which the customer tax exemption certificate
              was issued.

              '
            type: string
          exemptStatus:
            description: 'Status of the account tax exemption.

              '
            type: string
        type: object
      usage:
        description: |
          Container for usage data. Only returns the last 6 months of usage.

          **Note:** If the Active Rating feature is enabled, no usage data is returned in the response body field.
        items:
          $ref: '#/definitions/GETAccountSummaryUsageType'
        type: array
    type: object
  GETAccountSummaryTypeBasicInfo:
    allOf:
    - properties:
        accountNumber:
          description: 'Account number.

            '
          type: string
        additionalEmailAddresses:
          description: 'A list of additional email addresses to receive emailed invoices.

            '
          items:
            type: string
          type: array
        balance:
          description: 'Current outstanding balance.

            '
          format: decimal
          type: string
        batch:
          description: 'The alias name given to a batch. A string of 50 characters
            or less.

            '
          type: string
        billCycleDay:
          description: 'Billing cycle day (BCD), the day of the month when a bill
            run generates invoices for the account.

            '
          type: string
        currency:
          description: 'A currency as defined in Billing Settings in the Zuora UI.

            '
          type: string
        defaultPaymentMethod:
          description: ''
          properties:
            creditCardExpirationMonth:
              description: 'Two-digit numeric card expiration month as `mm`.

                '
              type: string
            creditCardExpirationYear:
              description: 'Four-digit card expiration year as `yyyy`.

                '
              type: string
            creditCardNumber:
              description: 'Credit card number, 16 characters or less, displayed in
                masked format (e.g., ************1234).

                '
              type: string
            creditCardType:
              description: |
                The type of the credit card.

                Possible values  include `Visa`, `MasterCard`, `AmericanExpress`, `Discover`, `JCB`, and `Diners`. For more information about credit card types supported by different payment gateways, see [Supported Payment Methods](https://knowledgecenter.zuora.com/Zuora_Central/Billing_and_Payments/L_Payment_Methods/Supported_Payment_Methods).
              type: string
            id:
              description: 'The ID of the credit card payment method associated with
                this account.

                '
              type: string
            paymentMethodType:
              description: ''
              type: string
          type: object
        id:
          description: 'Account ID.

            '
          type: string
        invoiceDeliveryPrefsEmail:
          description: "Whether the customer wants to receive invoices through email.\
            \ \n"
          type: boolean
        invoiceDeliveryPrefsPrint:
          description: 'Whether the customer wants to receive printed invoices, such
            as through postal mail.

            '
          type: boolean
        lastInvoiceDate:
          description: 'Date of the most recent invoice for the account; null if no
            invoice has ever been generated.

            '
          format: date
          type: string
        lastPaymentAmount:
          description: 'Amount of the most recent payment collected for the account;
            null if no payment has ever been collected.

            '
          format: decimal
          type: string
        lastPaymentDate:
          description: 'Date of the most recent payment collected for the account.
            Null if no payment has ever been collected.

            '
          format: date
          type: string
        name:
          description: 'Account name.

            '
          type: string
        status:
          description: 'Account status; possible values are: `Active`, `Draft`, `Canceled`.

            '
          type: string
        tags:
          description: ''
          type: string
      type: object
    - $ref: '#/definitions/AccountObjectNSFields'
    - $ref: '#/definitions/AccountObjectCustomFields'
    description: 'Container for basic information about the account.

      '
    title: basicInfo
  GETAccountSummaryTypeBillToContact:
    allOf:
    - properties:
        address1:
          description: 'First address line, 255 characters or less.

            '
          type: string
        address2:
          description: 'Second address line, 255 characters or less.

            '
          type: string
        city:
          description: 'City, 40 characters or less.

            '
          type: string
        country:
          description: 'Full country name. This field does not contain the ISO-standard
            abbreviation of the country name.

            '
          type: string
        county:
          description: 'County; 32 characters or less. Zuora Tax uses this information
            to calculate county taxation.          '
          type: string
        fax:
          description: 'Fax phone number, 40 characters or less.

            '
          type: string
        firstName:
          description: 'First name, 100 characters or less.

            '
          type: string
        id:
          description: 'Contact ID.

            '
          type: string
        lastName:
          description: 'Last name, 100 characters or less.

            '
          type: string
        state:
          description: 'Full state name. This field does not contain the ISO-standard
            abbreviation of the state name.

            '
          type: string
        taxRegion:
          description: 'A region string, defined in your Zuora tax rules.

            '
          type: string
        workEmail:
          description: 'Work email address, 80 characters or less.

            '
          type: string
        workPhone:
          description: 'Work phone number, 40 characters or less.

            '
          type: string
        zipCode:
          description: 'Zip code, 20 characters or less.

            '
          type: string
      type: object
    - $ref: '#/definitions/ContactObjectCustomFields'
    description: Container for bill-to contact information.
    title: Contact
  GETAccountSummaryTypeSoldToContact:
    allOf:
    - properties:
        address1:
          description: 'First address line, 255 characters or less.

            '
          type: string
        address2:
          description: 'Second address line, 255 characters or less.

            '
          type: string
        city:
          description: 'City, 40 characters or less.

            '
          type: string
        country:
          description: 'Full country name. This field does not contain the ISO-standard
            abbreviation of the country name.

            '
          type: string
        county:
          description: 'County; 32 characters or less. Zuora Tax uses this information
            to calculate county taxation.          '
          type: string
        fax:
          description: 'Fax phone number, 40 characters or less.

            '
          type: string
        firstName:
          description: 'First name, 100 characters or less.

            '
          type: string
        id:
          description: 'Contact ID.

            '
          type: string
        lastName:
          description: 'Last name, 100 characters or less.

            '
          type: string
        state:
          description: 'Full state name. This field does not contain the ISO-standard
            abbreviation of the state name.

            '
          type: string
        taxRegion:
          description: 'A region string, defined in your Zuora tax rules.

            '
          type: string
        workEmail:
          description: 'Work email address, 80 characters or less.

            '
          type: string
        workPhone:
          description: 'Work phone number, 40 characters or less.

            '
          type: string
        zipCode:
          description: 'Zip code, 20 characters or less.

            '
          type: string
      type: object
    - $ref: '#/definitions/ContactObjectCustomFields'
    description: 'Container for sold-to contact information; uses the same structure
      as `billToContact`.

      '
    title: Contact
  GETAccountSummaryUsageType:
    properties:
      quantity:
        description: 'Number of units used.

          '
        format: decimal
        type: string
      startDate:
        description: 'The start date of a usage period as `yyyy-mm`. Zuora uses this
          field value to determine the usage date.

          '
        format: date
        type: string
      unitOfMeasure:
        description: 'Unit by which consumption is measured, as configured in the
          Billing Settings section of the web-based UI.

          '
        type: string
    title: usage
    type: object
  GETAccountType:
    properties:
      basicInfo:
        $ref: '#/definitions/GETAccountTypeBasicInfo'
      billToContact:
        $ref: '#/definitions/GETAccountTypeBillToContact'
      billingAndPayment:
        description: 'Container for billing and payment information for the account.

          '
        properties:
          additionalEmailAddresses:
            description: 'A list of additional email addresses to receive emailed
              invoices.

              '
            items:
              type: string
            type: array
          billCycleDay:
            description: 'Billing cycle day (BCD), the day of the month when a bill
              run generates invoices for the account.

              '
            type: string
          currency:
            description: 'A currency defined in the web-based UI administrative settings.

              '
            type: string
          invoiceDeliveryPrefsEmail:
            description: "Whether the customer wants to receive invoices through email.\
              \ \n"
            type: boolean
          invoiceDeliveryPrefsPrint:
            description: 'Whether the customer wants to receive printed invoices,
              such as through postal mail.

              '
            type: boolean
          paymentGateway:
            description: 'The name of the payment gateway instance. If null or left
              unassigned, the Account will use the Default Gateway.

              '
            type: string
          paymentTerm:
            description: 'A payment-terms indicator defined in the web-based UI administrative
              settings, e.g., "Net 30".

              '
            type: string
        type: object
      metrics:
        description: 'Container for account metrics.

          '
        properties:
          balance:
            description: 'The customer''s total invoice balance minus credit balance.

              '
            format: decimal
            type: string
          contractedMrr:
            description: 'Future expected MRR that accounts for future upgrades, downgrades,
              upsells and cancellations.

              '
            format: decimal
            type: string
          creditBalance:
            description: 'Current credit balance.

              '
            format: decimal
            type: string
          totalDebitMemoBalance:
            description: |
              **Note**: This field is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

              Total balance of all posted debit memos.
            format: decimal
            type: string
          totalInvoiceBalance:
            description: 'Total balance of all posted invoices.

              '
            format: decimal
            type: string
          unappliedCreditMemoAmount:
            description: |
              **Note**: This field is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

              Total unapplied amount of all posted credit memos.
            format: decimal
            type: string
          unappliedPaymentAmount:
            description: |
              **Note**: This field is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

              Total unapplied amount of all posted payments.
            format: decimal
            type: string
        type: object
      soldToContact:
        $ref: '#/definitions/GETAccountTypeSoldToContact'
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
      taxInfo:
        description: 'Container for tax exempt information, used to establish the
          tax exempt status of a customer account.

          '
        properties:
          VATId:
            description: 'EU Value Added Tax ID.

              '
            type: string
          companyCode:
            description: 'Unique code that identifies a company account in Avalara.

              '
            type: string
          exemptCertificateId:
            description: 'ID of the customer tax exemption certificate.

              '
            type: string
          exemptCertificateType:
            description: 'Type of tax exemption certificate that the customer holds.

              '
            type: string
          exemptDescription:
            description: 'Description of the tax exemption certificate that the customer
              holds.

              '
            type: string
          exemptEffectiveDate:
            description: 'Date when the customer tax exemption starts.

              '
            format: date
            type: string
          exemptEntityUseCode:
            description: |
              A unique entity use code to apply exemptions in Avalara AvaTax.

              This account-level field is required only when you choose Avalara as your tax engine. See [Exempt Transactions](https://developer.avalara.com/avatax/handling-tax-exempt-customers/)for more details.
            maxLength: 64
            type: string
          exemptExpirationDate:
            description: 'Date when the customer tax exemption expires.

              '
            format: date
            type: string
          exemptIssuingJurisdiction:
            description: 'Jurisdiction in which the customer tax exemption certificate
              was issued.

              '
            type: string
          exemptStatus:
            description: 'Status of the account tax exemption.

              '
            type: string
        type: object
    type: object
  GETAccountTypeBasicInfo:
    allOf:
    - properties:
        accountNumber:
          description: 'Account number.

            '
          type: string
        batch:
          description: 'The alias name given to a batch. A string of 50 characters
            or less.

            '
          type: string
        communicationProfileId:
          description: 'ID of a communication profile.

            '
          type: string
        creditMemoTemplateId:
          description: |
            **Note**: This field is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

            The unique ID of the credit memo template, configured in **Billing Settings** > **Manage Billing Document Configuration** through the Zuora UI. For example, 2c92c08a6246fdf101626b1b3fe0144b.
          type: string
        crmId:
          description: 'CRM account ID for the account, up to 100 characters.

            '
          type: string
        currency:
          description: 'A currency as defined in Billing Settings in the Zuora UI.

            '
          type: string
        debitMemoTemplateId:
          description: |
            **Note**: This field is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

            The unique ID of the debit memo template, configured in **Billing Settings** > **Manage Billing Document Configuration** through the Zuora UI. For example, 2c92c08d62470a8501626b19d24f19e2.
          type: string
        id:
          description: 'Account ID.

            '
          type: string
        invoiceTemplateId:
          description: 'Invoice template ID, configured in Billing Settings in the
            Zuora UI.

            '
          type: string
        name:
          description: 'Account name.

            '
          type: string
        notes:
          description: 'Notes associated with the account, up to 65,535 characters.

            '
          type: string
        parentId:
          description: Identifier of the parent customer account for this Account
            object. The length is 32 characters. Use this field if you have customer
            hierarchy enabled.
          type: string
        salesRep:
          description: The name of the sales representative associated with this account,
            if applicable. Maximum of 50 characters.
          type: string
        sequenceSetId:
          description: "The ID of the billing document sequence set that is assigned\
            \ to the customer account. \n"
          type: string
        status:
          description: 'Account status; possible values are: `Active`, `Draft`, `Canceled`.

            '
          type: string
        tags:
          description: ''
          type: string
      type: object
    - $ref: '#/definitions/AccountObjectNSFields'
    - $ref: '#/definitions/AccountObjectCustomFields'
    description: 'Container for basic information about the account.

      '
    title: basicInfo
  GETAccountTypeBillToContact:
    allOf:
    - properties:
        address1:
          description: 'First address line, 255 characters or less.

            '
          type: string
        address2:
          description: 'Second address line, 255 characters or less.

            '
          type: string
        city:
          description: 'City, 40 characters or less.

            '
          type: string
        country:
          description: 'Full country name. This field does not contain the ISO-standard
            abbreviation of the country name.

            '
          type: string
        county:
          description: 'County; 32 characters or less. Zuora Tax uses this information
            to calculate county taxation.          '
          type: string
        fax:
          description: 'Fax phone number, 40 characters or less.

            '
          type: string
        firstName:
          description: 'First name, 100 characters or less.

            '
          type: string
        homePhone:
          description: 'Home phone number, 40 characters or less.

            '
          type: string
        lastName:
          description: 'Last name, 100 characters or less.

            '
          type: string
        mobilePhone:
          description: 'Mobile phone number, 40 characters or less.

            '
          type: string
        nickname:
          description: 'Nickname for this contact.

            '
          type: string
        otherPhone:
          description: 'Other phone number, 40 characters or less.

            '
          type: string
        otherPhoneType:
          description: 'Possible values are: `Work`, `Mobile`, `Home`, `Other`.

            '
          type: string
        personalEmail:
          description: 'Personal email address, 80 characters or less.

            '
          type: string
        state:
          description: 'Full state name. This field does not contain the ISO-standard
            abbreviation of the state name.

            '
          type: string
        taxRegion:
          description: 'A region string, defined in your Zuora tax rules.

            '
          type: string
        workEmail:
          description: 'Work email address, 80 characters or less.

            '
          type: string
        workPhone:
          description: 'Work phone number, 40 characters or less.

            '
          type: string
        zipCode:
          description: 'Zip code, 20 characters or less.

            '
          type: string
      type: object
    - $ref: '#/definitions/ContactObjectCustomFields'
    description: 'Container for bill-to contact information.

      '
    title: Contact
  GETAccountTypeSoldToContact:
    allOf:
    - properties:
        address1:
          description: 'First address line, 255 characters or less.

            '
          type: string
        address2:
          description: 'Second address line, 255 characters or less.

            '
          type: string
        city:
          description: 'City, 40 characters or less.

            '
          type: string
        country:
          description: 'Full country name. This field does not contain the ISO-standard
            abbreviation of the country name.

            '
          type: string
        county:
          description: 'County; 32 characters or less. Zuora tax uses this information
            to calculate county taxation.          '
          type: string
        fax:
          description: 'Fax phone number, 40 characters or less.

            '
          type: string
        firstName:
          description: 'First name, 100 characters or less.

            '
          type: string
        homePhone:
          description: 'Home phone number, 40 characters or less.

            '
          type: string
        lastName:
          description: 'Last name, 100 characters or less.

            '
          type: string
        mobilePhone:
          description: 'Mobile phone number, 40 characters or less.

            '
          type: string
        nickname:
          description: 'Nickname for this contact.

            '
          type: string
        otherPhone:
          description: 'Other phone number, 40 characters or less.

            '
          type: string
        otherPhoneType:
          description: 'Possible values are: `Work`, `Mobile`, `Home`, `Other`.

            '
          type: string
        personalEmail:
          description: 'Personal email address, 80 characters or less.

            '
          type: string
        state:
          description: 'Full state name. This field does not contain the ISO-standard
            abbreviation of the state name.

            '
          type: string
        taxRegion:
          description: 'A region string, defined in your Zuora tax rules.

            '
          type: string
        workEmail:
          description: 'Work email address, 80 characters or less.

            '
          type: string
        workPhone:
          description: 'Work phone number, 40 characters or less.

            '
          type: string
        zipCode:
          description: 'Zip code, 20 characters or less.

            '
          type: string
      type: object
    - $ref: '#/definitions/ContactObjectCustomFields'
    description: 'Container for sold-to contact information. Uses the same field structure
      as billToContact.

      '
    title: Contact
  GETAccountingCodeItemType:
    allOf:
    - properties:
        category:
          description: 'The category associated with the accounting code.

            '
          enum:
          - Assets
          - Liabilities
          - Equity
          - Revenue
          - Expenses
          type: string
        createdBy:
          description: 'The ID of the user who created the accounting code.

            '
          type: string
        createdOn:
          description: 'Date and time when the accounting code was created.

            '
          format: date-time
          type: string
        glAccountName:
          description: |
            Name of the account in your general ledger.

            Field only available if you have Zuora Finance enabled.
          type: string
        glAccountNumber:
          description: |
            Account number in your general ledger.

            Field only available if you have Zuora Finance enabled.
          type: string
        id:
          description: 'ID of the accounting code.

            '
          type: string
        name:
          description: 'Name of the accounting code.

            '
          type: string
        notes:
          description: 'Any optional notes for the accounting code.

            '
          type: string
        status:
          description: 'The accounting code status.

            '
          enum:
          - Active
          - Inactive
          type: string
        success:
          description: 'Returns `true` if the request was processed successfully.

            '
          type: boolean
        type:
          description: "Accounting code type. \n\nNote that `On-Account Receivable`\
            \ is only available if you enable the Invoice Settlement feature. \n"
          enum:
          - AccountsReceivable
          - On-Account Receivable
          - Cash
          - OtherAssets
          - CustomerCashOnAccount
          - DeferredRevenue
          - SalesTaxPayable
          - OtherLiabilities
          - SalesRevenue
          - SalesDiscounts
          - OtherRevenue
          - OtherEquity
          - BadDebt
          - OtherExpenses
          type: string
        updatedBy:
          description: 'The ID of the user who last updated the accounting code.

            '
          type: string
        updatedOn:
          description: 'Date and time when the accounting code was last updated.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/AccountingCodeObjectCustomFields'
  GETAccountingCodeItemWithoutSuccessType:
    allOf:
    - properties:
        category:
          description: 'The category associated with the accounting code.

            '
          enum:
          - Assets
          - Liabilities
          - Equity
          - Revenue
          - Expenses
          type: string
        createdBy:
          description: 'The ID of the user who created the accounting code.

            '
          type: string
        createdOn:
          description: 'Date and time when the accounting code was created.

            '
          format: date-time
          type: string
        glAccountName:
          description: |
            Name of the account in your general ledger.

            Field only available if you have Zuora Finance enabled.
          type: string
        glAccountNumber:
          description: |
            Account number in your general ledger.

            Field only available if you have Zuora Finance enabled.
          type: string
        id:
          description: 'ID of the accounting code.

            '
          type: string
        name:
          description: 'Name of the accounting code.

            '
          type: string
        notes:
          description: 'Any optional notes for the accounting code.

            '
          type: string
        status:
          description: 'The accounting code status.

            '
          enum:
          - Active
          - Inactive
          type: string
        type:
          description: "Accounting code type. \n\nNote that `On-Account Receivable`\
            \ is only available if you enable the Invoice Settlement feature. \n"
          enum:
          - AccountsReceivable
          - On-Account Receivable
          - Cash
          - OtherAssets
          - CustomerCashOnAccount
          - DeferredRevenue
          - SalesTaxPayable
          - OtherLiabilities
          - SalesRevenue
          - SalesDiscounts
          - OtherRevenue
          - OtherEquity
          - BadDebt
          - OtherExpenses
          type: string
        updatedBy:
          description: 'The ID of the user who last updated the accounting code.

            '
          type: string
        updatedOn:
          description: 'Date and time when the accounting code was last updated.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/AccountingCodeObjectCustomFields'
    title: accountingCodes
  GETAccountingCodesType:
    properties:
      accountingCodes:
        description: 'An array of all the accounting codes in your chart of accounts.
          Each accounting code has the following fields.

          '
        items:
          $ref: '#/definitions/GETAccountingCodeItemWithoutSuccessType'
        type: array
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  GETAccountingPeriodType:
    allOf:
    - properties:
        createdBy:
          description: 'ID of the user who created the accounting period.

            '
          type: string
        createdOn:
          description: 'Date and time when the accounting period was created.

            '
          format: date-time
          type: string
        endDate:
          description: 'The end date of the accounting period.

            '
          format: date
          type: string
        fileIds:
          description: 'File IDs of the reports available for the accounting period.
            You can retrieve the reports by specifying the file ID in a [Get Files](https://www.zuora.com/developer/api-reference/#operation/GET_Files)
            REST API call.

            '
          properties:
            accountsReceivableAccountAgingDetailExportFileId:
              description: 'File ID of the Accounts Receivable Aging Account Detail
                report.

                '
              type: string
            accountsReceivableInvoiceAgingDetailExportFileId:
              description: 'File ID of the Accounts Receivable Aging Invoice Detail
                report.

                '
              type: string
            arRollForwardDetailExportFileId:
              description: 'File ID of the Accounts Receivable Detail report.

                '
              type: string
            fxRealizedGainAndLossDetailExportFileId:
              description: |
                File ID of the Realized Gain and Loss Detail report.

                Returned only if you have Foreign Currency Conversion enabled.
              type: string
            fxUnrealizedGainAndLossDetailExportFileId:
              description: |
                File ID of the Unrealized Gain and Loss Detail report.

                Returned only if you have Foreign Currency Conversion enabled
              type: string
            revenueDetailCsvFileId:
              description: 'File ID of the Revenue Detail report in CSV format.

                '
              type: string
            revenueDetailExcelFileId:
              description: 'File ID of the Revenue Detail report in XLSX format.

                '
              type: string
            unprocessedChargesFileId:
              description: 'File ID of a report containing all unprocessed charges
                for the accounting period.

                '
              type: string
          type: object
        fiscalYear:
          description: 'Fiscal year of the accounting period.

            '
          type: string
        fiscal_quarter:
          description: ''
          format: int64
          type: integer
        id:
          description: 'ID of the accounting period.

            '
          type: string
        name:
          description: 'Name of the accounting period.

            '
          type: string
        notes:
          description: 'Any optional notes about the accounting period.

            '
          type: string
        runTrialBalanceEnd:
          description: 'Date and time that the trial balance was completed. If the
            trial balance status is `Pending`, `Processing`, or `Error`, this field
            is `null`.

            '
          format: date-time
          type: string
        runTrialBalanceErrorMessage:
          description: 'If trial balance status is Error, an error message is returned
            in this field.

            '
          type: string
        runTrialBalanceStart:
          description: 'Date and time that the trial balance was run. If the trial
            balance status is Pending, this field is null.

            '
          format: date-time
          type: string
        runTrialBalanceStatus:
          description: |
            Status of the trial balance for the accounting period. Possible values:

            * `Pending`
            * `Processing`
            * `Completed`
            * `Error`
          type: string
        startDate:
          description: 'The start date of the accounting period.

            '
          format: date
          type: string
        status:
          description: |
            Status of the accounting period. Possible values:
            * `Open`
            * `PendingClose`
            * `Closed`
          type: string
        success:
          description: 'Returns `true` if the request was processed successfully.

            '
          type: boolean
        updatedBy:
          description: 'ID of the user who last updated the accounting period.

            '
          type: string
        updatedOn:
          description: 'Date and time when the accounting period was last updated.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/AccountingPeriodObjectCustomFields'
  GETAccountingPeriodWithoutSuccessType:
    allOf:
    - properties:
        createdBy:
          description: 'ID of the user who created the accounting period.

            '
          type: string
        createdOn:
          description: 'Date and time when the accounting period was created.

            '
          format: date-time
          type: string
        endDate:
          description: 'The end date of the accounting period.

            '
          format: date
          type: string
        fileIds:
          description: 'File IDs of the reports available for the accounting period.
            You can retrieve the reports by specifying the file ID in a [Get Files](https://www.zuora.com/developer/api-reference/#operation/GET_Files)
            REST API call.

            '
          properties:
            accountsReceivableAccountAgingDetailExportFileId:
              description: 'File ID of the Accounts Receivable Aging Account Detail
                report.

                '
              type: string
            accountsReceivableInvoiceAgingDetailExportFileId:
              description: 'File ID of the Accounts Receivable Aging Invoice Detail
                report.

                '
              type: string
            arRollForwardDetailExportFileId:
              description: 'File ID of the Accounts Receivable Detail report.

                '
              type: string
            fxRealizedGainAndLossDetailExportFileId:
              description: |
                File ID of the Realized Gain and Loss Detail report.

                Returned only if you have Foreign Currency Conversion enabled.
              type: string
            fxUnrealizedGainAndLossDetailExportFileId:
              description: |
                File ID of the Unrealized Gain and Loss Detail report.

                Returned only if you have Foreign Currency Conversion enabled
              type: string
            revenueDetailCsvFileId:
              description: 'File ID of the Revenue Detail report in CSV format.

                '
              type: string
            revenueDetailExcelFileId:
              description: 'File ID of the Revenue Detail report in XLSX format.

                '
              type: string
            unprocessedChargesFileId:
              description: 'File ID of a report containing all unprocessed charges
                for the accounting period.

                '
              type: string
          type: object
        fiscalYear:
          description: 'Fiscal year of the accounting period.

            '
          type: string
        fiscal_quarter:
          description: ''
          format: int64
          type: integer
        id:
          description: 'ID of the accounting period.

            '
          type: string
        name:
          description: 'Name of the accounting period.

            '
          type: string
        notes:
          description: 'Any optional notes about the accounting period.

            '
          type: string
        runTrialBalanceEnd:
          description: 'Date and time that the trial balance was completed. If the
            trial balance status is `Pending`, `Processing`, or `Error`, this field
            is `null`.

            '
          format: date-time
          type: string
        runTrialBalanceErrorMessage:
          description: 'If trial balance status is Error, an error message is returned
            in this field.

            '
          type: string
        runTrialBalanceStart:
          description: 'Date and time that the trial balance was run. If the trial
            balance status is `Pending`, this field is `null`.

            '
          format: date-time
          type: string
        runTrialBalanceStatus:
          description: |
            Status of the trial balance for the accounting period. Possible values:

            * `Pending`
            * `Processing`
            * `Completed`
            * `Error`
          type: string
        startDate:
          description: 'The start date of the accounting period.

            '
          format: date
          type: string
        status:
          description: |
            Status of the accounting period. Possible values:

            * `Open`
            * `PendingClose`
            * `Closed`
          type: string
        updatedBy:
          description: 'D of the user who last updated the accounting period.

            '
          type: string
        updatedOn:
          description: 'Date and time when the accounting period was last updated.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/AccountingPeriodObjectCustomFields'
    title: accountingPeriods
  GETAccountingPeriodsType:
    properties:
      accountingPeriods:
        description: 'An array of all accounting periods on your tenant. The accounting
          periods are returned in ascending order of start date; that is, the latest
          period is returned first.

          '
        items:
          $ref: '#/definitions/GETAccountingPeriodWithoutSuccessType'
        type: array
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  GETAllCustomObjectDefinitionsInNamespaceResponse:
    example:
      count: 1
      definitions:
        person:
          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:
            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
            - cardinality: manyToOne
              fields:
                work_address__c: Id
              namespace: default
              object: address
            - cardinality: oneToMany
              fields:
                Id: person_id__c
              namespace: default
              object: car
            - cardinality: oneToMany
              fields:
                Id: person_id__c
              namespace: default
              object: device
            required:
            - last_name__c
            - marital_status__c
            type: object
          type: person
    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
  GETAmendmentType:
    properties:
      autoRenew:
        description: "Determines whether the subscription is automatically renewed,\
          \ or whether it expires at the end of the term and needs to be manually\
          \ renewed. \n"
        type: boolean
      baseRatePlanId:
        description: 'The rate plan ID on which changes are made. Only the Update
          or Remove amendment returns a base rate plan ID.

          '
        type: string
      baseSubscriptionId:
        description: 'The ID of the subscription based on which the amendment is created.

          '
        type: string
      code:
        description: 'The amendment code.

          '
        type: string
      contractEffectiveDate:
        description: 'The date when the amendment becomes effective for billing purposes,
          as `yyyy-mm-dd`.

          '
        format: date
        type: string
      currentTerm:
        description: "The length of the period for the current subscription term.\
          \ \n"
        format: int64
        type: integer
      currentTermPeriodType:
        description: |
          The period type for the current subscription term.
          Possible values are:

          - Month
          - Year
          - Day
          - Week
        type: string
      customerAcceptanceDate:
        description: 'The date when the customer accepts the amendment changes to
          the subscription, as `yyyy-mm-dd`.

          '
        format: date
        type: string
      description:
        description: 'Description of the amendment.

          '
        type: string
      destinationAccountId:
        description: 'The ID of the account that the subscription is being transferred
          to.

          '
        type: string
      destinationInvoiceOwnerId:
        description: 'The ID of the invoice that the subscription is being transferred
          to.

          '
        type: string
      effectiveDate:
        description: "The date when the amendment changes take effective. \n"
        format: date
        type: string
      id:
        description: 'The amendment ID.

          '
        type: string
      name:
        description: 'The name of the amendment.

          '
        type: string
      newRatePlanId:
        description: 'The ID of the rate plan charge on which amendment is made. Only
          the Add or Update amendment returns a new rate plan ID.

          '
        type: string
      newSubscriptionId:
        description: 'The ID of the subscription that the amendment changes.

          '
        type: string
      renewalSetting:
        description: |
          Specifies whether a termed subscription will remain termed or change to evergreen when it is renewed.
          Possible values are:

          - RENEW_WITH_SPECIFIC_TERM
          - RENEW_TO_EVERGREEN
        type: string
      renewalTerm:
        description: 'The term of renewal for the amended subscription.

          '
        format: int64
        type: integer
      renewalTermPeriodType:
        description: |
          The period type for the subscription renewal term.
          Possible values are:

          - Month
          - Year
          - Day
          - Week
        type: string
      resumeDate:
        description: |
          The date when the subscription resumption takes effect, as `yyyy-mm-dd`.

          **Note:** This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
        format: date
        type: string
      serviceActivationDate:
        description: 'The date when service is activated, as `yyyy-mm-dd`.

          '
        format: date
        type: string
      specificUpdateDate:
        description: "The date when the Update Product amendment takes effect. \n\
          Only for the Update Product amendments if there is already a future-dated\
          \ Update Product amendment on\nthe subscription.\n"
        format: date
        type: string
      status:
        description: "The status of the amendment.\nPossible values are:\n\n- Draft\
          \ \n- Pending Activation\n- Pending Acceptance\n- Completed\n"
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
      suspendDate:
        description: |
          The date when the subscription suspension takes effect, as `yyyy-mm-dd`.

          **Note:** This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
        format: date
        type: string
      termStartDate:
        description: 'The date when the new terms and conditions take effect.

          '
        format: date
        type: string
      termType:
        description: 'Indicates if the subscription is `TERMED` or `EVERGREEN`.

          '
        type: string
      type:
        description: |
          Type of the amendment.
          Possible values are:

          - Cancellation
          - NewProduct
          - OwnerTransfer
          - RemoveProduct
          - Renewal
          - UpdateProduct
          - TermsAndConditions
        type: string
    type: object
  GETAttachmentResponseType:
    properties:
      createdBy:
        description: 'Zuora user id who added this attachment to the object.

          '
        type: string
      createdOn:
        description: 'Date and time when the attachment was added to the object.

          '
        format: date-time
        type: string
      description:
        description: 'Description of the attachment.

          '
        type: string
      fileContentType:
        description: 'File type.

          '
        type: string
      fileId:
        description: 'File ID of the attached file. Use this file ID with [Get files](https://www.zuora.com/developer/api-reference/#operation/GET_Files)
          to download the file.

          '
        type: string
      fileName:
        description: 'Attachment file name.

          '
        type: string
      id:
        description: 'Id of this attachment.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
      updatedBy:
        description: 'Zuora user id who last updated the attachment.

          '
        type: string
      updatedOn:
        description: 'Date and time when the attachment was last updated.

          '
        format: date-time
        type: string
    type: object
  GETAttachmentResponseWithoutSuccessType:
    properties:
      createdBy:
        description: 'Zuora user id of who added this attachment to the object.

          '
        type: string
      createdOn:
        description: 'Date and time when the attachment was added to the object.

          '
        format: date-time
        type: string
      description:
        description: 'Description of the attachment.

          '
        type: string
      fileContentType:
        description: 'Attachment file type.

          '
        type: string
      fileId:
        description: 'File ID of the attached file. Use this file ID with [Get files](https://www.zuora.com/developer/api-reference/#operation/GET_Files)
          to download the file.

          '
        type: string
      fileName:
        description: 'Attachment file name.

          '
        type: string
      id:
        description: 'Zuora id of this attachement.

          '
        type: string
      updatedBy:
        description: 'Zuora user id who last updated the attachment.

          '
        type: string
      updatedOn:
        description: 'Date and time when the attachment was last updated.

          '
        format: date-time
        type: string
    title: attachments
    type: object
  GETAttachmentsResponseType:
    properties:
      attachments:
        description: 'Container for one or more attachments.

          '
        items:
          $ref: '#/definitions/GETAttachmentResponseWithoutSuccessType'
        type: array
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  GETBillingDocumentFilesDeletionJobResponse:
    properties:
      id:
        description: 'The unique ID of the billing document file deletion job.

          '
        type: string
      status:
        description: 'The status of the billing document file deletion job.

          '
        enum:
        - Pending
        - Processing
        - Completed
        - Error
        type: string
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  GETBillingDocumentsResponseType:
    properties:
      accountId:
        description: The ID of the customer account associated with the billing document.
        format: uuid
        type: string
      amount:
        description: 'The total amount of the billing document.

          '
        format: double
        type: number
      balance:
        description: 'The balance of the billing document.

          '
        format: double
        type: number
      documentDate:
        description: 'The date of the billing document. The date can be the invoice
          date for invoices, credit memo date for credit memos, or debit memo date
          for debit memos.

          '
        format: date
        type: string
      documentNumber:
        description: 'The number of the billing document.

          '
        type: string
      documentType:
        description: 'The type of the billing document.

          '
        enum:
        - Invoice
        - CreditMemo
        - DebitMemo
        type: string
      id:
        description: 'The ID of the billing document.

          '
        type: string
      status:
        description: 'The current status of the billing document.

          '
        enum:
        - Draft
        - Posted
        - Canceled
        - Error
        type: string
    title: documents
    type: object
  GETCMTaxItemType:
    properties:
      appliedAmount:
        description: 'The applied amount of the taxation item.

          '
        format: double
        type: number
      exemptAmount:
        description: 'The amount of taxes or VAT for which the customer has an exemption.

          '
        format: double
        type: number
      financeInformation:
        description: 'Container for the finance information related to the taxation
          item.

          '
        properties:
          onAccountAccountingCode:
            description: 'The accounting code that maps to an on account in your accounting
              system.

              '
            type: string
          onAccountAccountingCodeType:
            description: 'The type of the accounting code that maps to an on account
              in your accounting system.

              '
            type: string
          salesTaxPayableAccountingCode:
            description: 'The accounting code for the sales taxes payable.

              '
            type: string
          salesTaxPayableAccountingCodeType:
            description: 'The type of the accounting code for the sales taxes payable.

              '
            type: string
        type: object
      id:
        description: 'The ID of the taxation item.

          '
        type: string
      jurisdiction:
        description: 'The jurisdiction that applies the tax or VAT. This value is
          typically a state, province, county, or city.

          '
        type: string
      locationCode:
        description: 'The identifier for the location based on the value of the `taxCode`
          field.

          '
        type: string
      name:
        description: 'The name of the taxation item.

          '
        type: string
      refundAmount:
        description: 'The amount of the refund on the taxation item.

          '
        format: double
        type: number
      sourceTaxItemId:
        description: 'The ID of the source taxation item.

          '
        type: string
      taxAmount:
        description: 'The amount of taxation.

          '
        format: double
        type: number
      taxCode:
        description: 'The tax code identifies which tax rules and tax rates to apply
          to a specific credit memo.

          '
        type: string
      taxCodeDescription:
        description: 'The description of the tax code.

          '
        type: string
      taxDate:
        description: 'The date that the tax is applied to the credit memo, in `yyyy-mm-dd`
          format.

          '
        format: date
        type: string
      taxRate:
        description: 'The tax rate applied to the credit memo.

          '
        format: double
        type: number
      taxRateDescription:
        description: 'The description of the tax rate.

          '
        type: string
      taxRateType:
        description: 'The type of the tax rate.

          '
        enum:
        - Percentage
        - FlatFee
        type: string
      unappliedAmount:
        description: 'The unapplied amount of the taxation item.

          '
        format: double
        type: number
    title: creditTaxItems
    type: object
  GETCMTaxItemTypeNew:
    properties:
      appliedAmount:
        description: 'The applied amount of the taxation item.

          '
        format: double
        type: number
      exemptAmount:
        description: 'The amount of taxes or VAT for which the customer has an exemption.

          '
        format: double
        type: number
      financeInformation:
        description: 'Container for the finance information related to the taxation
          item.

          '
        properties:
          onAccountAccountingCode:
            description: 'The accounting code that maps to an on account in your accounting
              system.

              '
            type: string
          onAccountAccountingCodeType:
            description: 'The type of the accounting code that maps to an on account
              in your accounting system.

              '
            type: string
          salesTaxPayableAccountingCode:
            description: 'The accounting code for the sales taxes payable.

              '
            type: string
          salesTaxPayableAccountingCodeType:
            description: 'The type of the accounting code for the sales taxes payable.

              '
            type: string
        type: object
      id:
        description: 'The ID of the taxation item.

          '
        type: string
      jurisdiction:
        description: 'The jurisdiction that applies the tax or VAT. This value is
          typically a state, province, county, or city.

          '
        type: string
      locationCode:
        description: 'The identifier for the location based on the value of the `taxCode`
          field.

          '
        type: string
      name:
        description: 'The name of the taxation item.

          '
        type: string
      refundAmount:
        description: 'The amount of the refund on the taxation item.

          '
        format: double
        type: number
      sourceTaxItemId:
        description: 'The ID of the source taxation item.

          '
        type: string
      taxAmount:
        description: 'The amount of taxation.

          '
        format: double
        type: number
      taxCode:
        description: 'The tax code identifies which tax rules and tax rates to apply
          to a specific credit memo.

          '
        type: string
      taxCodeDescription:
        description: 'The description of the tax code.

          '
        type: string
      taxDate:
        description: 'The date that the tax is applied to the credit memo, in `yyyy-mm-dd`
          format.

          '
        format: date
        type: string
      taxRate:
        description: 'The tax rate applied to the credit memo.

          '
        format: double
        type: number
      taxRateDescription:
        description: 'The description of the tax rate.

          '
        type: string
      taxRateType:
        description: 'The type of the tax rate.

          '
        enum:
        - Percentage
        - FlatFee
        type: string
      unappliedAmount:
        description: 'The unapplied amount of the taxation item.

          '
        format: double
        type: number
    title: data
    type: object
  GETCalloutHistoryVOType:
    properties:
      attemptedNum:
        description: 'The number of times the callout was retried.

          '
        type: string
      createTime:
        description: 'The time that the calloutHistory record was made.

          '
        type: string
      eventCategory:
        description: 'The event category for the callout.

          '
        type: string
      eventContext:
        description: 'The context of the callout event.

          '
        type: string
      notification:
        description: 'The name of the notification.

          '
        type: string
      requestMethod:
        description: 'The request method set in notifications settings.

          '
        type: string
      requestUrl:
        description: 'The base url set in notifications settings.

          '
        type: string
      responseCode:
        description: 'The responseCode of the request.

          '
        type: string
      responseContent:
        description: ''
        type: string
    title: calloutHistories
    type: object
  GETCalloutHistoryVOsType:
    properties:
      calloutHistories:
        description: 'A container for callout histories.

          '
        items:
          $ref: '#/definitions/GETCalloutHistoryVOType'
        type: array
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  GETCatalogType:
    properties:
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      products:
        description: 'Container for one or more products:

          '
        items:
          $ref: '#/definitions/GETProductType'
        type: array
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  GETChargeRSDetailType:
    properties:
      accountId:
        description: 'An account ID.

          '
        type: string
      amount:
        description: 'The revenue schedule amount, which is the sum of all revenue
          items. This field cannot be null and must be formatted based on the currency,
          such as *JPY 30* or USD *30.15*. Test out the currency to ensure you are
          using the proper formatting otherwise, the response will fail and this error
          message is returned:  *"Allocation amount with wrong decimal places."*

          '
        format: decimal
        type: string
      currency:
        description: "The type of currency used. \n"
        type: string
      notes:
        description: 'Additional information about this record.

          '
        type: string
      number:
        description: 'The charge revenue summary number.

          '
        type: string
      recognitionRuleName:
        description: 'The name of the recognition rule.

          '
        type: string
      recognizedRevenue:
        description: 'The revenue that was distributed in a closed accounting period.

          '
        format: decimal
        type: string
      revenueItems:
        description: 'Revenue items are listed in ascending order by the accounting
          period start date.

          '
        items:
          $ref: '#/definitions/GETRevenueItemTypeResponse'
        type: array
      subscriptionChargeId:
        description: 'The original subscription charge ID.

          '
        type: string
      subscriptionId:
        description: 'The original subscription ID.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
      undistributedUnrecognizedRevenue:
        description: 'Revenue in the open-ended accounting period.

          '
        format: decimal
        type: string
      unrecognizedRevenue:
        description: 'Revenue distributed in all open accounting periods, which includes
          the open-ended accounting period.

          '
        format: decimal
        type: string
    type: object
  GETCreditMemoCollectionType:
    properties:
      creditmemos:
        description: 'Container for credit memos.

          '
        items:
          $ref: '#/definitions/GETCreditMemoTypewithSuccess'
        type: array
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  GETCreditMemoItemPartType:
    properties:
      amount:
        description: "The amount of the credit memo part item. \n"
        format: double
        type: number
      createdById:
        description: 'The ID of the Zuora user who created the credit memo part item.

          '
        type: string
      createdDate:
        description: 'The date and time when the credit memo part item was created,
          in `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-01 15:31:10.

          '
        format: date-time
        type: string
      creditMemoItemId:
        description: 'The ID of the credit memo item associated with the credit memo
          part item.

          '
        type: string
      creditTaxItemId:
        description: 'The ID of the credit memo taxation item.

          '
        type: string
      debitMemoItemId:
        description: 'The ID of the debit memo item associated with the credit memo
          part item.

          '
        type: string
      id:
        description: 'The ID of the credit memo part item.

          '
        type: string
      invoiceItemId:
        description: 'The ID of the invoice item associated with the credit memo part
          item.

          '
        type: string
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
      taxItemId:
        description: 'The ID of the invoice or debit memo taxation item associated
          with the credit memo taxation item.

          '
        type: string
      updatedById:
        description: 'The ID of the Zuora user who last updated the credit memo part
          item.

          '
        type: string
      updatedDate:
        description: 'The date and time when the credit memo part item was last updated,
          in `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-02 15:36:10.

          '
        format: date-time
        type: string
    type: object
  GETCreditMemoItemPartTypewithSuccess:
    properties:
      amount:
        description: 'The amount of the credit memo part item.

          '
        format: double
        type: number
      createdById:
        description: 'The ID of the Zuora user who created the credit memo part item.

          '
        type: string
      createdDate:
        description: 'The date and time when the credit memo part item was created,
          in `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-01 15:31:10.

          '
        format: date-time
        type: string
      creditMemoItemId:
        description: 'The ID of the credit memo item associated with the credit memo
          part item.

          '
        type: string
      creditTaxItemId:
        description: 'The ID of the credit memo taxation item.

          '
        type: string
      debitMemoItemId:
        description: 'The ID of the debit memo item associated with the credit memo
          part item.

          '
        type: string
      id:
        description: 'The ID of the credit memo part item.

          '
        type: string
      invoiceItemId:
        description: 'The ID of the invoice item associated with the credit memo part
          item.

          '
        type: string
      taxItemId:
        description: 'The ID of the invoice or debit memo taxation item associated
          with the credit memo taxation item.

          '
        type: string
      updatedById:
        description: 'The ID of the Zuora user who last updated the credit memo part
          item.

          '
        type: string
      updatedDate:
        description: 'The date and time when the credit memo part item was last updated,
          in `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-02 15:36:10.

          '
        format: date-time
        type: string
    title: itemparts
    type: object
  GETCreditMemoItemPartsCollectionType:
    properties:
      itemParts:
        description: 'Container for credit memo part items.

          '
        items:
          $ref: '#/definitions/GETCreditMemoItemPartTypewithSuccess'
        type: array
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  GETCreditMemoItemType:
    allOf:
    - properties:
        amount:
          description: 'The amount of the credit memo item. For tax-inclusive credit
            memo items, the amount indicates the credit memo item amount including
            tax. For tax-exclusive credit memo items, the amount indicates the credit
            memo item amount excluding tax.

            '
          format: double
          type: number
        amountWithoutTax:
          description: 'The credit memo item amount excluding tax.

            '
          format: double
          type: number
        appliedAmount:
          description: 'The applied amount of the credit memo item.

            '
          format: double
          type: number
        appliedToItemId:
          description: 'The unique ID of the credit memo item that the discount charge
            is applied to.

            '
          type: string
        comment:
          description: |
            Comments about the credit memo item.

            **Note**: This field is not available if you set the `zuora-version` request header to `257.0` or later.
          type: string
        createdById:
          description: 'The ID of the Zuora user who created the credit memo item.

            '
          type: string
        createdDate:
          description: 'The date and time when the credit memo item was created, in
            `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-01 15:31:10.

            '
          format: date-time
          type: string
        creditTaxItems:
          description: "Container for the taxation items of the credit memo item.\
            \ \n\n**Note**: This field is not available if you set the `zuora-version`\
            \ request header to `239.0` or later.\n"
          items:
            $ref: '#/definitions/GETCMTaxItemType'
          type: array
        description:
          description: |
            The description of the credit memo item.

            **Note**: This field is only available if you set the `zuora-version` request header to `257.0` or later.
          type: string
        financeInformation:
          description: 'Container for the finance information related to the credit
            memo item.

            '
          properties:
            deferredRevenueAccountingCode:
              description: 'The accounting code for the deferred revenue, such as
                Monthly Recurring Liability.

                '
              type: string
            deferredRevenueAccountingCodeType:
              description: 'The type of the deferred revenue accounting code, such
                as Deferred Revenue.''

                '
              type: string
            onAccountAccountingCode:
              description: 'The accounting code that maps to an on account in your
                accounting system.

                '
              type: string
            onAccountAccountingCodeType:
              description: 'The type of the accounting code that maps to an on account
                in your accounting system.

                '
              type: string
            recognizedRevenueAccountingCode:
              description: 'The accounting code for the recognized revenue, such as
                Monthly Recurring Charges or Overage Charges.

                '
              type: string
            recognizedRevenueAccountingCodeType:
              description: 'The type of the recognized revenue accounting code, such
                as Sales Revenue or Sales Discount.

                '
              type: string
            revenueRecognitionRuleName:
              description: 'The name of the revenue recognition rule governing the
                revenue schedule.

                '
              type: string
            revenueScheduleNumber:
              description: 'Revenue schedule number. The revenue schedule number is
                always prefixed with "RS", for example, RS-00000001.

                '
              type: string
          type: object
        id:
          description: 'The ID of the credit memo item.

            '
          type: string
        processingType:
          description: "The kind of the charge for the credit memo item. Its possible\
            \ values are `Charge` and `Discount`. \n"
          type: string
        quantity:
          description: 'The number of units for the credit memo item.

            '
          format: double
          type: number
        refundAmount:
          description: 'The amount of the refund on the credit memo item.

            '
          format: double
          type: number
        serviceEndDate:
          description: 'The service end date of the credit memo item.

            '
          format: date
          type: string
        serviceStartDate:
          description: 'The service start date of the credit memo item. If the associated
            charge is a one-time fee, this date is the date of that charge.

            '
          format: date
          type: string
        sku:
          description: 'The SKU for the product associated with the credit memo item.

            '
          type: string
        skuName:
          description: 'The name of the SKU.

            '
          type: string
        sourceItemId:
          description: 'The ID of the source item.

            '
          type: string
        sourceItemType:
          description: 'The type of the source item.

            '
          enum:
          - SubscriptionComponent
          - InvoiceDetail
          - ProductRatePlanCharge
          type: string
        subscriptionId:
          description: 'The ID of the subscription associated with the credit memo
            item.

            '
          type: string
        success:
          description: Returns `true` if the request was processed successfully.
          type: boolean
        taxationItems:
          description: "Container for the taxation items of the credit memo item.\
            \ \n\n**Note**: This field is only available if you set the `zuora-version`\
            \ request header to `239.0` or later.\n"
          properties:
            data:
              description: 'List of taxation items.

                '
              items:
                $ref: '#/definitions/GETCMTaxItemTypeNew'
              type: array
            nextPage:
              description: 'URL to retrieve the next page of the response if it exists;
                otherwise absent.

                '
              format: URL
              type: string
          type: object
        unappliedAmount:
          description: 'The unapplied amount of the credit memo item.

            '
          format: double
          type: number
        unitOfMeasure:
          description: 'The units to measure usage.

            '
          type: string
        unitPrice:
          description: 'The per-unit price of the credit memo item.

            '
          format: double
          type: number
        updatedById:
          description: 'The ID of the Zuora user who last updated the credit memo
            item.

            '
          type: string
        updatedDate:
          description: 'The date and time when the credit memo item was last updated,
            in `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-02 15:36:10.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/CreditMemoItemObjectCustomFields'
  GETCreditMemoItemTypewithSuccess:
    allOf:
    - properties:
        amount:
          description: 'The amount of the credit memo item. For tax-inclusive credit
            memo items, the amount indicates the credit memo item amount including
            tax. For tax-exclusive credit memo items, the amount indicates the credit
            memo item amount excluding tax.

            '
          format: double
          type: number
        amountWithoutTax:
          description: 'The credit memo item amount excluding tax.

            '
          format: double
          type: number
        appliedAmount:
          description: 'The applied amount of the credit memo item.

            '
          format: double
          type: number
        appliedToItemId:
          description: 'The unique ID of the credit memo item that the discount charge
            is applied to.

            '
          type: string
        comment:
          description: |
            Comments about the credit memo item.

            **Note**: This field is not available if you set the `zuora-version` request header to `257.0` or later.
          type: string
        createdById:
          description: 'The ID of the Zuora user who created the credit memo item.

            '
          type: string
        createdDate:
          description: 'The date and time when the credit memo item was created, in
            `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-01 15:31:10.

            '
          format: date-time
          type: string
        creditTaxItems:
          description: "Container for the taxation items of the credit memo item.\
            \ \n\n**Note**: This field is not available if you set the `zuora-version`\
            \ request header to `239.0` or later.\n"
          items:
            $ref: '#/definitions/GETCMTaxItemType'
          type: array
        description:
          description: |
            The description of the credit memo item.

            **Note**: This field is only available if you set the `zuora-version` request header to `257.0` or later.
          type: string
        financeInformation:
          description: 'Container for the finance information related to the credit
            memo item.

            '
          properties:
            deferredRevenueAccountingCode:
              description: 'The accounting code for the deferred revenue, such as
                Monthly Recurring Liability.

                '
              type: string
            deferredRevenueAccountingCodeType:
              description: "The type of the deferred revenue accounting code, such\
                \ as Deferred Revenue. \n"
              type: string
            onAccountAccountingCode:
              description: 'The accounting code that maps to an on account in your
                accounting system.

                '
              type: string
            onAccountAccountingCodeType:
              description: 'The type of the accounting code that maps to an on account
                in your accounting system.

                '
              type: string
            recognizedRevenueAccountingCode:
              description: 'The accounting code for the recognized revenue, such as
                Monthly Recurring Charges or Overage Charges.

                '
              type: string
            recognizedRevenueAccountingCodeType:
              description: "The type of the recognized revenue accounting code, such\
                \ as Sales Revenue or Sales Discount. \n"
              type: string
            revenueRecognitionRuleName:
              description: 'The name of the revenue recognition rule governing the
                revenue schedule.

                '
              type: string
            revenueScheduleNumber:
              description: 'Revenue schedule number. The revenue schedule number is
                always prefixed with "RS", for example, RS-00000001.

                '
              type: string
          type: object
        id:
          description: 'The ID of the credit memo item.

            '
          type: string
        processingType:
          description: "The kind of the charge for the credit memo item. Its possible\
            \ values are `Charge` and `Discount`. \n"
          type: string
        quantity:
          description: 'The number of units for the credit memo item.

            '
          format: double
          type: number
        refundAmount:
          description: 'The amount of the refund on the credit memo item.

            '
          format: double
          type: number
        serviceEndDate:
          description: "The service end date of the credit memo item. \n"
          format: date
          type: string
        serviceStartDate:
          description: 'The service start date of the credit memo item.

            '
          format: date
          type: string
        sku:
          description: 'The SKU for the product associated with the credit memo item.

            '
          type: string
        skuName:
          description: 'The name of the SKU.

            '
          type: string
        sourceItemId:
          description: 'The ID of the source item.

            '
          type: string
        sourceItemType:
          description: 'The type of the source item.

            '
          enum:
          - SubscriptionComponent
          - InvoiceDetail
          - ProductRatePlanCharge
          type: string
        subscriptionId:
          description: 'The ID of the subscription associated with the credit memo
            item.

            '
          type: string
        taxationItems:
          description: "Container for the taxation items of the credit memo item.\
            \ \n\n**Note**: This field is only available if you set the `zuora-version`\
            \ request header to `239.0` or later.\n"
          properties:
            data:
              description: 'List of taxation items.

                '
              items:
                $ref: '#/definitions/GETCMTaxItemTypeNew'
              type: array
            nextPage:
              description: 'URL to retrieve the next page of the response if it exists;
                otherwise absent.

                '
              format: URL
              type: string
          type: object
        unappliedAmount:
          description: 'The unapplied amount of the credit memo item.

            '
          format: double
          type: number
        unitOfMeasure:
          description: 'The units to measure usage.

            '
          type: string
        unitPrice:
          description: 'The per-unit price of the credit memo item.

            '
          format: double
          type: number
        updatedById:
          description: 'The ID of the Zuora user who last updated the credit memo
            item.

            '
          type: string
        updatedDate:
          description: 'The date and time when the credit memo item was last updated,
            in `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-02 15:36:10.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/CreditMemoItemObjectCustomFields'
    title: items
  GETCreditMemoItemsListType:
    properties:
      items:
        description: 'Container for credit memo items.

          '
        items:
          $ref: '#/definitions/GETCreditMemoItemTypewithSuccess'
        type: array
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  GETCreditMemoPartType:
    properties:
      amount:
        description: 'The amount of the credit memo part.

          '
        format: double
        type: number
      createdById:
        description: 'The ID of the Zuora user who created the credit memo part.

          '
        type: string
      createdDate:
        description: 'The date and time when the credit memo part was created, in
          `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-01 15:31:10.

          '
        format: date-time
        type: string
      debitMemoId:
        description: 'The ID of the debit memo associated with the credit memo part.

          '
        type: string
      id:
        description: 'The ID of the credit memo part.

          '
        type: string
      invoiceId:
        description: 'The ID of the invoice associated with the credit memo part.

          '
        type: string
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
      updatedById:
        description: 'The ID of the Zuora user who last updated the credit memo part.

          '
        type: string
      updatedDate:
        description: 'The date and time when the credit memo part was last upated,
          in `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-02 15:36:10.

          '
        format: date-time
        type: string
    type: object
  GETCreditMemoPartTypewithSuccess:
    properties:
      amount:
        description: 'The amount of the credit memo part.

          '
        format: double
        type: number
      createdById:
        description: 'The ID of the Zuora user who created the credit memo part.

          '
        type: string
      createdDate:
        description: 'The date and time when the credit memo part was created, in
          `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-01 15:31:10.

          '
        format: date-time
        type: string
      debitMemoId:
        description: 'The ID of the debit memo associated with the credit memo part.

          '
        type: string
      id:
        description: 'The ID of the credit memo part.

          '
        type: string
      invoiceId:
        description: 'The ID of the invoice associated with the credit memo part.

          '
        type: string
      updatedById:
        description: 'The ID of the Zuora user who last updated the credit memo part.

          '
        type: string
      updatedDate:
        description: 'The date and time when the credit memo part was last upated,
          in `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-02 15:36:10.

          '
        format: date-time
        type: string
    title: parts
    type: object
  GETCreditMemoPartsCollectionType:
    properties:
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      parts:
        description: 'Container for credit memo parts.

          '
        items:
          $ref: '#/definitions/GETCreditMemoPartTypewithSuccess'
        type: array
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  GETCreditMemoType:
    allOf:
    - properties:
        accountId:
          description: 'The ID of the customer account associated with the credit
            memo.

            '
          type: string
        amount:
          description: 'The total amount of the credit memo.

            '
          format: double
          type: number
        appliedAmount:
          description: 'The applied amount of the credit memo.

            '
          format: double
          type: number
        autoApplyUponPosting:
          description: 'Whether the credit memo automatically applies to the invoice
            upon posting.

            '
          type: boolean
        cancelledById:
          description: 'The ID of the Zuora user who cancelled the credit memo.

            '
          type: string
        cancelledOn:
          description: 'The date and time when the credit memo was cancelled, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        comment:
          description: 'Comments about the credit memo.

            '
          type: string
        createdById:
          description: 'The ID of the Zuora user who created the credit memo.

            '
          type: string
        createdDate:
          description: 'The date and time when the credit memo was created, in `yyyy-mm-dd
            hh:mm:ss` format. For example, 2017-03-01 15:31:10.

            '
          format: date-time
          type: string
        creditMemoDate:
          description: 'The date when the credit memo takes effect, in `yyyy-mm-dd`
            format. For example, 2017-05-20.

            '
          format: date
          type: string
        currency:
          description: 'A currency defined in the web-based UI administrative settings.

            '
          type: string
        excludeFromAutoApplyRules:
          description: 'Whether the credit memo is excluded from the rule of automatically
            applying credit memos to invoices.

            '
          type: boolean
        id:
          description: 'The unique ID of the credit memo.

            '
          type: string
        latestPDFFileId:
          description: 'The ID of the latest PDF file generated for the credit memo.

            '
          type: string
        number:
          description: 'The unique identification number of the credit memo.

            '
          type: string
        postedById:
          description: 'The ID of the Zuora user who posted the credit memo.

            '
          type: string
        postedOn:
          description: 'The date and time when the credit memo was posted, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        reasonCode:
          description: 'A code identifying the reason for the transaction. The value
            must be an existing reason code or empty.

            '
          type: string
        referredInvoiceId:
          description: 'The ID of a referred invoice.

            '
          type: string
        refundAmount:
          description: 'The amount of the refund on the credit memo.

            '
          format: double
          type: number
        source:
          description: |
            The source of the credit memo.

            Possible values:
            - `BillRun`: The credit memo is generated by a bill run.
            - `API`: The credit memo is created by calling the [Invoice and collect](https://www.zuora.com/developer/api-reference/#operation/POST_TransactionInvoicePayment) operation.
            - `ApiSubscribe`: The credit memo is created by calling the [Create subscription](https://www.zuora.com/developer/api-reference/#operation/POST_Subscription) and [Create account](https://www.zuora.com/developer/api-reference/#operation/POST_Account) operation.
            - `ApiAmend`: The credit memo is created by calling the [Update subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_Subscription) operation.
            - `AdhocFromPrpc`: The credit memo is created from a product rate plan charge through the Zuora UI or by calling the [Create credit memo from charge](https://www.zuora.com/developer/api-reference/#operation/POST_CreditMemoFromPrpc) operation.
            - `AdhocFromInvoice`: The credit memo is created from an invoice or created by reversing an invoice. You can create a credit memo from an invoice through the Zuora UI or by calling the [Create credit memo from invoice](https://www.zuora.com/developer/api-reference/#operation/POST_CreditMemoFromInvoice) operation. You can create a credit memo by reversing an invoice through the Zuora UI or by calling the [Reverse invoice](https://www.zuora.com/developer/api-reference/#operation/PUT_ReverseInvoice) operation.
          type: string
        sourceId:
          description: |
            The ID of the credit memo source.

            If a credit memo is generated from a bill run, the value is the number of the corresponding bill run. Otherwise, the value is `null`.
          type: string
        status:
          description: 'The status of the credit memo.

            '
          enum:
          - Draft
          - Posted
          - Canceled
          - Error
          - PendingForTax
          - Generating
          - CancelInProgress
          type: string
        success:
          description: Returns `true` if the request was processed successfully.
          type: boolean
        targetDate:
          description: 'The target date for the credit memo, in `yyyy-mm-dd` format.
            For example, 2017-07-20.

            '
          format: date
          type: string
        taxAmount:
          description: 'The amount of taxation.

            '
          format: double
          type: number
        taxMessage:
          description: 'The message about the status of tax calculation related to
            the credit memo. If tax calculation fails in one credit memo, this field
            displays the reason for the failure.

            '
          type: string
        taxStatus:
          description: |
            The status of tax calculation related to the credit memo.

            **Note**: This field is only applicable to tax calculation by third-party tax engines.
          enum:
          - Completed
          - Error
          type: string
        totalTaxExemptAmount:
          description: 'The total amount of taxes or VAT for which the customer has
            an exemption.

            '
          format: double
          type: number
        transferredToAccounting:
          description: "Whether the credit memo was transferred to an external accounting\
            \ system. Use this field for integration with accounting systems, such\
            \ as NetSuite. \n"
          enum:
          - Processing
          - 'Yes'
          - 'No'
          - Error
          - Ignore
          type: string
        unappliedAmount:
          description: 'The unapplied amount of the credit memo.

            '
          format: double
          type: number
        updatedById:
          description: 'The ID of the Zuora user who last updated the credit memo.

            '
          type: string
        updatedDate:
          description: 'The date and time when the credit memo was last updated, in
            `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-01 15:36:10.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/CreditMemoObjectNSFields'
    - $ref: '#/definitions/CreditMemoObjectCustomFields'
  GETCreditMemoTypewithSuccess:
    allOf:
    - properties:
        accountId:
          description: 'The ID of the customer account associated with the credit
            memo.

            '
          type: string
        amount:
          description: 'The total amount of the credit memo.

            '
          format: double
          type: number
        appliedAmount:
          description: 'The applied amount of the credit memo.

            '
          format: double
          type: number
        autoApplyUponPosting:
          description: 'Whether the credit memo automatically applies to the invoice
            upon posting.

            '
          type: boolean
        cancelledById:
          description: 'The ID of the Zuora user who cancelled the credit memo.

            '
          type: string
        cancelledOn:
          description: 'The date and time when the credit memo was cancelled, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        comment:
          description: 'Comments about the credit memo.

            '
          type: string
        createdById:
          description: 'The ID of the Zuora user who created the credit memo.

            '
          type: string
        createdDate:
          description: 'The date and time when the credit memo was created, in `yyyy-mm-dd
            hh:mm:ss` format. For example, 2017-03-01 15:31:10.

            '
          format: date-time
          type: string
        creditMemoDate:
          description: 'The date when the credit memo takes effect, in `yyyy-mm-dd`
            format. For example, 2017-05-20.

            '
          format: date
          type: string
        currency:
          description: 'A currency defined in the web-based UI administrative settings.

            '
          type: string
        excludeFromAutoApplyRules:
          description: 'Whether the credit memo is excluded from the rule of automatically
            applying credit memos to invoices.

            '
          type: boolean
        id:
          description: 'The unique ID of the credit memo.

            '
          type: string
        latestPDFFileId:
          description: 'The ID of the latest PDF file generated for the credit memo.

            '
          type: string
        number:
          description: 'The unique identification number of the credit memo.

            '
          type: string
        postedById:
          description: 'The ID of the Zuora user who posted the credit memo.

            '
          type: string
        postedOn:
          description: 'The date and time when the credit memo was posted, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        reasonCode:
          description: 'A code identifying the reason for the transaction. The value
            must be an existing reason code or empty.

            '
          type: string
        referredInvoiceId:
          description: 'The ID of a referred invoice.

            '
          type: string
        refundAmount:
          description: 'The amount of the refund on the credit memo.

            '
          format: double
          type: number
        source:
          description: |
            The source of the credit memo.

            Possible values:
            - `BillRun`: The credit memo is generated by a bill run.
            - `API`: The credit memo is created by calling the [Invoice and collect](https://www.zuora.com/developer/api-reference/#operation/POST_TransactionInvoicePayment) operation.
            - `ApiSubscribe`: The credit memo is created by calling the [Create subscription](https://www.zuora.com/developer/api-reference/#operation/POST_Subscription) and [Create account](https://www.zuora.com/developer/api-reference/#operation/POST_Account) operation.
            - `ApiAmend`: The credit memo is created by calling the [Update subscription](https://www.zuora.com/developer/api-reference/#operation/PUT_Subscription) operation.
            - `AdhocFromPrpc`: The credit memo is created from a product rate plan charge through the Zuora UI or by calling the [Create credit memo from charge](https://www.zuora.com/developer/api-reference/#operation/POST_CreditMemoFromPrpc) operation.
            - `AdhocFromInvoice`: The credit memo is created from an invoice or created by reversing an invoice. You can create a credit memo from an invoice through the Zuora UI or by calling the [Create credit memo from invoice](https://www.zuora.com/developer/api-reference/#operation/POST_CreditMemoFromInvoice) operation. You can create a credit memo by reversing an invoice through the Zuora UI or by calling the [Reverse invoice](https://www.zuora.com/developer/api-reference/#operation/PUT_ReverseInvoice) operation.
          type: string
        sourceId:
          description: "The ID of the credit memo source. \n\nIf a credit memo is\
            \ generated from a bill run, the value is the number of the corresponding\
            \ bill run. Otherwise, the value is `null`.\n"
          type: string
        status:
          description: "The status of the credit memo. \n"
          enum:
          - Draft
          - Posted
          - Canceled
          - Error
          - PendingForTax
          - Generating
          - CancelInProgress
          type: string
        targetDate:
          description: 'The target date for the credit memo, in `yyyy-mm-dd` format.
            For example, 2017-07-20.

            '
          format: date
          type: string
        taxAmount:
          description: 'The amount of taxation.

            '
          format: double
          type: number
        taxMessage:
          description: 'The message about the status of tax calculation related to
            the credit memo. If tax calculation fails in one credit memo, this field
            displays the reason for the failure.

            '
          type: string
        taxStatus:
          description: |
            The status of tax calculation related to the credit memo.

            **Note**: This field is only applicable to tax calculation by third-party tax engines.
          enum:
          - Completed
          - Error
          type: string
        totalTaxExemptAmount:
          description: 'The total amount of taxes or VAT for which the customer has
            an exemption.

            '
          format: double
          type: number
        transferredToAccounting:
          description: "Whether the credit memo was transferred to an external accounting\
            \ system. Use this field for integration with accounting systems, such\
            \ as NetSuite. \n"
          enum:
          - Processing
          - 'Yes'
          - 'No'
          - Error
          - Ignore
          type: string
        unappliedAmount:
          description: 'The unapplied amount of the credit memo.

            '
          format: double
          type: number
        updatedById:
          description: 'The ID of the Zuora user who last updated the credit memo.

            '
          type: string
        updatedDate:
          description: 'The date and time when the credit memo was last updated, in
            `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-02 15:36:10.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/CreditMemoObjectNSFields'
    - $ref: '#/definitions/CreditMemoObjectCustomFields'
    title: creditmemos
  GETCustomExchangeRatesDataType:
    properties:
      DATE:
        description: 'Container for exchange rate information on a given date. The
          field name is the date in `yyyy-mm-dd` format, for example, 2016-01-15.

          '
        properties:
          CURRENCY:
            description: |
              The exchange rate on the **providerExchangeRateDate**. The field name is the ISO currency code of the currency, for example, `EUR`.

              There may be more than one currency returned for a given **providerExchangeRateDate**. If the rate for a certain currency is not available on the **providerExchangeRateDate**, the currency is not returned in the response.
            type: string
          providerExchangeRateDate:
            description: |
              The date of the exchange rate used. The date is in `yyyy-mm-dd` format.

              Corresponds to the value specified in the Provider Exchange Rate Date column in the Import Foreign Exchange Rates template when you uploaded the rates through the Mass Updater.
            format: date
            type: string
        title: List of exchange rates
        type: object
    title: rates
    type: object
  GETCustomExchangeRatesType:
    properties:
      inverse:
        description: |
          - If `true`, the exchange rate in the response is an inverse exchange rate.
          - If `false`, the exchange rate in the response is not an inverse exchange rate.
          The value is determined by the **Use inverse rate** checkbox in your Zuora Finance Manage Currency Conversion settings.
        type: boolean
      rates:
        description: "Container for exchange rate data. Contains a set of fields that\
          \ provide exchange rate data for each day between the specified `startDate`\
          \ and `endDate` (inclusive). \n"
        items:
          $ref: '#/definitions/GETCustomExchangeRatesDataType'
        type: array
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  GETDMTaxItemType:
    properties:
      appliedAmount:
        description: 'The applied amount of the taxation item.

          '
        format: double
        type: number
      creditAmount:
        description: "The amount of credit memos applied to the debit memo. \n"
        format: double
        type: number
      exemptAmount:
        description: 'The amount of taxes or VAT for which the customer has an exemption.

          '
        format: double
        type: number
      financeInformation:
        description: 'Container for the finance information related to the taxation
          item.

          '
        properties:
          salesTaxPayableAccountingCode:
            description: 'The accounting code for the sales taxes payable.

              '
            type: string
          salesTaxPayableAccountingCodeType:
            description: 'The type of the accounting code for the sales taxes payable.

              '
            type: string
        type: object
      id:
        description: 'The ID of the taxation item.

          '
        type: string
      jurisdiction:
        description: 'The jurisdiction that applies the tax or VAT. This value is
          typically a state, province, county, or city.

          '
        type: string
      locationCode:
        description: 'The identifier for the location based on the value of the `taxCode`
          field.

          '
        type: string
      name:
        description: 'The name of the taxation item.

          '
        type: string
      paymentAmount:
        description: "The amount of payments applied to the debit memo. \n"
        format: double
        type: number
      refundAmount:
        description: 'The amount of the refund on the taxation item.

          '
        format: double
        type: number
      sourceTaxItemId:
        description: 'The ID of the source taxation item.

          '
        type: string
      taxAmount:
        description: 'The amount of taxation.

          '
        format: double
        type: number
      taxCode:
        description: 'The tax code identifies which tax rules and tax rates to apply
          to a specific debit memo.

          '
        type: string
      taxCodeDescription:
        description: 'The description of the tax code.

          '
        type: string
      taxDate:
        description: 'The date that the tax is applied to the debit memo, in `yyyy-mm-dd`
          format.

          '
        format: date
        type: string
      taxRate:
        description: 'The tax rate applied to the debit memo.

          '
        format: double
        type: number
      taxRateDescription:
        description: 'The description of the tax rate.

          '
        type: string
      taxRateType:
        description: 'The type of the tax rate.

          '
        enum:
        - Percentage
        - FlatFee
        type: string
      unappliedAmount:
        description: 'The unapplied amount of the taxation item.

          '
        format: double
        type: number
    title: taxItems
    type: object
  GETDMTaxItemTypeNew:
    properties:
      balance:
        description: 'The balance of the taxation item.

          '
        format: double
        type: number
      creditAmount:
        description: "The amount of credit memos applied to the debit memo. \n"
        format: double
        type: number
      exemptAmount:
        description: 'The amount of taxes or VAT for which the customer has an exemption.

          '
        format: double
        type: number
      financeInformation:
        description: 'Container for the finance information related to the taxation
          item.

          '
        properties:
          salesTaxPayableAccountingCode:
            description: 'The accounting code for the sales taxes payable.

              '
            type: string
          salesTaxPayableAccountingCodeType:
            description: 'The type of the accounting code for the sales taxes payable.

              '
            type: string
        type: object
      id:
        description: 'The ID of the taxation item.

          '
        type: string
      jurisdiction:
        description: 'The jurisdiction that applies the tax or VAT. This value is
          typically a state, province, county, or city.

          '
        type: string
      locationCode:
        description: 'The identifier for the location based on the value of the `taxCode`
          field.

          '
        type: string
      name:
        description: 'The name of the taxation item.

          '
        type: string
      paymentAmount:
        description: "The amount of payments applied to the debit memo. \n"
        format: double
        type: number
      sourceTaxItemId:
        description: 'The ID of the source taxation item.

          '
        type: string
      taxAmount:
        description: 'The amount of taxation.

          '
        format: double
        type: number
      taxCode:
        description: 'The tax code identifies which tax rules and tax rates to apply
          to a specific debit memo.

          '
        type: string
      taxCodeDescription:
        description: 'The description of the tax code.

          '
        type: string
      taxDate:
        description: 'The date that the tax is applied to the debit memo, in `yyyy-mm-dd`
          format.

          '
        format: date
        type: string
      taxRate:
        description: 'The tax rate applied to the debit memo.

          '
        format: double
        type: number
      taxRateDescription:
        description: 'The description of the tax rate.

          '
        type: string
      taxRateType:
        description: 'The type of the tax rate.

          '
        enum:
        - Percentage
        - FlatFee
        type: string
    title: data
    type: object
  GETDebitMemoCollectionType:
    properties:
      debitmemos:
        description: 'Container for debit memos.

          '
        items:
          $ref: '#/definitions/GETDebitMemoTypewithSuccess'
        type: array
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  GETDebitMemoItemCollectionType:
    properties:
      items:
        description: 'Container for debit memo items.

          '
        items:
          $ref: '#/definitions/GETDebitMemoItemTypewithSuccess'
        type: array
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  GETDebitMemoItemType:
    allOf:
    - properties:
        amount:
          description: 'The amount of the debit memo item. For tax-inclusive debit
            memo items, the amount indicates the debit memo item amount including
            tax. For tax-exclusive debit memo items, the amount indicates the debit
            memo item amount excluding tax.

            '
          format: double
          type: number
        amountWithoutTax:
          description: 'The debit memo item amount excluding tax.

            '
          format: double
          type: number
        balance:
          description: 'The balance of the debit memo item.

            '
          format: double
          type: number
        beAppliedAmount:
          description: 'The applied amount of the debit memo item.

            '
          format: double
          type: number
        comment:
          description: |
            Comments about the debit memo item.

            **Note**: This field is not available if you set the `zuora-version` request header to `257.0` or later.
          type: string
        createdById:
          description: 'The ID of the Zuora user who created the debit memo item.

            '
          type: string
        createdDate:
          description: 'The date and time when the debit memo item was created, in
            `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-01 15:31:10.

            '
          format: date-time
          type: string
        description:
          description: |
            Description about the debit memo item.

            **Note**: This field is only available if you set the `zuora-version` request header to `257.0` or later.
          type: string
        financeInformation:
          description: 'Container for the finance information related to the debit
            memo item.

            '
          properties:
            deferredRevenueAccountingCode:
              description: 'The accounting code for the deferred revenue, such as
                Monthly Recurring Liability.

                '
              type: string
            deferredRevenueAccountingCodeType:
              description: 'The type of the deferred revenue accounting code, such
                as Deferred Revenue.

                '
              type: string
            recognizedRevenueAccountingCode:
              description: 'The accounting code for the recognized revenue, such as
                Monthly Recurring Charges or Overage Charges.

                '
              type: string
            recognizedRevenueAccountingCodeType:
              description: 'The type of the recognized revenue accounting code, such
                as Sales Revenue or Sales Discount.

                '
              type: string
            revenueRecognitionRuleName:
              description: 'The name of the revenue recognition rule governing the
                revenue schedule.

                '
              type: string
            revenueScheduleNumber:
              description: 'The revenue schedule number. The revenue schedule number
                is always prefixed with "RS", for example, RS-00000001.

                '
              type: string
          type: object
        id:
          description: 'The ID of the debit memo item.

            '
          type: string
        quantity:
          description: 'The number of units for the debit memo item.

            '
          format: double
          type: number
        serviceEndDate:
          description: 'The end date of the service period associated with this debit
            memo item. Service ends one second before the date specified in this field.

            '
          format: date
          type: string
        serviceStartDate:
          description: 'The start date of the service period associated with this
            debit memo item. If the associated charge is a one-time fee, this date
            is the date of that charge.

            '
          format: date
          type: string
        sku:
          description: 'The SKU for the product associated with the debit memo item.

            '
          type: string
        skuName:
          description: 'The name of the SKU.

            '
          type: string
        sourceItemId:
          description: 'The ID of the source item.

            '
          type: string
        sourceItemType:
          description: "The type of the source item. \n"
          enum:
          - SubscriptionComponent
          - InvoiceDetail
          - ProductRatePlanCharge
          type: string
        subscriptionId:
          description: 'The ID of the subscription associated with the debit memo
            item.

            '
          type: string
        success:
          description: Returns `true` if the request was processed successfully.
          type: boolean
        taxItems:
          description: "Container for the taxation items of the debit memo item..\
            \ \n\n**Note**: This field is not available if you set the `zuora-version`\
            \ request header to `239.0` or later.\n"
          items:
            $ref: '#/definitions/GETDMTaxItemType'
          type: array
        taxationItems:
          description: |
            Container for the taxation items of the debit memo item.

            **Note**: This field is only available if you set the `zuora-version` request header to `239.0` or later.
          properties:
            data:
              description: 'List of taxation items.

                '
              items:
                $ref: '#/definitions/GETDMTaxItemTypeNew'
              type: array
            nextPage:
              description: 'URL to retrieve the next page of the response if it exists;
                otherwise absent.

                '
              format: URL
              type: string
          type: object
        unitOfMeasure:
          description: 'The units to measure usage.

            '
          type: string
        unitPrice:
          description: 'The per-unit price of the debit memo item.

            '
          format: double
          type: number
        updatedById:
          description: 'The ID of the Zuora user who last updated the debit memo item.

            '
          type: string
        updatedDate:
          description: 'The date and time when the debit memo item was last updated,
            in `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-02 15:36:10.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/DebitMemoItemObjectCustomFields'
  GETDebitMemoItemTypewithSuccess:
    allOf:
    - properties:
        amount:
          description: 'The amount of the debit memo item. For tax-inclusive debit
            memo items, the amount indicates the debit memo item amount including
            tax. For tax-exclusive debit memo items, the amount indicates the debit
            memo item amount excluding tax.

            '
          format: double
          type: number
        amountWithoutTax:
          description: 'The debit memo item amount excluding tax.

            '
          format: double
          type: number
        balance:
          description: 'The balance of the debit memo item.

            '
          format: double
          type: number
        beAppliedAmount:
          description: 'The applied amount of the debit memo item.

            '
          format: double
          type: number
        comment:
          description: |
            Comments about the debit memo item.

            **Note**: This field is not available if you set the `zuora-version` request header to `257.0` or later.
          type: string
        createdById:
          description: 'The ID of the Zuora user who created the debit memo item.

            '
          type: string
        createdDate:
          description: 'The date and time when the debit memo item was created, in
            `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-01 15:31:10.

            '
          format: date-time
          type: string
        description:
          description: |
            The description of the debit memo item.

            **Note**: This field is only available if you set the `zuora-version` request header to `257.0` or later.
          type: string
        financeInformation:
          description: 'Container for the finance information related to the debit
            memo item.

            '
          properties:
            deferredRevenueAccountingCode:
              description: 'The accounting code for the deferred revenue, such as
                Monthly Recurring Liability.

                '
              type: string
            deferredRevenueAccountingCodeType:
              description: 'The type of the deferred revenue accounting code, such
                as Deferred Revenue.

                '
              type: string
            recognizedRevenueAccountingCode:
              description: 'The accounting code for the recognized revenue, such as
                Monthly Recurring Charges or Overage Charges.

                '
              type: string
            recognizedRevenueAccountingCodeType:
              description: 'The type of the recognized revenue accounting code, such
                as Sales Revenue or Sales Discount.

                '
              type: string
            revenueRecognitionRuleName:
              description: 'The name of the revenue recognition rule governing the
                revenue schedule.

                '
              type: string
            revenueScheduleNumber:
              description: 'The revenue schedule number. The revenue schedule number
                is always prefixed with "RS", for example, RS-00000001.

                '
              type: string
          type: object
        id:
          description: 'The ID of the debit memo item.

            '
          type: string
        quantity:
          description: 'The number of units for the debit memo item.

            '
          format: double
          type: number
        serviceEndDate:
          description: 'The end date of the service period associated with this debit
            memo item. Service ends one second before the date specified in this field.

            '
          format: date
          type: string
        serviceStartDate:
          description: 'The start date of the service period associated with this
            debit memo item. If the associated charge is a one-time fee, this date
            is the date of that charge.

            '
          format: date
          type: string
        sku:
          description: 'The SKU for the product associated with the debit memo item.

            '
          type: string
        skuName:
          description: 'The name of the SKU.

            '
          type: string
        sourceItemId:
          description: 'The ID of the source item.

            '
          type: string
        sourceItemType:
          description: 'The type of the source item.

            '
          enum:
          - SubscriptionComponent
          - InvoiceDetail
          - ProductRatePlanCharge
          type: string
        subscriptionId:
          description: 'The ID of the subscription associated with the debit memo
            item.

            '
          type: string
        taxItems:
          description: "Container for the taxation items of the debit memo item. \n\
            \n**Note**: This field is not available if you set the `zuora-version`\
            \ request header to `239.0` or later.\n"
          items:
            $ref: '#/definitions/GETDMTaxItemType'
          type: array
        taxationItems:
          description: "Container for the taxation items of the debit memo item. \n\
            \n**Note**: This field is only available if you set the `zuora-version`\
            \ request header to `239.0` or later.\n"
          properties:
            data:
              description: 'List of taxation items.

                '
              items:
                $ref: '#/definitions/GETDMTaxItemTypeNew'
              type: array
            nextPage:
              description: 'URL to retrieve the next page of the response if it exists;
                otherwise absent.

                '
              format: URL
              type: string
          type: object
        unitOfMeasure:
          description: 'The units to measure usage.

            '
          type: string
        unitPrice:
          description: 'The per-unit price of the debit memo item.

            '
          format: double
          type: number
        updatedById:
          description: 'The ID of the Zuora user who last updated the debit memo item.

            '
          type: string
        updatedDate:
          description: 'The date and time when the debit memo item was last updated,
            in `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-02 15:36:10.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/DebitMemoItemObjectCustomFields'
    title: items
  GETDebitMemoType:
    allOf:
    - properties:
        accountId:
          description: 'The ID of the customer account associated with the debit memo.

            '
          type: string
        amount:
          description: 'The total amount of the debit memo.

            '
          format: double
          type: number
        autoPay:
          description: "Whether debit memos are automatically picked up for processing\
            \ in the corresponding payment run. \n\nBy default, debit memos are automatically\
            \ picked up for processing in the corresponding payment run.\n"
          type: boolean
        balance:
          description: 'The balance of the debit memo.

            '
          format: double
          type: number
        beAppliedAmount:
          description: 'The amount that is applied to the debit memo.

            '
          format: double
          type: number
        cancelledById:
          description: 'The ID of the Zuora user who cancelled the debit memo.

            '
          type: string
        cancelledOn:
          description: 'The date and time when the debit memo was cancelled, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        comment:
          description: 'Comments about the debit memo.

            '
          type: string
        createdById:
          description: 'The ID of the Zuora user who created the debit memo.

            '
          type: string
        createdDate:
          description: 'The date and time when the debit memo was created, in `yyyy-mm-dd
            hh:mm:ss` format. For example, 2017-03-01 15:31:10.

            '
          format: date-time
          type: string
        debitMemoDate:
          description: 'The date when the debit memo takes effect, in `yyyy-mm-dd`
            format. For example, 2017-05-20.

            '
          format: date
          type: string
        dueDate:
          description: 'The date by which the payment for the debit memo is due, in
            `yyyy-mm-dd` format.

            '
          format: date
          type: string
        id:
          description: 'The unique ID of the debit memo.

            '
          type: string
        latestPDFFileId:
          description: 'The ID of the latest PDF file generated for the debit memo.

            '
          type: string
        number:
          description: 'The unique identification number of the debit memo.

            '
          type: string
        postedById:
          description: "The ID of the Zuora user who posted the debit memo. \n"
          type: string
        postedOn:
          description: 'The date and time when the debit memo was posted, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        reasonCode:
          description: 'A code identifying the reason for the transaction. The value
            must be an existing reason code or empty.

            '
          type: string
        referredInvoiceId:
          description: 'The ID of a referred invoice.

            '
          type: string
        status:
          description: 'The status of the debit memo.

            '
          enum:
          - Draft
          - Posted
          - Canceled
          - Error
          - PendingForTax
          - Generating
          - CancelInProgress
          type: string
        success:
          description: Returns `true` if the request was processed successfully.
          type: boolean
        targetDate:
          description: 'The target date for the debit memo, in `yyyy-mm-dd` format.
            For example, 2017-07-20.

            '
          format: date
          type: string
        taxAmount:
          description: 'The amount of taxation.

            '
          format: double
          type: number
        taxMessage:
          description: 'The message about the status of tax calculation related to
            the debit memo. If tax calculation fails in one debit memo, this field
            displays the reason for the failure.

            '
          type: string
        taxStatus:
          description: |
            The status of tax calculation related to the debit memo.

            **Note**: This field is only applicable to tax calculation by third-party tax engines.
          enum:
          - Completed
          - Error
          type: string
        totalTaxExemptAmount:
          description: 'The total amount of taxes or VAT for which the customer has
            an exemption.

            '
          format: double
          type: number
        transferredToAccounting:
          description: "Whether the debit memo was transferred to an external accounting\
            \ system. Use this field for integration with accounting systems, such\
            \ as NetSuite. \n"
          enum:
          - Processing
          - 'Yes'
          - 'No'
          - Error
          - Ignore
          type: string
        updatedById:
          description: 'The ID of the Zuora user who last updated the debit memo.

            '
          type: string
        updatedDate:
          description: 'The date and time when the debit memo was last updated, in
            `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-02 15:36:10.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/DebitMemoObjectNSFields'
    - $ref: '#/definitions/DebitMemoObjectCustomFields'
  GETDebitMemoTypewithSuccess:
    allOf:
    - properties:
        accountId:
          description: 'The ID of the customer account associated with the debit memo.

            '
          type: string
        amount:
          description: 'The total amount of the debit memo.

            '
          format: double
          type: number
        autoPay:
          description: "Whether debit memos are automatically picked up for processing\
            \ in the corresponding payment run. \n\nBy default, debit memos are automatically\
            \ picked up for processing in the corresponding payment run.      \n"
          type: boolean
        balance:
          description: 'The balance of the debit memo.

            '
          format: double
          type: number
        beAppliedAmount:
          description: 'The applied amount of the debit memo.

            '
          format: double
          type: number
        cancelledById:
          description: 'The ID of the Zuora user who cancelled the debit memo.

            '
          type: string
        cancelledOn:
          description: 'The date and time when the debit memo was cancelled, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        comment:
          description: 'Comments about the debit memo.

            '
          type: string
        createdById:
          description: 'The ID of the Zuora user who created the debit memo.

            '
          type: string
        createdDate:
          description: 'The date and time when the debit memo was created, in `yyyy-mm-dd
            hh:mm:ss` format. For example, 2017-03-01 15:31:10.

            '
          format: date-time
          type: string
        debitMemoDate:
          description: 'The date when the debit memo takes effect, in `yyyy-mm-dd`
            format. For example, 2017-05-20.

            '
          format: date
          type: string
        dueDate:
          description: 'The date by which the payment for the debit memo is due, in
            `yyyy-mm-dd` format.

            '
          format: date
          type: string
        id:
          description: 'The unique ID of the debit memo.

            '
          type: string
        latestPDFFileId:
          description: 'The ID of the latest PDF file generated for the debit memo.

            '
          type: string
        number:
          description: 'The unique identification number of the debit memo.

            '
          type: string
        postedById:
          description: 'The ID of the Zuora user who posted the debit memo.

            '
          type: string
        postedOn:
          description: 'The date and time when the debit memo was posted, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        reasonCode:
          description: 'A code identifying the reason for the transaction. The value
            must be an existing reason code or empty.

            '
          type: string
        referredInvoiceId:
          description: 'The ID of a referred invoice.

            '
          type: string
        status:
          description: "The status of the debit memo. \n"
          enum:
          - Draft
          - Posted
          - Canceled
          - Error
          - PendingForTax
          - Generating
          - CancelInProgress
          type: string
        targetDate:
          description: 'The target date for the debit memo, in `yyyy-mm-dd` format.
            For example, 2017-07-20.

            '
          format: date
          type: string
        taxAmount:
          description: 'The amount of taxation.

            '
          format: double
          type: number
        taxMessage:
          description: 'The message about the status of tax calculation related to
            the debit memo. If tax calculation fails in one debit memo, this field
            displays the reason for the failure.

            '
          type: string
        taxStatus:
          description: |
            The status of tax calculation related to the debit memo.

            **Note**: This field is only applicable to tax calculation by third-party tax engines.
          enum:
          - Completed
          - Error
          type: string
        totalTaxExemptAmount:
          description: 'The total amount of taxes or VAT for which the customer has
            an exemption.

            '
          format: double
          type: number
        transferredToAccounting:
          description: "Whether the debit memo was transferred to an external accounting\
            \ system. Use this field for integration with accounting systems, such\
            \ as NetSuite. \n"
          enum:
          - Processing
          - 'Yes'
          - 'No'
          - Error
          - Ignore
          type: string
        updatedById:
          description: 'The ID of the Zuora user who last updated the debit memo.

            '
          type: string
        updatedDate:
          description: 'The date and time when the debit memo was last updated, in
            `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-02 15:31:10.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/DebitMemoObjectNSFields'
    - $ref: '#/definitions/DebitMemoObjectCustomFields'
    title: debitmemos
  GETDiscountApplyDetailsType:
    properties:
      appliedProductRatePlanChargeId:
        description: 'The ID of the product rate plan charge that the discount rate
          plan charge applies to.

          '
        type: string
      appliedProductRatePlanId:
        description: 'The ID of the product rate plan that the discount rate plan
          charge applies to.

          '
        type: string
    title: discountApplyDetails
    type: object
  GETDocumentPropertiesResponseType:
    properties:
      customFileName:
        description: 'The custom file name used by Word or PDF files generated for
          the billing document.

          '
        type: string
      documentId:
        description: 'The unique ID of a billing document.

          '
        type: string
      documentType:
        description: "The type of the billing document. \n"
        enum:
        - Invoice
        - CreditMemo
        - DebitMemo
        type: string
      id:
        description: 'The unique ID of a document property.

          '
        type: string
      success:
        description: 'Indicates whether the call succeeded.

          '
        type: boolean
    type: object
  GETEmailHistoryVOType:
    properties:
      bcc:
        description: 'Blind carbon copy recipients of the email.

          '
        type: string
      cc:
        description: 'Carbon Copy recipients of the email.

          '
        type: string
      errorMessage:
        description: 'null if the content of result is "OK". A description of the
          error if the content of result is not "OK".

          '
        type: string
      eventCategory:
        description: 'The event category of the email.

          '
        type: string
      fromEmail:
        description: 'The sender of the email.

          '
        type: string
      notification:
        description: 'The name of the notification.

          '
        type: string
      replyTo:
        description: 'The reply-to address as configured in the email template.

          '
        type: string
      result:
        description: 'The result from the mail server of sending the email.

          '
        type: string
      sendTime:
        description: 'The date and time the email was sent.

          '
        type: string
      subject:
        description: 'The subject of the email.

          '
        type: string
      toEmail:
        description: 'The intended recipient of the email.

          '
        type: string
    title: emailHistories
    type: object
  GETEmailHistoryVOsType:
    properties:
      emailHistories:
        description: 'A container for email histories.

          '
        items:
          $ref: '#/definitions/GETEmailHistoryVOType'
        type: array
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  GETEntitiesResponseType:
    properties:
      entities:
        description: Container for one or more entities in a multi-entity hierarchy.
        items:
          $ref: '#/definitions/GETEntitiesType'
        type: array
      success:
        description: Returns `true` if the request is successful.
        type: boolean
    type: object
  GETEntitiesResponseTypeWithId:
    properties:
      displayName:
        description: The display name of the entity that is shown in the Zuora UI
          and APIs.
        type: string
      id:
        description: The entity Id.
        type: string
      locale:
        description: The locale that is used in this entity.
        type: string
      name:
        description: The name of the entity.
        type: string
      parentId:
        description: The Id of the parent entity.
        type: string
      status:
        description: The status of the entity.
        enum:
        - Provisioned
        - Unprovisioned
        type: string
      success:
        description: Returns `true` if the request is successful.
        type: boolean
      tenantId:
        description: The Id of the tenant that the entity belongs to.
        type: string
      timezone:
        description: The time zone that is used in this entity.
        type: string
    type: object
  GETEntitiesType:
    properties:
      displayName:
        description: 'The display name of the entity that is shown in the Zuora UI
          and APIs.

          '
        type: string
      id:
        description: 'The entity Id.

          '
        type: string
      locale:
        description: 'The locale that is used in this entity.

          '
        type: string
      name:
        description: 'The name of the entity.

          '
        type: string
      parentId:
        description: 'The Id of the parent entity.

          '
        type: string
      status:
        description: 'The status of the entity.

          '
        enum:
        - Provisioned
        - Unprovisioned
        type: string
      tenantId:
        description: 'The Id of the tenant that the entity belongs to.

          '
        type: string
      timezone:
        description: 'The time zone that is used in this entity.

          '
        type: string
    title: entities
    type: object
  GETEntitiesUserAccessibleResponseType:
    properties:
      entities:
        description: 'Container for one or more entities in a multi-entity hierarchy.

          '
        items:
          $ref: '#/definitions/GETEntitiesType'
        type: array
      success:
        description: 'Returns `true` if the request is successful.

          '
        type: boolean
    type: object
  GETEntityConnectionsArrayItemsType:
    properties:
      id:
        description: 'The ID of the connection.

          '
        type: string
      sourceEntityId:
        description: 'The ID of the source entity in the connection.

          '
        type: string
      status:
        description: "Status of the connection. \n\nPossible values:\n - `Connected`\n\
          \ - `Pending`\n - `Disconnected`\n"
        type: string
      targetEntityId:
        description: 'The ID of the target entity in the connection.

          '
        type: string
    title: entityConnections
    type: object
  GETEntityConnectionsResponseType:
    properties:
      entityConnections:
        description: 'Container for one or more connections that are related to the
          entity.

          '
        items:
          $ref: '#/definitions/GETEntityConnectionsArrayItemsType'
        type: array
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  GETInvoiceFileWrapper:
    properties:
      invoices:
        description: 'Contains information about one or more invoices:

          '
        items:
          $ref: '#/definitions/GETInvoiceType'
        type: array
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  GETInvoiceFilesResponse:
    properties:
      invoiceFiles:
        description: 'Container for invoice PDF files.

          '
        items:
          $ref: '#/definitions/InvoiceFile'
        type: array
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  GETInvoiceItemsResponse:
    properties:
      invoiceItems:
        description: 'Container for invoice items.

          '
        items:
          $ref: '#/definitions/InvoiceItem'
        type: array
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  GETInvoiceTaxItemType:
    properties:
      availableToCreditAmount:
        description: 'The amount of the invoice taxation item that is available to
          credit.

          '
        format: decimal
        type: number
      balance:
        description: 'The balance of the taxation item.

          '
        format: double
        type: number
      creditAmount:
        description: "The amount of credit memos applied to the taxation item. \n"
        format: double
        type: number
      exemptAmount:
        description: 'The amount of taxes or VAT for which the customer has an exemption.

          '
        format: double
        type: number
      id:
        description: 'The ID of the taxation item.

          '
        type: string
      jurisdiction:
        description: 'The jurisdiction that applies the tax or VAT. This value is
          typically a state, province, county, or city.

          '
        type: string
      locationCode:
        description: 'The identifier for the location based on the value of the `taxCode`
          field.

          '
        type: string
      name:
        description: 'The name of the taxation item.

          '
        type: string
      paymentAmount:
        description: "The amount of payments applied to the taxation item. \n"
        format: double
        type: number
      taxAmount:
        description: 'The amount of taxation.

          '
        format: double
        type: number
      taxCode:
        description: 'The tax code identifies which tax rules and tax rates to apply
          to a specific invoice.

          '
        type: string
      taxCodeDescription:
        description: 'The description of the tax code.

          '
        type: string
      taxDate:
        description: 'The date that the tax is applied to the invoice, in `yyyy-mm-dd`
          format.

          '
        format: date
        type: string
      taxRate:
        description: 'The tax rate applied to the invoice.

          '
        format: double
        type: number
      taxRateDescription:
        description: 'The description of the tax rate.

          '
        type: string
      taxRateType:
        description: 'The type of the tax rate.

          '
        enum:
        - Percentage
        - FlatFee
        type: string
    title: data
    type: object
  GETInvoiceTaxationItemsResponse:
    properties:
      data:
        description: 'Container for the taxation items of the invoice item.

          '
        items:
          $ref: '#/definitions/GETInvoiceTaxItemType'
        type: array
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  GETInvoiceType:
    allOf:
    - properties:
        accountId:
          description: 'Customer account ID.

            '
          type: string
        accountName:
          description: 'Customer account name.

            '
          type: string
        accountNumber:
          description: 'Customer account number.

            '
          type: string
        amount:
          description: 'Amount of the invoice before adjustments, discounts, and similar
            items.

            '
          format: decimal
          type: string
        balance:
          description: 'Balance remaining due on the invoice (after adjustments, discounts,
            etc.)

            '
          format: decimal
          type: string
        body:
          description: 'The REST URL of the invoice PDF file.

            '
          type: string
        createdBy:
          description: 'User ID of the person who created the invoice. If a bill run
            generated the invoice, then this is the user ID of person who created
            the bill run.

            '
          type: string
        creditBalanceAdjustmentAmount:
          description: ''
          format: decimal
          type: string
        dueDate:
          description: 'Payment due date as _yyyy-mm-dd_.

            '
          format: date
          type: string
        id:
          description: 'Invoice ID.

            '
          type: string
        invoiceDate:
          description: 'Invoice date as _yyyy-mm-dd_

            '
          format: date
          type: string
        invoiceFiles:
          description: "URL to retrieve information about all files of a specific\
            \ invoice if any file exists; otherwise absent. For example, `https://rest.zuora.com/v1/invoices/2c92c095511f5b4401512682dcfd7987/files`.\
            \ If you want to view the invoice file details, call [Get invoice files](https://www.zuora.com/developer/api-reference/#operation/GET_InvoiceFiles)\
            \ with the returned URL.\n\nIf your tenant was created before Zuora Release\
            \ 228 (R228), July 2018, the value of this field is an array of invoice\
            \ file details. For more information about the array, see the response\
            \ body of [Get invoice files](https://www.zuora.com/developer/api-reference/#operation/GET_InvoiceFiles).\
            \ \n\nZuora recommends that you use the latest behavior to retrieve invoice\
            \ information. If you wish to have access to the feature, submit a request\
            \ at [Zuora Global Support](http://support.zuora.com/) asking for invoice\
            \ item and file references to be enabled in the REST API.\n"
          format: URL
          type: string
        invoiceItems:
          description: "URL to retrieve information about all items of a specific\
            \ invoice. For example, `https://rest.zuora.com/v1/invoices/2c92c095511f5b4401512682dcfd7987/items`.\
            \ If you want to view the invoice item details, call [Get invoice items](https://www.zuora.com/developer/api-reference/#operation/GET_InvoiceItems)\
            \ with the returned URL.\n\nIf your tenant was created before Zuora Release\
            \ 228 (R228), July 2018, the value of this field is an array of invoice\
            \ item details. For more information about the array, see the response\
            \ body of [Get invoice items](https://www.zuora.com/developer/api-reference/#operation/GET_InvoiceItems).\
            \ \n\nZuora recommends that you use the latest behavior to retrieve invoice\
            \ information. If you wish to have access to the feature, submit a request\
            \ at [Zuora Global Support](http://support.zuora.com/) asking for invoice\
            \ item and file references to be enabled in the REST API. \n"
          format: URL
          type: string
        invoiceNumber:
          description: 'Unique invoice ID, returned as a string.

            '
          type: string
        invoiceTargetDate:
          description: 'Date through which charges on this invoice are calculated,
            as _yyyy-mm-dd_.

            '
          format: date
          type: string
        reversed:
          description: 'Whether the invoice is reversed.

            '
          type: boolean
        status:
          description: 'Status of the invoice in the system - not the payment status,
            but the status of the invoice itself. Possible values are: `Posted`, `Draft`,
            `Canceled`, `Error`.

            '
          type: string
      type: object
    - $ref: '#/definitions/InvoiceObjectNSFields'
    - $ref: '#/definitions/InvoiceObjectCustomFields'
    title: invoices
  GETJournalEntriesInJournalRunType:
    properties:
      journalEntries:
        description: 'Key name that represents the list of journal entries.

          '
        items:
          $ref: '#/definitions/GETJournalEntryDetailTypeWithoutSuccess'
        type: array
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  GETJournalEntryDetailType:
    allOf:
    - properties:
        accountingPeriodName:
          description: 'Name of the accounting period that the journal entry belongs
            to.

            '
          type: string
        aggregateCurrency:
          description: 'Returns true if the journal entry is aggregating currencies.
            That is, if the journal entry was created when the `Aggregate transactions
            with different currencies during a Journal Run` setting was configured
            to `Yes`. Otherwise, returns `false`.

            '
          type: boolean
        currency:
          description: 'Currency used.

            '
          type: string
        homeCurrency:
          description: 'Home currency used.

            '
          type: string
        journalEntryDate:
          description: 'Date of the journal entry.

            '
          format: date
          type: string
        journalEntryItems:
          description: 'Key name that represents the list of journal entry items.

            '
          items:
            $ref: '#/definitions/GETJournalEntryItemType'
          type: array
        notes:
          description: |2

            Additional information about this record.
            Character limit: 2,000
          type: string
        number:
          description: 'Journal entry number in the format JE-00000001.

            '
          type: string
        segments:
          description: 'List of segments that apply to the summary journal entry.

            '
          items:
            $ref: '#/definitions/GETJournalEntrySegmentType'
          type: array
        status:
          description: 'Status of journal entry.

            '
          enum:
          - Created
          - Cancelled
          type: string
        success:
          description: 'Returns `true` if the request was processed successfully.

            '
          type: boolean
        timePeriodEnd:
          description: 'End date of time period included in the journal entry.

            '
          format: date
          type: string
        timePeriodStart:
          description: 'Start date of time period included in the journal entry.

            '
          format: date
          type: string
        transactionType:
          description: 'Transaction type of the transactions included in the summary
            journal entry.

            '
          type: string
        transferDateTime:
          description: 'Date and time that transferredToAccounting was changed to
            `Yes`. This field is returned only when transferredToAccounting is `Yes`.
            Otherwise, this field is `null`.

            '
          format: date-time
          type: string
        transferredBy:
          description: 'User ID of the person who changed transferredToAccounting
            to `Yes`. This field is returned only when transferredToAccounting is
            `Yes`. Otherwise, this field is `null`.

            '
          type: string
        transferredToAccounting:
          description: 'Status shows whether the journal entry has been transferred
            to an accounting system. '
          enum:
          - 'No'
          - Processing
          - 'Yes'
          - Error
          - Ignore
          type: string
      type: object
    - $ref: '#/definitions/JournalEntryObjectCustomFields'
  GETJournalEntryDetailTypeWithoutSuccess:
    allOf:
    - properties:
        accountingPeriodName:
          description: 'Name of the accounting period that the journal entry belongs
            to.

            '
          type: string
        aggregateCurrency:
          description: 'Returns true if the journal entry is aggregating currencies.
            That is, if the journal entry was created when the `Aggregate transactions
            with different currencies during a JournalRun` setting was configured
            to "Yes". Otherwise, returns `false`.

            '
          type: boolean
        currency:
          description: 'Currency used.

            '
          type: string
        homeCurrency:
          description: 'Home currency used.

            '
          type: string
        journalEntryDate:
          description: 'Date of the journal entry.

            '
          format: date
          type: string
        journalEntryItems:
          description: 'Key name that represents the list of journal entry items.

            '
          items:
            $ref: '#/definitions/GETJournalEntryItemType'
          type: array
        notes:
          description: |
            Additional information about this record.
            Character limit: 2,000
          type: string
        number:
          description: 'Journal entry number in the format JE-00000001.

            '
          type: string
        segments:
          description: 'List of segments that apply to the summary journal entry.

            '
          items:
            $ref: '#/definitions/GETJournalEntrySegmentType'
          type: array
        status:
          description: 'Status of journal entry. '
          enum:
          - Created
          - Cancelled
          type: string
        timePeriodEnd:
          description: 'End date of time period included in the journal entry.

            '
          format: date
          type: string
        timePeriodStart:
          description: 'Start date of time period included in the journal entry.

            '
          format: date
          type: string
        transactionType:
          description: 'Transaction type of the transactions included in the summary
            journal entry.

            '
          type: string
        transferDateTime:
          description: 'Date and time that transferredToAccounting was changed to
            `Yes`. This field is returned only when transferredToAccounting is `Yes`.
            Otherwise, this field is `null`.

            '
          format: date-time
          type: string
        transferredBy:
          description: 'User ID of the person who changed transferredToAccounting
            to `Yes`. This field is returned only when transferredToAccounting is
            `Yes`. Otherwise, this field is `null`.

            '
          type: string
        transferredToAccounting:
          description: 'Status shows whether the journal entry has been transferred
            to an accounting system. '
          enum:
          - 'No'
          - Processing
          - 'Yes'
          - Error
          - Ignore
          type: string
      type: object
    - $ref: '#/definitions/JournalEntryObjectCustomFields'
    title: journalEntries
  GETJournalEntryItemType:
    allOf:
    - properties:
        accountingCodeName:
          description: 'Name of the accounting code.

            '
          type: string
        accountingCodeType:
          description: "Accounting code type.\n\nNote that `On-Account Receivable`\
            \ is only available if you enable the Invoice Settlement feature. \n"
          enum:
          - AccountsReceivable
          - On-Account Receivable
          - Cash
          - OtherAssets
          - CustomerCashOnAccount
          - DeferredRevenue
          - SalesTaxPayable
          - OtherLiabilities
          - SalesRevenue
          - SalesDiscounts
          - OtherRevenue
          - OtherEquity
          - BadDebt
          - OtherExpenses
          type: string
        amount:
          description: 'Journal entry item amount in transaction currency.

            '
          format: decimal
          type: string
        glAccountName:
          description: 'The account number in the general ledger (GL) that corresponds
            to the accounting code.

            '
          type: string
        glAccountNumber:
          description: 'The account name in the general ledger (GL) that corresponds
            to the accounting code.

            '
          type: string
        homeCurrencyAmount:
          description: 'Journal entry item amount in home currency.

            '
          format: decimal
          type: string
        type:
          description: 'Type of journal entry item. '
          enum:
          - Credit
          - Debit
          type: string
      type: object
    - $ref: '#/definitions/JournalEntryItemObjectCustomFields'
    title: journalEntryItems
  GETJournalEntrySegmentType:
    properties:
      segmentName:
        description: 'Name of segment.

          '
        type: string
      segmentValue:
        description: 'Value of segment in this summary journal entry.

          '
        type: string
    title: segments
    type: object
  GETJournalRunTransactionType:
    properties:
      type:
        description: "Transaction type. Invoice Adjustment is deprecated on Production.\
          \ Zuora recommends that you use the Invoice Item Adjustment instead.\n\n\
          If you enable the Invoice Settlement feature, Debit Memo Item, Credit Memo\
          \ Item, and Credit Memo Application Item are available, Payment and Refund\
          \ will be replaced by Payment Application and Refund Application. \n\nIf\
          \ you enable both the Invoice Settlement feature and the Invoice Item Settlement\
          \ feature, Payment and Refund will be replaced by Payment Application Item\
          \ and Refund Application Item. \n"
        enum:
        - Invoice Item
        - Taxation Item
        - Invoice Item Adjustment (Invoice)
        - Invoice Item Adjustment (tax)
        - Invoice Adjustment
        - Electronic Payment
        - External Payment
        - Electronic Refund
        - External Refund
        - Electronic Credit Balance Payment
        - External Credit Balance Payment
        - Electronic Credit Balance Refund
        - External Credit Balance Refund
        - Credit Balance Adjustment (Applied from Credit Balance)
        - Credit Balance Adjustment (Transferred to Credit Balance)
        - Revenue Event Item
        - Debit Memo Item (Charge)
        - Debit Memo Item (tax)
        - Credit Memo Item (Charge)
        - Credit Memo Item (tax)
        - Credit Memo Application Item
        - Electronic Payment Application
        - External Payment Application
        - Electronic Refund Application
        - External Refund Application
        - Electronic Payment Application Item
        - External Payment Application Item
        - Electronic Refund Application Item
        - External Refund Application Item
        type: string
    title: transactionTypes
    type: object
  GETJournalRunType:
    properties:
      aggregateCurrency:
        description: ''
        type: boolean
      executedOn:
        description: 'Date and time the journal run was executed.

          '
        format: date-time
        type: string
      journalEntryDate:
        description: 'Date of the journal entry.

          '
        format: date
        type: string
      number:
        description: 'Journal run number.

          '
        type: string
      segmentationRuleName:
        description: 'Name of GL segmentation rule used in the journal run.

          '
        type: string
      status:
        description: "Status of the journal run. \n"
        enum:
        - Pending
        - Processing
        - Completed
        - Error
        - CancelInprogress
        - Cancelled
        - DeleteInprogress
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
      targetEndDate:
        description: 'The target end date of the journal run.

          '
        format: date
        type: string
      targetStartDate:
        description: 'The target start date of the journal run.

          '
        format: date
        type: string
      totalJournalEntryCount:
        description: 'Total number of journal entries in the journal run.

          '
        format: int64
        type: integer
      transactionTypes:
        description: 'Transaction types included in the journal run.

          '
        items:
          $ref: '#/definitions/GETJournalRunTransactionType'
        type: array
    type: object
  GETMassUpdateType:
    properties:
      actionType:
        description: 'Type of mass action.

          '
        type: string
      endedOn:
        description: 'Date and time that the mass action was completed. The format
          is `yyyy-MM-dd hh:mm:ss`.

          '
        format: date-time
        type: string
      errorCount:
        description: |
          Total number of failed records.

          This field is updated in real time. When the mass action **status** is Processing, this field returns the number of records that have failed so far. When the mass action **status** is Pending, this field is null.
        type: string
      inputSize:
        description: 'Size of the input file in bytes.

          '
        format: int64
        type: integer
      outputSize:
        description: 'Size of the response file in bytes.

          '
        format: int64
        type: integer
      outputType:
        description: |
          Type of output for the response file. The following table describes the output type.

          | Output Type    | Description                         |
          |----------------|-------------------------------------|
          | (url:.csv.zip) | URL pointing to a zipped .csv file. |
        type: string
      outputURL:
        description: "URL to download the response file. The response file is a zipped\
          \ .csv file. \nThe response file is identical to the file you uploaded to\
          \ perform the mass action, with additional columns providing information\
          \ about the outcome of each record. \nThis field only returns a value when\
          \ the mass action **status** is Completed or Stopped. Otherwise, this field\
          \ is null.\n"
        type: string
      processedCount:
        description: |
          Total number of processed records. This field is equal to the sum of `errorCount` and `successCount`.

          This field is updated in real time. When the mass action **status** is Processing, this field returns the number of records that have been processed so far. When the mass action **status** is Pending, this field is null.
        type: string
      startedOn:
        description: 'Date and time that Zuora started processing the mass action.
          The format is `yyyy-MM-dd hh:mm:ss`.

          '
        format: date-time
        type: string
      status:
        description: |
          Status of the mass action. The following table describes the mass action statuses.

          | Status     | Description                                                                |
          |------------|----------------------------------------------------------------------------|
          | Pending    | Mass action has not yet started being processed.                           |
          | Processing | Mass action is in progress.                                                |
          | Stopping   | Mass action is in the process of stopping, but has not yet stopped.        |
          | Stopped    | Mass action has stopped.                                                   |
          | Completed  | Mass action was successfully completed. There may still be failed records. |
          | Failed     | Mass action failed. No records are processed. No response file is created. |
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
      successCount:
        description: |
          Total number of successful records.
          This field is updated in real time. When the mass action **status** is Processing, this field returns the number of records that have succeeded so far. When the mass action **status** is Pending, this field is null.
        type: string
      totalCount:
        description: |
          Total number of records in the uploaded mass action file.
          When the mass action **status** is Pending, this field is null.
        type: string
      uploadedBy:
        description: 'Email of the person who uploaded the mass action file.

          '
        type: string
      uploadedOn:
        description: 'Date and time that the mass action file was uploaded. The format
          is `yyyy-MM-dd hh:mm:ss`.

          '
        format: date-time
        type: string
    type: object
  GETPaidInvoicesType:
    properties:
      appliedPaymentAmount:
        description: 'Amount of the payment applied to this invoice.

          '
        format: decimal
        type: string
      invoiceId:
        description: 'Invoice ID.

          '
        type: string
      invoiceNumber:
        description: 'Invoice number.

          '
        type: string
    title: paidInvoices
    type: object
  GETPaymentGatwaysResponse:
    properties:
      paymentgateways:
        description: ''
        items:
          $ref: '#/definitions/GETAPaymentGatwayResponse'
        type: array
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  GETPaymentItemPartCollectionType:
    properties:
      itemParts:
        description: 'Container for payment part items.

          '
        items:
          $ref: '#/definitions/GETPaymentItemPartTypewithSuccess'
        type: array
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  GETPaymentItemPartType:
    properties:
      amount:
        description: 'The amount of the payment part item.

          '
        format: double
        type: number
      createdById:
        description: 'The ID of the Zuora user who created the payment part item.

          '
        type: string
      createdDate:
        description: 'The date and time when the payment part item was created, in
          `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-01 15:31:10.

          '
        format: date-time
        type: string
      debitMemoItemId:
        description: 'The ID of the debit memo item associated with the payment part
          item.

          '
        type: string
      id:
        description: 'The ID of the payment part item.

          '
        type: string
      invoiceItemId:
        description: 'The ID of the invoice item associated with the payment part
          item.

          '
        type: string
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
      taxItemId:
        description: 'The ID of the taxation item associated with the payment part
          item.

          '
        type: string
      updatedById:
        description: 'The ID of the Zuora user who last updated the payment part item.

          '
        type: string
      updatedDate:
        description: 'The date and time when the payment part item was last updated,
          in `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-02 15:36:10.

          '
        format: date-time
        type: string
    type: object
  GETPaymentItemPartTypewithSuccess:
    properties:
      amount:
        description: 'The amount of the payment part item.

          '
        format: double
        type: number
      createdById:
        description: 'The ID of the Zuora user who created the payment part item.

          '
        type: string
      createdDate:
        description: 'The date and time when the payment part item was created, in
          `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-01 15:31:10.

          '
        format: date-time
        type: string
      debitMemoItemId:
        description: 'The ID of the debit memo item associated with the payment part
          item.

          '
        type: string
      id:
        description: 'The ID of the payment part item.

          '
        type: string
      invoiceItemId:
        description: 'The ID of the invoice item associated with the payment part
          item.

          '
        type: string
      taxItemId:
        description: 'The ID of the taxation item associated with the payment part
          item.

          '
        type: string
      updatedById:
        description: 'The ID of the Zuora user who last updated the payment part item.

          '
        type: string
      updatedDate:
        description: 'The date and time when the payment part item was last updated,
          in `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-02 15:36:10.

          '
        format: date-time
        type: string
    title: itemParts
    type: object
  GETPaymentMethodType:
    properties:
      cardHolderInfo:
        description: 'Container for the name and billing address for the card holder.

          '
        properties:
          addressLine1:
            description: 'First address line, 255 characters or less.

              '
            type: string
          addressLine2:
            description: 'Second address line, 255 characters or less.

              '
            type: string
          cardHolderName:
            description: 'The full name as it appears on the card, e.g., "John J Smith",
              50 characters or less.

              '
            type: string
          city:
            description: 'City, 40 characters or less.

              '
            type: string
          country:
            description: 'Country, must be a valid country name or abbreviation.

              '
            type: string
          email:
            description: 'Card holder''s email address, 80 characters or less.

              '
            type: string
          phone:
            description: 'Phone number, 40 characters or less.

              '
            type: string
          state:
            description: 'State, must be a valid state name or 2-character abbreviation.

              '
            type: string
          zipCode:
            description: 'Zip code, 20 characters or less.

              '
            type: string
        type: object
      cardNumber:
        description: 'Credit or debit card number, 16 characters or less, masked for
          security purposes.

          '
        type: string
      cardType:
        description: "The type of the credit card.\n    \nPossible values  include\
          \ `Visa`, `MasterCard`, `AmericanExpress`, `Discover`, `JCB`, and `Diners`.\
          \ For more information about credit card types supported by different payment\
          \ gateways, see [Supported Payment Gateways](https://knowledgecenter.zuora.com/CB_Billing/M_Payment_Gateways/Supported_Payment_Gateways).\n"
        type: string
      defaultPaymentMethod:
        description: 'Contains true if this is the default payment method for this
          customer, otherwise false.

          '
        type: boolean
      expirationMonth:
        description: 'One or two digit(s) expiration month (1-12).

          '
        type: string
      expirationYear:
        description: 'Four-digit expiration year.

          '
        type: string
      id:
        description: 'Unique ID generated by Zuora when this payment method was created.

          '
        type: string
    title: creditCards
    type: object
  GETPaymentMethodsType:
    properties:
      creditCards:
        description: 'Container for one or more credit or debit card records:

          '
        items:
          $ref: '#/definitions/GETPaymentMethodType'
        type: array
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  GETPaymentPartType:
    properties:
      amount:
        description: 'The amount of the payment part.

          '
        format: double
        type: number
      createdById:
        description: 'The ID of the Zuora user who created the payment part.

          '
        type: string
      createdDate:
        description: 'The date and time when the payment part was created, in `yyyy-mm-dd
          hh:mm:ss` format. For example, 2017-03-01 15:31:10.

          '
        format: date-time
        type: string
      debitMemoId:
        description: 'The ID of the debit memo associated with the payment part.

          '
        type: string
      id:
        description: 'The ID of the payment part.

          '
        type: string
      invoiceId:
        description: 'The ID of the invoice associated with the payment part.

          '
        type: string
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
      updatedById:
        description: 'The ID of the Zuora user who last updated the payment part.

          '
        type: string
      updatedDate:
        description: 'The date and time when the payment part was last updated, in
          `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-02 15:36:10.

          '
        format: date-time
        type: string
    type: object
  GETPaymentPartTypewithSuccess:
    properties:
      amount:
        description: 'The amount of the payment part.

          '
        format: double
        type: number
      createdById:
        description: 'The ID of the Zuora user who created the payment part.

          '
        type: string
      createdDate:
        description: 'The date and time when the payment part was created, in `yyyy-mm-dd
          hh:mm:ss` format. For example, 2017-03-01 15:31:10.

          '
        format: date-time
        type: string
      debitMemoId:
        description: 'The ID of the debit memo associated with the payment part.

          '
        type: string
      id:
        description: 'The ID of the payment part.

          '
        type: string
      invoiceId:
        description: 'The ID of the invoice associated with the payment part.

          '
        type: string
      updatedById:
        description: 'The ID of the Zuora user who last updated the payment part.

          '
        type: string
      updatedDate:
        description: 'The date and time when the payment part was last updated, in
          `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-02 15:36:10.

          '
        format: date-time
        type: string
    title: parts
    type: object
  GETPaymentPartsCollectionType:
    properties:
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      parts:
        description: 'Container for payment parts.

          '
        items:
          $ref: '#/definitions/GETPaymentPartTypewithSuccess'
        type: array
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  GETPaymentRunCollectionType:
    properties:
      nextPage:
        description: 'The URL for requesting the next page of the response, if it
          exists; otherwise absent.

          '
        type: string
      paymentRuns:
        description: 'Container for payment runs.

          '
        items:
          $ref: '#/definitions/GETPaymentRunType'
        type: array
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  GETPaymentRunSummaryResponse:
    properties:
      numberOfCreditBalanceAdjustments:
        description: |
          **Note:** This field is only available if you have the Credit Balance feature enabled.

          The number of credit balance adjustments that are successfully processed in the payment run.
        type: integer
      numberOfCreditMemos:
        description: |
          **Note:** This field is only available if you have the Invoice Settlement feature enabled.

          The total number of credit memos that are successfully processed in the payment run.
        type: integer
      numberOfDebitMemos:
        description: |
          **Note:** This field is only available if you have the Invoice Settlement feature enabled.

          The total number of debit memos that are picked up for processing in the payment run.
        type: integer
      numberOfErrors:
        description: 'The number of payments with the status of `Error` and `Processing`.

          '
        type: integer
      numberOfInvoices:
        description: |
          **Note:** This field is only available if you have the Invoice Settlement feature enabled.

          The total number of invoices that are picked up for processing in the payment run.
        type: integer
      numberOfPayments:
        description: 'The number of payments that are successfully processed in the
          payment run.

          '
        type: integer
      numberOfReceivables:
        description: |
          The total number of receivables that are picked up for processing in the payment run.

          The value of this field is the sum of the value of the `numberOfInvoices` field and that of the `numberOfDebitMemos` field.
        type: integer
      numberOfUnappliedPayments:
        description: |
          **Note:** This field is only available if you have the Invoice Settlement feature enabled.

          The number of unapplied payments that are successfully processed in the payment run.
        type: integer
      numberOfUnprocessedDebitMemos:
        description: |
          **Note:** This field is only available if you have the Invoice Settlement feature enabled.

          The number of debit memos with remaining positive balances after the payment run is completed.
        type: integer
      numberOfUnprocessedInvoices:
        description: |
          **Note:** This field is only available if you have the Invoice Settlement feature enabled.

          The number of invoices with remaining positive balances after the payment run is completed.
        type: integer
      numberOfUnprocessedReceivables:
        description: 'The number of receivables with remaining positive balances after
          the payment run is completed.

          '
        type: integer
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
      totalValues:
        description: 'Container for total values.

          '
        items:
          $ref: '#/definitions/GETPaymentRunSummaryTotalValues'
        type: array
    type: object
  GETPaymentRunSummaryTotalValues:
    properties:
      totalValueOfCreditBalance:
        description: |
          **Note:** This field is only available if you have the Credit Balance feature enabled.

          The total amount of credit balance after the payment run is completed.
        type: string
      totalValueOfCreditMemos:
        description: |
          **Note:** This field is only available if you have the Invoice Settlement feature enabled.

          The total amount of credit memos that are successfully processed in the payment run.
        type: string
      totalValueOfDebitMemos:
        description: |
          **Note:** This field is only available if you have the Invoice Settlement feature enabled.

          The total amount of debit memos that are picked up for processing in the payment run.
        type: string
      totalValueOfErrors:
        description: 'The total amount of receivables associated with the payments
          with the status of `Error` and `Processing`.

          '
        type: string
      totalValueOfInvoices:
        description: |
          **Note:** This field is only available if you have the Invoice Settlement feature enabled.

          The total amount of invoices that are picked up for processing in the payment run.
        type: string
      totalValueOfPayments:
        description: 'The total amount of payments that are successfully processed
          in the payment run.

          '
        type: string
      totalValueOfReceivables:
        description: |
          The total amount of receivables associated with the payment run.

          The value of this field is the sum of the value of the `totalValueOfInvoices` field and that of the `totalValueOfDebitMemos` field.
        type: string
      totalValueOfUnappliedPayments:
        description: |
          **Note:** This field is only available if you have the Invoice Settlement feature enabled.

          The total amount of unapplied payments that are successfully processed in the payment run.
        type: integer
      totalValueOfUnprocessedDebitMemos:
        description: |-
          **Note:** This field is only available if you have the Invoice Settlement feature enabled.

          The total amount of debit memos with remaining positive balances after the payment run is completed.
        type: string
      totalValueOfUnprocessedInvoices:
        description: |
          **Note:** This field is only available if you have the Invoice Settlement feature enabled.

          The total amount of invoices with remaining positive balances after the payment run is completed.
        type: string
      totalValueOfUnprocessedReceivables:
        description: 'The total amount of receivables with remaining positive balances
          after the payment run is completed.

          '
        type: string
    title: totalValues
    type: object
  GETPaymentRunType:
    properties:
      accountId:
        description: 'The ID of the customer account associated with the payment run.

          '
        type: string
      applyCreditBalance:
        description: |
          **Note:** This field is only available if you have the Credit Balance feature enabled and the Invoice Settlement feature disabled.

          Whether to apply credit balances in the payment run. This field is only available when you have Invoice Settlement feature disabled.
        type: boolean
      autoApplyCreditMemo:
        description: |
          **Note:** The Invoice Settlement feature is in **Limited Availability**. This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

          Whether to automatically apply a posted credit memo to one or more receivables in the payment run.
        type: boolean
      autoApplyUnappliedPayment:
        description: |
          **Note:** The Invoice Settlement feature is in **Limited Availability**. This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

          Whether to automatically apply unapplied payments to  one or more receivables in the payment run.
        type: boolean
      batch:
        description: 'The alias name given to a batch.

          '
        example: Batch1
        type: string
      billCycleDay:
        description: "The billing cycle day (BCD), the day of the month when a bill\
          \ run generates invoices for the account. \n"
        example: 1
        type: string
      billingRunId:
        description: 'The ID of the bill run.

          '
        format: uuid
        type: string
      collectPayment:
        description: "Whether to process electronic payments during the execution\
          \ of payment runs. \n"
        type: boolean
      completedOn:
        description: 'The date and time when the payment run is completed, in `yyyy-mm-dd
          hh:mm:ss` format. For example, 2017-03-01 11:39:58.

          '
        format: date-time
        type: string
      consolidatedPayment:
        description: "**Note:** The **Process Electronic Payment** permission also\
          \ needs to be allowed for a Manage Payment Runs role to work. See [Payments\
          \ Roles](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/e_Payments_Roles)\
          \ for more information. \n\nWhether to process a single payment for all\
          \ receivables that are due on an account.\n"
        type: boolean
      createdById:
        description: 'The ID of the Zuora user who created the payment run.

          '
        type: string
      createdDate:
        description: 'The date and time when the payment run was created, in `yyyy-mm-dd
          hh:mm:ss` format. For example, 2017-03-01 15:31:10.

          '
        format: date-time
        type: string
      currency:
        description: 'A currency defined in the web-based UI administrative settings.

          '
        example: USD
        type: string
      executedOn:
        description: 'The date and time when the payment run is executed, in `yyyy-mm-dd
          hh:mm:ss` format. For example, 2017-03-01 11:30:37.

          '
        format: date-time
        type: string
      id:
        description: 'The ID of the payment run.

          '
        type: string
      number:
        description: 'The identification number of the payment run.

          '
        type: string
      paymentGatewayId:
        description: 'The ID of the gateway instance that processes the payment.

          '
        format: uuid
        type: string
      processPaymentWithClosedPM:
        description: "**Note:** The **Process Electronic Payment** permission also\
          \ needs to be allowed for a Manage Payment Runs role to work. See [Payments\
          \ Roles](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/e_Payments_Roles)\
          \ for more information. \n\nWhether to process payments even if the default\
          \ payment method is closed.\n"
        type: boolean
      runDate:
        description: 'The date and time when the scheduled payment run is to be executed
          for collecting payments.

          '
        format: date-time
        type: string
      status:
        description: 'The status of the created payment run.

          '
        enum:
        - Pending
        - Processing
        - Completed
        - Error
        - Canceled
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
      targetDate:
        description: "The target date used to determine which receivables to be collected\
          \ in the payment run. \n"
        format: date
        type: string
      updatedById:
        description: 'The ID of the Zuora user who last updated the payment run.

          '
        type: string
      updatedDate:
        description: 'The date and time when the payment run was last updated, in
          `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-02 15:36:10.

          '
        format: date-time
        type: string
    title: paymentRuns
    type: object
  GETPaymentType:
    allOf:
    - properties:
        accountID:
          description: 'Customer account ID.

            '
          type: string
        accountName:
          description: 'Customer account name.

            '
          type: string
        accountNumber:
          description: 'Customer account number.

            '
          type: string
        amount:
          description: 'Payment amount.

            '
          format: decimal
          type: string
        effectiveDate:
          description: 'Effective payment date as _yyyy-mm-dd_.

            '
          format: date
          type: string
        gatewayTransactionNumber:
          description: 'Transaction ID from payment gateway.

            '
          type: string
        id:
          description: 'PaymentID.

            '
          type: string
        paidInvoices:
          description: 'Information about one or more invoices to which this payment
            was applied:

            '
          items:
            $ref: '#/definitions/GETPaidInvoicesType'
          type: array
        paymentMethodID:
          description: 'Payment method.

            '
          type: string
        paymentNumber:
          description: 'Unique payment number.

            '
          type: string
        status:
          description: 'Possible values are: `Draft`, `Processing`, `Processed`, `Error`,
            `Voided`, `Canceled`, `Posted.

            '
          type: string
        type:
          description: 'Possible values are: `External`, `Electronic`.

            '
          type: string
      type: object
    - $ref: '#/definitions/PaymentObjectNSFields'
    - $ref: '#/definitions/PaymentObjectCustomFields'
    title: payments
  GETPaymentsType:
    properties:
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      payments:
        description: 'Information about one or more payments:

          '
        items:
          $ref: '#/definitions/GETPaymentType'
        type: array
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  GETProductDiscountApplyDetailsType:
    properties:
      appliedProductRatePlanChargeId:
        description: 'The ID of the product rate plan charge that the discount product
          rate plan charge applies to.

          '
        type: string
      appliedProductRatePlanId:
        description: 'The ID of the product rate plan that the discount product rate
          plan charge applies to.

          '
        type: string
    title: productDiscountApplyDetails
    type: object
  GETProductRatePlanChargePricingTierType:
    properties:
      endingUnit:
        description: 'Decimal defining end of tier range.

          '
        format: decimal
        type: string
      price:
        description: 'The decimal value of the tiered charge model. If the charge
          model is not a tiered type then this price field will be null and the price
          field directly under the productRatePlanCharges applies.

          '
        format: decimal
        type: string
      priceFormat:
        description: "Tier price format.\n\nAllowed values:\n- flat fee \n- per unit\n"
        type: string
      startingUnit:
        description: 'Decimal defining start of tier range.

          '
        format: decimal
        type: string
      tier:
        description: 'Unique number of the tier.

          '
        format: int64
        type: integer
    title: tiers
    type: object
  GETProductRatePlanChargePricingType:
    properties:
      currency:
        description: 'Currency used by the charge model. For example: USD or EUR

          '
        type: string
      discountAmount:
        description: 'Value subtracted from price in currency specified. Used only
          when the charge model is DiscountFixedAmount.

          '
        format: decimal
        type: string
      discountPercentage:
        description: 'Percent discount applied to the price. Used only when the charge
          model is DiscountPercentage.

          '
        format: decimal
        type: string
      includedUnits:
        description: 'Specifies the number of units in the base set of units when
          the charge model is Overage.

          '
        format: decimal
        type: string
      overagePrice:
        description: 'Price per unit when base set of units is exceeded. Used only
          when charge model is Overage or Tiered with Overage.

          '
        format: decimal
        type: string
      price:
        description: 'The decimal value that applies when the charge model is not
          tiered

          '
        format: decimal
        type: string
      tiers:
        description: 'Container for one or many defined tier ranges with distinct
          pricing.  Applies when model is `Tiered`, `TieredWithOverage`, or `Volume`

          '
        items:
          $ref: '#/definitions/GETProductRatePlanChargePricingTierType'
        type: array
    title: pricing
    type: object
  GETProductRatePlanChargeType:
    allOf:
    - properties:
        applyDiscountTo:
          description: |
            Specifies where (to what charge type) the discount will be applied. These field values are case-sensitive.

            Permissible values:
            - RECURRING
            - USAGE
            - ONETIMERECURRING
            - ONETIMEUSAGE
            - RECURRINGUSAGE
            - ONETIMERECURRINGUSAGE
          type: string
        billingDay:
          description: 'The bill cycle day (BCD) for the charge. The BCD determines
            which day of the month or week the customer is billed. The BCD value in
            the account can override the BCD in this object.

            '
          type: string
        billingPeriod:
          description: |
            The billing period for the charge. The start day of the billing period is also called the bill cycle day (BCD).

            Values:
            - Month
            - Quarter
            - Annual
            - Semi-Annual
            - Specific Months
            - Week
            - Specific_Weeks
          type: string
        billingPeriodAlignment:
          description: |
            Aligns charges within the same subscription if multiple charges begin on different dates.

            Possible values:
            - AlignToCharge
            - AlignToSubscriptionStart
            - AlignToTermStart
          type: string
        billingTiming:
          description: "The billing timing for the charge. You can choose to bill\
            \ for charges in advance or in arrears.\n\nValues:\n- In Advance\n- In\
            \ Arrears\n\n**Note:** This feature is in Limited Availability. If you\
            \ wish to have access to the feature, submit a request at [Zuora Global\
            \ Support](https://support.zuora.com). \n"
          type: string
        defaultQuantity:
          description: 'The default quantity of units.  This field is required if
            you use a per-unit charge model.

            '
          format: decimal
          type: string
        description:
          description: 'Usually a brief line item summary of the Rate Plan Charge.

            '
          type: string
        discountClass:
          description: |
            The class that the discount belongs to. The discount class defines the order in which discount product rate plan charges are applied.

            For more information, see [Manage Discount Classes](https://knowledgecenter.zuora.com/BC_Subscription_Management/Product_Catalog/B_Charge_Models/Manage_Discount_Classes).
          type: string
        discountLevel:
          description: "The level of the discount. \n\nValues:\n- RatePlan\n- Subscription\n\
            - Account\n"
          type: string
        endDateCondition:
          description: |
            Defines when the charge ends after the charge trigger date. If the subscription ends before the charge end date, the charge ends when the subscription ends. But if the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge will end on the charge end date.

            Values:
            - Subscription_End
            - Fixed_Period
          type: string
        financeInformation:
          description: 'Container for finance information of a rate plan charge.

            '
          properties:
            adjustmentLiabilityAccountingCode:
              description: "The accounting code for adjustment liability. \n\n**Note**:\
                \ This field is only available if you have the RevPro Integration\
                \ feature enabled. \n"
              type: string
            adjustmentLiabilityAccountingCodeType:
              description: "The type associated with the adjustment liability accounting\
                \ code. \n\n**Note**: This field is only available if you have the\
                \ RevPro Integration feature enabled.\n"
              type: string
            adjustmentRevenueAccountingCode:
              description: "The accounting code for adjustment revenue. \n\n**Note**:\
                \ This field is only available if you have the RevPro Integration\
                \ feature enabled. \n"
              type: string
            adjustmentRevenueAccountingCodeType:
              description: "The type associated with the adjustment revenue accounting\
                \ code. \n\n**Note**: This field is only available if you have the\
                \ RevPro Integration feature enabled.\n"
              type: string
            contractAssetAccountingCode:
              description: "The accounting code for contract asset. \n\n**Note**:\
                \ This field is only available if you have the RevPro Integration\
                \ feature enabled. \n"
              type: string
            contractAssetAccountingCodeType:
              description: "The type associated with the contract asset accounting\
                \ code. \n\n**Note**: This field is only available if you have the\
                \ RevPro Integration feature enabled.\n"
              type: string
            contractLiabilityAccountingCode:
              description: "The accounting code for contract liability. \n\n**Note**:\
                \ This field is only available if you have the RevPro Integration\
                \ feature enabled. \n"
              type: string
            contractLiabilityAccountingCodeType:
              description: "The type associated with the contract liability accounting\
                \ code. \n\n**Note**: This field is only available if you have the\
                \ RevPro Integration feature enabled.\n"
              type: string
            contractRecognizedRevenueAccountingCode:
              description: "The accounting code for contract recognized revenue. \n\
                \n**Note**: This field is only available if you have the RevPro Integration\
                \ feature enabled. \n"
              type: string
            contractRecognizedRevenueAccountingCodeType:
              description: "The type associated with the contract recognized revenue\
                \ accounting code. \n\n**Note**: This field is only available if you\
                \ have the RevPro Integration feature enabled.\n"
              type: string
            deferredRevenueAccountingCode:
              description: "The accounting code for deferred revenue, such as Monthly\
                \ Recurring Liability. \n"
              type: string
            deferredRevenueAccountingCodeType:
              description: "The type associated with the deferred revenue accounting\
                \ code, such as Deferred Revenue. \n"
              type: string
            recognizedRevenueAccountingCode:
              description: "The accounting code for recognized revenue, such as Monthly\
                \ Recurring Charges or Overage Charges. \n"
              type: string
            recognizedRevenueAccountingCodeType:
              description: "The type associated with the recognized revenue accounting\
                \ code, such as Sales Revenue or Sales Discount. \n"
              type: string
            unbilledReceivablesAccountingCode:
              description: "The accounting code for unbilled receivables. \n\n**Note**:\
                \ This field is only available if you have the RevPro Integration\
                \ feature enabled. \n"
              type: string
            unbilledReceivablesAccountingCodeType:
              description: "The type associated with the unbilled receivables accounting\
                \ code. \n\n**Note**: This field is only available if you have the\
                \ RevPro Integration feature enabled.\n"
              type: string
          title: financeInformation
          type: object
        id:
          description: 'Unique product rate-plan charge ID.

            '
          type: string
        includedUnits:
          description: 'Specifies the number of units in the base set of units when
            the charge model is Overage.

            '
          format: decimal
          type: string
        listPriceBase:
          description: |
            The list price base for the product rate plan charge.

            Values:
            - Month
            - Billing Period
            - Per_Week
          type: string
        maxQuantity:
          description: 'Specifies the maximum number of units for this charge. Use
            this field and the `minQuantity` field to create a range of units allowed
            in a product rate plan charge.

            '
          format: decimal
          type: string
        minQuantity:
          description: 'Specifies the minimum number of units for this charge. Use
            this field and the `maxQuantity` field to create a range of units allowed
            in a product rate plan charge.

            '
          format: decimal
          type: string
        model:
          description: "Charge model which determines how charges are calculated.\
            \  Charge models must be individually activated in Zuora Billing administration.\
            \ \n\nPossible values are:\n- FlatFee\n- PerUnit\n- Overage\n- Volume\n\
            - Tiered\n- TieredWithOverage\n- DiscountFixedAmount\n- DiscountPercentage\n\
            The Pricing Summaries section below details these charge models and their\
            \ associated pricingSummary values.\n"
          type: string
        name:
          description: 'Name of the product rate-plan charge. (Not required to be
            unique.)

            '
          type: string
        numberOfPeriods:
          description: 'Value specifies the number of periods used in the smoothing
            model calculations Used when overage smoothing model is `RollingWindow`
            or `Rollover`.

            '
          format: int64
          type: integer
        overageCalculationOption:
          description: |
            Value specifies when to calculate overage charges.

            Values:
            - EndOfSmoothingPeriod
            - PerBillingPeriod
          type: string
        overageUnusedUnitsCreditOption:
          description: |
            Determines whether to credit the customer with unused units of usage.

            Values:
            - NoCredit
            - CreditBySpecificRate
          type: string
        prepayPeriods:
          description: "The number of periods to which prepayment is set. \n\n**Note:**\
            \ This field is only available if you already have the prepayment feature\
            \ enabled. The prepayment feature is deprecated and available only for\
            \ backward compatibility. Zuora does not support enabling this feature\
            \ anymore.\n"
          format: int64
          type: integer
        priceChangeOption:
          description: |
            Applies an automatic price change when a termed subscription is renewed and the following applies:

            1. AutomatedPriceChange setting is on
            2. Charge type is not one-time
            3. Charge model is not discount fixed amount

            Values:
            - NoChange (default)
            - SpecificPercentageValue
            - UseLatestProductCatalogPricing
          type: string
        priceIncreasePercentage:
          description: |
            Specifies the percentage to increase or decrease the price of a termed subscription's renewal. Use this field if you set the `PriceChangeOption` value to `SpecificPercentageValue`.

            1. AutomatedPriceChange setting is on
            2. Charge type is not one-time
            3. Charge model is not discount fixed amount

            Values: a decimal between -100 and 100
          format: decimal
          type: string
        pricing:
          description: "One or more price charge models with attributes that further\
            \ describe the model. \nSome attributes show as null values when not applicable.\n"
          items:
            $ref: '#/definitions/GETProductRatePlanChargePricingType'
          type: array
        pricingSummary:
          description: 'A concise description of the charge model and pricing that
            is suitable to show to your customers. When the rate plan charge model
            is `Tiered` and multi-currency is enabled, this field includes an array
            of string of each currency, and each string of currency includes tier
            price description separated by comma.

            '
          items:
            type: string
          type: array
        productDiscountApplyDetails:
          description: "Container for the application details about a discount product\
            \ rate plan charge. \n\nOnly discount product rate plan charges have values\
            \ in this field.\n"
          items:
            $ref: '#/definitions/GETProductDiscountApplyDetailsType'
          type: array
        ratingGroup:
          description: "Specifies a rating group based on which usage records are\
            \ rated.\n\n**Note:** This feature is in **Limited Availability**. If\
            \ you wish to have access to the feature, submit a request at [Zuora Global\
            \ Support](http://support.zuora.com/).\n\nPossible values:\n\n- `ByBillingPeriod`\
            \ (default): The rating is based on all the usages in a billing period.\n\
            - `ByUsageStartDate`: The rating is based on all the usages on the same\
            \ usage start date. \n- `ByUsageRecord`: The rating is based on each usage\
            \ record.\n- `ByUsageUpload`: The rating is based on all the  usages in\
            \ a uploaded usage file (`.xls` or `.csv`).\n- `ByGroupId`: The rating\
            \ is based on all the usages in a custom group.\n\n**Note:** \n- The `ByBillingPeriod`\
            \ value can be applied for all charge models. \n- The `ByUsageStartDate`,\
            \ `ByUsageRecord`, and `ByUsageUpload` values can only be applied for\
            \ per unit, volume pricing, and tiered pricing charge models. \n- The\
            \ `ByGroupId` value is only available if you have the Active Rating feature\
            \ enabled.\n- Use this field only for Usage charges. One-Time Charges\
            \ and Recurring Charges return `NULL`.\n"
          type: string
        revRecCode:
          description: 'Associates this product rate plan charge with a specific revenue
            recognition code. The value is a valid revenue recognition code.

            '
          maxLength: 70
          type: string
        revRecTriggerCondition:
          description: 'Specifies when revenue recognition begins.

            '
          enum:
          - ContractEffectiveDate
          - ServiceActivationDate
          - CustomerAcceptanceDate
          maxLength: 22
          type: string
        revenueRecognitionRuleName:
          description: 'The name of the revenue recognition rule governing the revenue
            schedule.

            '
          type: string
        smoothingModel:
          description: |
            Specifies the smoothing model for an overage smoothing charge model or an tiered with overage model, which is an advanced type of a usage model that avoids spikes in usage charges. If a customer's usage spikes in a single period, then an overage smoothing model eases overage charges by considering usage and multiple periods.

            One of the following values shows which smoothing model will be applied to the charge when `Overage` or `Tiered with Overage` is used:

            - `RollingWindow` considers a number of periods to smooth usage. The rolling window starts and increments forward based on billing frequency. When allowed usage is met, then period resets and a new window begins.
            - `Rollover` considers a fixed number of periods before calculating usage. The net balance at the end of a period is unused usage, which is carried over to the next period's balance.
          type: string
        specificBillingPeriod:
          description: 'When the billing period is set to `Specific` Months then this
            positive integer reflects the number of months for billing period charges.

            '
          format: int64
          type: integer
        taxCode:
          description: 'Specifies the tax code for taxation rules; used by Zuora Tax.

            '
          type: string
        taxMode:
          description: 'Specifies how to define taxation for the charge; used by Zuora
            Tax. Possible values are: `TaxExclusive`, `TaxInclusive`.

            '
          type: string
        taxable:
          description: 'Specifies whether the charge is taxable; used by Zuora Tax.
            Possible values are:`true`, `false`.

            '
          type: boolean
        triggerEvent:
          description: "Specifies when to start billing the customer for the charge.\n\
            \nValues: one of the following:\n- `ContractEffective` is the date when\
            \ the subscription's contract goes into effect and the charge is ready\
            \ to be billed.\n- `ServiceActivation` is the date when the services or\
            \ products for a subscription have been activated and the customers have\
            \ access.\n- `CustomerAcceptance` is when the customer accepts the services\
            \ or products for a subscription. \n- `SpecificDate` is the date specified.\n"
          type: string
        type:
          description: 'The type of charge. Possible values are: `OneTime`, `Recurring`,
            `Usage`.

            '
          type: string
        uom:
          description: |
            Describes the Units of Measure (uom) configured in **Settings > Billing** for the productRatePlanCharges.

            Values: `Each`, `License`, `Seat`, or `null`
          type: string
        upToPeriods:
          description: |
            Specifies the length of the period during which the charge is active. If this period ends before the subscription ends, the charge ends when this period ends.
            If the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge end date will change accordingly up to the original period end.
          format: int64
          type: integer
        upToPeriodsType:
          description: "The period type used to define when the charge ends.\n\nValues:\n\
            - Billing_Periods\n- Days\n- Weeks\n- Months\n- Years\n  \n"
          type: string
        usageRecordRatingOption:
          description: "Determines how Zuora processes usage records for per-unit\
            \ usage charges. \n"
          type: string
        useDiscountSpecificAccountingCode:
          description: |
            Determines whether to define a new accounting code for the new discount charge.
            Values: `true`, `false`
          type: boolean
        useTenantDefaultForPriceChange:
          description: |
            Shows the tenant-level percentage uplift value for an automatic price change to a termed subscription's renewal. You set the tenant uplift value in the web-based UI: **Settings > Billing > Define Default Subscription Settings**.

            Values: `true`, `false`
          type: boolean
      type: object
    - $ref: '#/definitions/ProductRatePlanChargeObjectNSFields'
    - $ref: '#/definitions/ProductRatePlanChargeObjectCustomFields'
    title: productRatePlanCharges
  GETProductRatePlanType:
    allOf:
    - properties:
        description:
          description: 'Rate plan description.

            '
          type: string
        effectiveEndDate:
          description: 'Final date the rate plan is active, as `yyyy-mm-dd`. After
            this date, the rate plan status is `Expired`.

            '
          format: date
          type: string
        effectiveStartDate:
          description: 'First date the rate plan is active (i.e., available to be
            subscribed to), as `yyyy-mm-dd`.  Before this date, the status is `NotStarted`.

            '
          format: date
          type: string
        id:
          description: 'Unique product rate-plan charge ID.

            '
          type: string
        name:
          description: 'Name of the product rate-plan charge. (Not required to be
            unique.)

            '
          type: string
        productRatePlanCharges:
          description: 'Field attributes describing the product rate plan charges:

            '
          items:
            $ref: '#/definitions/GETProductRatePlanChargeType'
          type: array
        status:
          description: 'Possible vales are: `Active`, `Expired`, `NotStarted`.

            '
          type: string
      type: object
    - $ref: '#/definitions/ProductRatePlanObjectNSFields'
    - $ref: '#/definitions/ProductRatePlanObjectCustomFields'
    title: productRatePlans
  GETProductRatePlansResponse:
    properties:
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      productRatePlans:
        description: 'Container for one or more products.

          '
        items:
          $ref: '#/definitions/GETProductRatePlanType'
        type: array
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  GETProductType:
    allOf:
    - properties:
        category:
          description: |
            Category of the product. Used by Zuora Quotes Guided Product Selector.

            Possible values are:
              - Base Products
              - Add On Services
              - Miscellaneous Products
          type: string
        description:
          description: 'Optional product description.

            '
          type: string
        effectiveEndDate:
          description: 'The date when the product expires and cannot be subscribed
            to anymore, as `yyyy-mm-dd`.

            '
          format: date
          type: string
        effectiveStartDate:
          description: 'The date when the product becomes available and can be subscribed
            to, as `yyyy-mm-dd`.

            '
          format: date
          type: string
        id:
          description: 'Product ID.

            '
          type: string
        name:
          description: 'Product name, up to 100 characters.

            '
          type: string
        productFeatures:
          description: |
            Container for one or more product features. Only available when the following settings are enabled:
            - The Entitlements feature in your tenant
            - The Enable Feature Specification in Product and Subscriptions setting in Settings > Billing
          items:
            $ref: '#/definitions/GetProductFeatureType'
          type: array
        productRatePlans:
          description: |
            URL to retrieve information about all product rate plans of a specific product. For example, `/v1/rateplan/40289f466463d683016463ef8b7301a0/productRatePlan`. If you want to view the product rate plan details, call [Get product rate plans](https://www.zuora.com/developer/api-reference/#operation/GET_ProductRatePlans) with the returned URL.

            This field is in Zuora REST API version control. If you set the `zuora-version` request header to `230.0` or later, the value of this field is a URL. Zuora recommends that you use the latest behavior to retrieve product information.

            If you do not set the `zuora-version` request header or you set this header to `229.0` or earlier, the value of this field is an array of product rate plan details. For more information about the array, see the response body of [Get product rate plans](https://www.zuora.com/developer/api-reference/#operation/GET_ProductRatePlans). **Note**: The array contains a maximum of 300 product rate plans. Additionally, across all product rate plans, at most 300 product rate plan charges are returned.
          format: URL
          type: string
        sku:
          description: 'Unique product SKU, up to 50 characters.

            '
          type: string
        tags:
          description: ''
          type: string
      type: object
    - $ref: '#/definitions/ProductObjectNSFields'
    - $ref: '#/definitions/ProductObjectCustomFields'
    title: products
  GETPublicEmailTemplateResponse:
    example:
      active: true
      bccEmailAddress: user@example.com
      ccEmailAddress: user@example.com
      ccEmailType: SpecificEmails
      createdBy: 6e569e1e05f040eda51a927b140c0ac3
      createdOn: '2017-04-18T07:36:19.798Z'
      description: Email when an account is edited
      emailBody: Dear user,<p>the account <Account.Name> has been edited. <p>Example
        Co. Ltd.
      emailSubject: Account <Account.Number> has been edited
      encodingType: UTF8
      eventTypeName: AccountEdit
      fromEmailAddress: null
      fromEmailType: TenantEmail
      fromName: Example Co. Ltd.
      id: 6e569e1e05f040eda51a927b140c0ac2
      isHtml: true
      name: Account Edit Email
      replyToEmailAddress: null
      replyToEmailType: TenantEmail
      toEmailAddress: null
      toEmailType: BillToContact
      updatedBy: 6e569e1e05f040eda51a927b140c0ac4
      updatedOn: '2017-04-18T07:36:19.798Z'
    properties:
      active:
        description: The status of the email template.
        type: boolean
      bccEmailAddress:
        description: Email BCC address.
        format: email
        type: string
      ccEmailAddress:
        description: Email CC address.
        type: string
      ccEmailType:
        default: SpecificEmails
        description: Email cc type.
        enum:
        - BillToContact
        - SoldToContact
        - SpecificEmails
        - TenantAdmin
        - BillToAndSoldToContacts
        - RunOwner
        - AllContacts
        - InvoiceOwnerBillToContact
        - InvoiceOwnerSoldToContact
        - InvoiceOwnerBillToAndSoldToContacts
        - InvoiceOwnerAllContacts
        type: string
      createdBy:
        description: The ID of the user who created the notification definition.
        format: uuid
        type: string
      createdOn:
        description: The time when the notification definition was created. Specified
          in the UTC timezone in the ISO860 format (YYYY-MM-DDThh:mm:ss.sTZD). E.g.
          1997-07-16T19:20:30.45+00:00
        format: date-time
        type: string
      description:
        description: The description of the email template.
        maxLength: 255
        type: string
      emailBody:
        description: "The email body. You can add merge fields in the email object\
          \ using angle brackets. \nUser can also embed html tags if 'isHtml' is true."
        type: string
      emailSubject:
        description: The email subject. You can add merge fields in the email subject
          using angle brackets.
        type: string
      encodingType:
        description: The endcode type of the email body.
        enum:
        - UTF8
        - Shift_JIS
        - ISO_2022_JP
        - EUC_JP
        - X_SJIS_0213
        type: string
      eventTypeName:
        description: The name of the event type.
        minLength: 1
        type: string
      eventTypeNamespace:
        description: "The namespace of the `eventTypeName` field. \n"
        type: string
      fromEmailAddress:
        description: If formEmailType is SpecificEmail, this field is required.
        type: string
      fromEmailType:
        description: The from email type.
        enum:
        - TenantEmail
        - SpecificEmail
        type: string
      fromName:
        description: The name of email sender.
        maxLength: 50
        type: string
      id:
        description: The filter rule associated with this notification definition.
        format: uuid
        type: string
      isHtml:
        description: Specified whether the style of email body is HTML.
        type: boolean
      name:
        description: The name of the email template.
        maxLength: 255
        type: string
      replyToEmailAddress:
        description: If replyToEmailType is SpecificEmail, this field is required
        type: string
      replyToEmailType:
        description: The reply email type.
        enum:
        - TenantEmail
        - SpecificEmail
        type: string
      toEmailAddress:
        description: If toEmailType is SpecificEmail, this field is required.
        type: string
      toEmailType:
        description: Email receive type.
        enum:
        - BillToContact
        - SoldToContact
        - SpecificEmails
        - TenantAdmin
        - BillToAndSoldToContacts
        - RunOwner
        - AllContacts
        - InvoiceOwnerBillToContact
        - InvoiceOwnerSoldToContact
        - InvoiceOwnerBillToAndSoldToContacts
        - InvoiceOwnerAllContacts
        type: string
      updatedBy:
        description: The ID of the user who updated the notification definition.
        format: uuid
        type: string
      updatedOn:
        description: The time when the notification definition was updated. Specified
          in the UTC timezone in the ISO860 format (YYYY-MM-DDThh:mm:ss.sTZD). E.g.
          1997-07-16T19:20:30.45+00:00
        format: date-time
        type: string
    type: object
  GETPublicNotificationDefinitionResponse:
    example:
      active: true
      callout:
        active: true
        calloutAuth:
          domain: example_domain
          password: example_password
          preemptive: true
          username: example_user
        calloutBaseurl: https://www.example.com/callout/AccountEdit
        calloutParams:
          AccountName: <Account.Name>
          AccountNumber: <Account.Number>
        calloutRetry: true
        description: Callout when an account is edited
        eventTypeName: AccountEdit
        httpMethod: POST
        id: 6e569e1e05f040eda51a927b140c0ac7
        name: Callout for Account Edited
        requiredAuth: true
      calloutActive: true
      communicationProfileId: 6e569e1e05f040eda51a927b140c0ac5
      createdBy: 6e569e1e05f040eda51a927b140c0ac3
      createdOn: '2017-04-18T07:36:19.798Z'
      description: Notification sent out when an account is edited
      emailActive: true
      emailTemplateId: 6e569e1e05f040eda51a927b140c0ac6
      eventTypeName: AccountEdit
      filterRule:
        condition: Account.Balance >= _VIP_BALANCE_AMOUNT && Account.Status == _ACCOUNT_STATUS
        description: Filter rule to test if an account is a VIP account
        eventTypeName: null
        id: 6e569e1e05f040eda51a927b140c0ac8
        parameters:
          _ACCOUNT_STATUS:
            description: The status of the VIP Account
            displayName: VIP Account Status
            options:
            - Draft
            - Active
            - Canceled
            valueType: STRING
          _VIP_BALANCE_AMOUNT:
            description: The minimum account balance
            displayName: VIP Account Balance
            options: null
            valueType: BIG_DECIMAL
      filterRuleParams:
        _EDITED_FROM: UI
        _VIP_ACCOUNT_BALANCE: '100000'
      id: 6e569e1e05f040eda51a927b140c0ac2
      name: Account Edit Notification
      updatedBy: 6e569e1e05f040eda51a927b140c0ac4
      updatedOn: '2017-04-18T07:36:19.798Z'
    properties:
      active:
        description: The status of the notification definition. The default value
          is true.
        type: boolean
      callout:
        properties:
          active:
            default: true
            description: The status of the callout. The default is true.
            type: boolean
          calloutAuth:
            $ref: '#/definitions/CalloutAuth'
          calloutBaseurl:
            description: The callout URL. It must start with 'https://'
            example: https://***
            format: url
            minLength: 10
            type: string
          calloutParams:
            $ref: '#/definitions/CalloutMergeFields'
          calloutRetry:
            default: true
            description: Specified whether to retry the callout when the callout fails.
              The default is true.
            type: boolean
          description:
            description: Description for the callout.
            maxLength: 255
            type: string
          eventTypeName:
            description: The name of the event type.
            minLength: 1
            type: string
          httpMethod:
            description: The HTTP method of the callout.
            enum:
            - GET
            - PUT
            - POST
            - DELETE
            example: POST
            type: string
          id:
            description: The ID of the callout. If `calloutActive` is true, a callout
              is required. The eventTypeName of the callout MUST be the same as the
              eventTypeName.
            format: uuid
            type: string
          name:
            description: The name of the created callout.
            maxLength: 255
            type: string
          requiredAuth:
            description: Specifies whether the callout requires auth.
            type: boolean
        type: object
      calloutActive:
        description: The status of the callout action. The default value is false.
        type: boolean
      communicationProfileId:
        description: The profile that the notification definition belongs to.
        format: uuid
        type: string
      createdBy:
        description: The ID of the user who created the notification definition.
        format: uuid
        type: string
      createdOn:
        description: The time when the notification definition was created. Specified
          in the UTC timezone in the ISO860 format (YYYY-MM-DDThh:mm:ss.sTZD). E.g.
          1997-07-16T19:20:30.45+00:00
        format: date-time
        type: string
      description:
        description: Description of the notification definition
        maxLength: 255
        type: string
      emailActive:
        description: The status of the email action. The default value is false.
        type: boolean
      emailTemplateId:
        description: The ID of the email template. In the request, there should be
          at least one email template or callout.
        format: uuid
        type: string
      eventTypeName:
        description: The name of the event type.
        minLength: 1
        type: string
      eventTypeNamespace:
        description: "The namespace of the `eventTypeName` field. \n"
        type: string
      filterRule:
        description: ''
        properties:
          condition:
            description: "The filter rule conditions, written in [JEXL](http://commons.apache.org/proper/commons-jexl/).\n\
              The rule might contain event context merge fields and data source merge\
              \ fields. Data source merge fields must be from [the base object of\
              \ the event or from the joined objects of the base object](https://knowledgecenter.zuora.com/DC_Developers/M_Export_ZOQL#Data_Sources_and_Objects).\
              \ Notifications with invalid merge fields will fail to evaluate, thus\
              \ will not be invoked. For example, to trigger an event when an invoice\
              \ is posted with the amount over 1000, you would define the following\
              \ condition on the `Invoice` object:\n\n```changeType == 'UPDATE' &&\
              \ Invoice.Status == 'Posted' && Invoice.Status_old != 'Posted' && Invoice.Amount\
              \ > 1000```\n\nThere are conventions and keywords you need to be aware\
              \ of. For example:\n\n* `changeType` is a keyword to specify what kind\
              \ of change happened to the object. Allowed values are `INSERT`, `UPDATE`\
              \ or `DELETE`.\n\n* `Invoice.Status` refers to field `Status` of the\
              \ Zuora object `Invoice`.\n\n* A variable with the `_old` suffix means\
              \ it\u2019s a previous value of the corresponding object field. The\
              \ \"_old\" fields are only available on the base objects.\n"
            example: Account.Balance >= _VIP_BALANCE_AMOUNT && Account.Status == _ACCOUNT_STATUS
            type: string
          description:
            description: The description of the filter rule.
            maxLength: 255
            type: string
          eventTypeName:
            description: The value is `null`.
            minLength: 1
            type: string
          id:
            description: The ID of the filter rule. If not specified or null, the
              notification definition is always qualified to process events of "eventType".
            format: uuid
            type: string
          parameters:
            $ref: '#/definitions/FilterRuleParameterDefinitions'
        type: object
      filterRuleParams:
        $ref: '#/definitions/FilterRuleParameterValues'
      id:
        description: The filter rule associated with this notification definition.
        format: uuid
        type: string
      name:
        description: The name of the notification definition.
        maxLength: 255
        type: string
      updatedBy:
        description: The ID of the user who updated the notification definition.
        format: uuid
        type: string
      updatedOn:
        description: The time when the notification was updated. Specified in the
          UTC timezone in the ISO860 format (YYYY-MM-DDThh:mm:ss.sTZD). E.g. 1997-07-16T19:20:30.45+00:00
        format: date-time
        type: string
    type: object
  GETRSDetailForProductChargeType:
    allOf:
    - properties:
        accountId:
          description: 'The ID of a customer account.

            '
          type: string
        amount:
          description: "The revenue schedule amount, which is the sum of all revenue\
            \ items. \n\nThis field cannot be null and must be formatted based on\
            \ the currency, such as `JPY 30` or `USD 30.15`. Test out the currency\
            \ to ensure you are using the proper formatting; otherwise, the response\
            \ will fail and this error message is returned: `Allocation amount with\
            \ wrong decimal places`.\n"
          type: string
        createdOn:
          description: 'The date and time when the record was created, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        currency:
          description: 'The type of currency used.

            '
          type: string
        linkedTransactionId:
          description: 'The linked transaction ID for billing transactions. This field
            is used for all rules except for the custom unlimited or manual recognition
            rule models. If using the custom unlimited rule model, then the field
            value must be null. If the field is not null, then the referenceId field
            must be null.

            '
          type: string
        linkedTransactionNumber:
          description: 'The number for the linked invoice item, invoice item adjustment,
            or debit memo item transaction. This field is used for all rules except
            for the custom unlimited or manual recognition rule models. If using the
            custom unlimited or manual recognition rule models, then the field value
            is null.

            '
          type: string
        linkedTransactionType:
          description: 'The type of linked transaction for billing transactions, which
            can be invoice item, invoice item adjustment, or debit memo item. This
            field is used for all rules except for the custom unlimited or manual
            recognition rule models.

            '
          type: string
        notes:
          description: 'Additional information about this record.

            '
          type: string
        number:
          description: 'The revenue schedule number. The revenue schedule number is
            always prefixed with "RS", for example, "RS-00000001".

            '
          type: string
        productChargeId:
          description: 'The ID of a product rate plan charge.

            '
          type: string
        recognitionRuleName:
          description: 'The name of the recognition rule.

            '
          type: string
        recognizedRevenue:
          description: 'The revenue that was distributed in a closed accounting period.

            '
          type: string
        referenceId:
          description: 'The reference ID is used only in the custom unlimited rule
            to create a revenue schedule. In this scenario, the revenue schedule is
            not linked to a credit memo item.

            '
          type: string
        revenueItems:
          description: 'Revenue items are listed in ascending order by the accounting
            period start date.

            '
          items:
            $ref: '#/definitions/GETRsRevenueItemType'
          type: array
        revenueScheduleDate:
          description: |
            The effective date of the revenue schedule. For example, the revenue schedule date for bookings-based revenue recognition is typically set to the order date or contract date.

            The date cannot be in a closed accounting period. The date must be in `yyyy-mm-dd` format.
          format: date
          type: string
        undistributedUnrecognizedRevenue:
          description: 'The revenue in the open-ended accounting period.

            '
          type: string
        unrecognizedRevenue:
          description: 'The revenue distributed in all open accounting periods, which
            includes the open-ended accounting period.

            '
          type: string
        updatedOn:
          description: 'The date and time when the revenue automation start date was
            set, in `yyyy-mm-dd hh:mm:ss` format.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/RevenueScheduleObjectCustomFields'
  GETRSDetailType:
    allOf:
    - properties:
        accountId:
          description: 'An account ID.

            '
          type: string
        amount:
          description: 'The revenue schedule amount, which is the sum of all revenue
            items. This field cannot be null and must be formatted based on the currency,
            such as `JPY 30` or `USD 30.15`. Test out the currency to ensure you are
            using the proper formatting otherwise, the response will fail and this
            error message is returned: `Allocation amount with wrong decimal places.`

            '
          format: decimal
          type: string
        createdOn:
          description: 'The date and time when the record was created, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        currency:
          description: 'The type of currency used.

            '
          type: string
        linkedTransactionId:
          description: 'The linked transaction ID for billing transactions. This field
            is used for all rules except for the custom unlimited or manual recognition
            rule models. If using the custom unlimited rule model, then the field
            value must be null. If the field is not null, then the referenceId field
            must be null.

            '
          type: string
        linkedTransactionNumber:
          description: 'The number for the linked invoice item or invoice item adjustment
            transaction. This field is used for all rules except for the custom unlimited
            or manual recognition rule models. If using the custom unlimited or manual
            recognition rule models, then the field value is null.

            '
          type: string
        linkedTransactionType:
          description: 'The type of linked transaction for billing transactions, which
            can be invoice item or invoice item adjustment. This field is used for
            all rules except for the custom unlimited or manual recognition rule models.

            '
          type: string
        notes:
          description: 'Additional information about this record.

            '
          type: string
        number:
          description: 'Revenue schedule number. The revenue schedule number is always
            prefixed with "RS", for example, "RS-00000001".

            '
          type: string
        recognitionRuleName:
          description: 'The name of the recognition rule.

            '
          type: string
        recognizedRevenue:
          description: 'The revenue that was distributed in a closed accounting period.

            '
          format: decimal
          type: string
        referenceId:
          description: 'Reference ID is used only in the custom unlimited rule to
            create a revenue schedule. In this scenario, the revenue schedule is not
            linked to an invoice item or invoice item adjustment.

            '
          type: string
        revenueItems:
          description: 'Revenue items are listed in ascending order by the accounting
            period start date.

            '
          items:
            $ref: '#/definitions/GETRsRevenueItemType'
          type: array
        revenueScheduleDate:
          description: |
            The effective date of the revenue schedule. For example, the revenue schedule date for bookings-based revenue recognition is typically set to the order date or contract date.

            The date cannot be in a closed accounting period. The date must be in `yyyy-mm-dd` format.
          format: date
          type: string
        subscriptionChargeId:
          description: 'The original subscription charge ID.

            '
          type: string
        subscriptionId:
          description: 'The original subscription ID.

            '
          type: string
        success:
          description: 'Returns `true` if the request was processed successfully.

            '
          type: boolean
        undistributedUnrecognizedRevenue:
          description: 'Revenue in the open-ended accounting period.

            '
          format: decimal
          type: string
        unrecognizedRevenue:
          description: 'Revenue distributed in all open accounting periods, which
            includes the open-ended accounting period.

            '
          format: decimal
          type: string
        updatedOn:
          description: 'The date and time when the revenue automation start date was
            set, in `yyyy-mm-dd hh:mm:ss` formst.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/RevenueScheduleObjectCustomFields'
  GETRSDetailWithoutSuccessType:
    allOf:
    - properties:
        accountId:
          description: 'An account ID.

            '
          type: string
        amount:
          description: 'The revenue schedule amount, which is the sum of all revenue
            items. This field cannot be null and must be formatted based on the currency,
            such as `JPY 30` or `USD 30.15`. Test out the currency to ensure you are
            using the proper formatting otherwise, the response will fail and this
            error message is returned: `Allocation amount with wrong decimal places.`

            '
          format: decimal
          type: string
        createdOn:
          description: 'The date and time when the record was created, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        currency:
          description: 'The type of currency used.

            '
          type: string
        linkedTransactionId:
          description: 'The linked transaction ID for billing transactions. This field
            is used for all rules except for the custom unlimited or manual recognition
            rule models. If using the custom unlimited rule model, then the field
            value must be null. If the field is not null, then the referenceId field
            must be null.

            '
          type: string
        linkedTransactionNumber:
          description: 'The number for the linked invoice item or invoice item adjustment
            transaction. This field is used for all rules except for the custom unlimited
            or manual recognition rule models. If using the custom unlimited or manual
            recognition rule models, then the field value is null.

            '
          type: string
        linkedTransactionType:
          description: 'The type of linked transaction for billing transactions, which
            can be invoice item or invoice item adjustment. This field is used for
            all rules except for the custom unlimited or manual recognition rule models.

            '
          type: string
        notes:
          description: 'Additional information about this record.

            '
          type: string
        number:
          description: 'Revenue schedule number. The revenue schedule number is always
            prefixed with "RS", for example, "RS-00000001".

            '
          type: string
        recognitionRuleName:
          description: 'The name of the recognition rule.

            '
          type: string
        recognizedRevenue:
          description: 'The revenue that was distributed in a closed accounting period.

            '
          format: decimal
          type: string
        referenceId:
          description: 'Reference ID is used only in the custom unlimited rule to
            create a revenue schedule. In this scenario, the revenue schedule is not
            linked to an invoice item or invoice item adjustment.

            '
          type: string
        revenueItems:
          description: 'Revenue items are listed in ascending order by the accounting
            period start date.

            '
          items:
            $ref: '#/definitions/GETRsRevenueItemType'
          type: array
        revenueScheduleDate:
          description: |
            The effective date of the revenue schedule. For example, the revenue schedule date for bookings-based revenue recognition is typically set to the order date or contract date.

            The date cannot be in a closed accounting period. The date must be in the `yyyy-mm-dd` format.
          format: date
          type: string
        subscriptionChargeId:
          description: 'The original subscription charge ID.

            '
          type: string
        subscriptionId:
          description: 'The original subscription ID.

            '
          type: string
        undistributedUnrecognizedRevenue:
          description: 'Revenue in the open-ended accounting period.

            '
          format: decimal
          type: string
        unrecognizedRevenue:
          description: 'Revenue distributed in all open accounting periods, which
            includes the open-ended accounting period.

            '
          format: decimal
          type: string
        updatedOn:
          description: 'The date when the revenue automation start date was set, in
            `yyyy-mm-dd hh:mm:ss` format.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/RevenueScheduleObjectCustomFields'
    title: revenueSchedules
  GETRSDetailsByChargeType:
    properties:
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      revenueSchedules:
        description: |
          Represents how revenue will be recognized over time.

          This contains the details of a revenue schedule. If you do not specify the `pageSize` variable, the default number of revenue schedules returned per invocation is 8, and if there are more than 8 revenue schedules to be returned, the `nextPage` field will provide a hyperlink to view the next page(s) of revenue events. The order of revenue schedules is descending by the `updatedOn` field.
        items:
          $ref: '#/definitions/GETRSDetailWithoutSuccessType'
        type: array
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  GETRSDetailsByProductChargeType:
    example: ''
    properties:
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      revenueSchedules:
        description: 'How revenue will be recognized over time.

          '
        items:
          $ref: '#/definitions/GETRSDetailForProductChargeType'
        type: array
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  GETRefundCollectionType:
    properties:
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      refunds:
        description: 'Container for refunds.

          '
        items:
          $ref: '#/definitions/GETRefundTypewithSuccess'
        type: array
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  GETRefundCreditMemoType:
    allOf:
    - properties:
        accountId:
          description: 'The ID of the account associated with this refund. Zuora associates
            the refund automatically with the account from the associated payment.

            '
          type: string
        amount:
          description: 'The total amount of the refund.

            '
          format: double
          type: number
        cancelledOn:
          description: 'The date and time when the refund was cancelled, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        comment:
          description: 'Comments about the refund.

            '
          type: string
        createdById:
          description: 'The ID of the Zuora user who created the refund.

            '
          type: string
        createdDate:
          description: 'The date and time when the refund was created, in `yyyy-mm-dd
            hh:mm:ss` format. For example, 2017-03-06 15:31:10.

            '
          format: date-time
          type: string
        creditMemoId:
          description: 'The ID of the credit memo that is refunded.

            '
          type: string
        financeInformation:
          description: 'Container for the finance information related to the refund.

            '
          properties:
            bankAccountAccountingCode:
              description: 'The accounting code that maps to a bank account in your
                accounting system.

                '
              type: string
            bankAccountAccountingCodeType:
              description: 'The type of the accounting code that maps to a bank account
                in your accounting system.

                '
              type: string
            transferredToAccounting:
              description: "Whether the refund was transferred to an external accounting\
                \ system. Use this field for integration with accounting systems,\
                \ such as NetSuite. \n"
              enum:
              - Processing
              - 'Yes'
              - 'No'
              - Error
              - Ignore
              type: string
            unappliedPaymentAccountingCode:
              description: 'The accounting code for the unapplied payment.

                '
              type: string
            unappliedPaymentAccountingCodeType:
              description: 'The type of the accounting code for the unapplied payment.

                '
              type: string
          type: object
        gatewayId:
          description: 'The ID of the gateway instance that processes the refund.

            '
          type: string
        gatewayResponse:
          description: 'The message returned from the payment gateway for the refund.
            This message is gateway-dependent.

            '
          type: string
        gatewayResponseCode:
          description: 'The response code returned from the payment gateway for the
            refund. This code is gateway-dependent.

            '
          type: string
        gatewayState:
          description: 'The status of the refund in the gateway.

            '
          enum:
          - MarkedForSubmission
          - Submitted
          - Settled
          - NotSubmitted
          - FailedToSettle
          type: string
        id:
          description: 'The ID of the created refund.

            '
          type: string
        markedForSubmissionOn:
          description: 'The date and time when a refund was marked and waiting for
            batch submission to the payment process, in `yyyy-mm-dd hh:mm:ss` format.

            '
          format: date-time
          type: string
        methodType:
          description: 'How an external refund was issued to a customer.

            '
          enum:
          - ACH
          - Cash
          - Check
          - CreditCard
          - PayPal
          - WireTransfer
          - DebitCard
          - CreditCardReferenceTransaction
          - BankTransfer
          - Other
          type: string
        number:
          description: 'The unique identification number of the refund.

            '
          type: string
        paymentId:
          description: 'The ID of the payment associated with the refund.

            '
          type: string
        paymentMethodId:
          description: 'The unique ID of the payment method that the customer used
            to make the refund.

            '
          type: string
        paymentMethodSnapshotId:
          description: 'The unique ID of the payment method snapshot, which is a copy
            of the particular payment method used in a transaction.

            '
          type: string
        reasonCode:
          description: 'A code identifying the reason for the transaction.

            '
          type: string
        referenceId:
          description: 'The transaction ID returned by the payment gateway for an
            electronic refund. Use this field to reconcile refunds between your gateway
            and Zuora Payments.

            '
          type: string
        refundDate:
          description: 'The date when the refund takes effect, in yyyy-mm-dd format.

            '
          format: date
          type: string
        refundTransactionTime:
          description: 'The date and time when the refund was issued, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        secondRefundReferenceId:
          description: 'The transaction ID returned by the payment gateway if there
            is an additional transaction for the refund. Use this field to reconcile
            payments between your gateway and Zuora Payments.

            '
          type: string
        settledOn:
          description: 'The date and time when the refund was settled in the payment
            processor, in `yyyy-mm-dd hh:mm:ss` format. This field is used by the
            Spectrum gateway only and not applicable to other gateways.

            '
          format: date-time
          type: string
        softDescriptor:
          description: 'A payment gateway-specific field that maps to Zuora for the
            gateways, Orbital, Vantiv and Verifi.

            '
          type: string
        softDescriptorPhone:
          description: 'A payment gateway-specific field that maps to Zuora for the
            gateways, Orbital, Vantiv and Verifi.

            '
          type: string
        status:
          description: 'The status of the refund.

            '
          enum:
          - Processed
          - Canceled
          - Error
          - Processing
          type: string
        submittedOn:
          description: 'The date and time when the refund was submitted, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        success:
          description: Returns `true` if the request was processed successfully.
          type: boolean
        type:
          description: 'The type of the refund.

            '
          enum:
          - External
          - Electronic
          type: string
        updatedById:
          description: 'The ID of the Zuora user who last updated the refund.

            '
          type: string
        updatedDate:
          description: 'The date and time when the refund was last updated, in `yyyy-mm-dd
            hh:mm:ss` format. For example, 2017-03-07 15:36:10.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/RefundObjectNSFields'
    - $ref: '#/definitions/RefundObjectCustomFields'
  GETRefundItemPartCollectionType:
    properties:
      itemParts:
        description: 'Container for refund part items.

          '
        items:
          $ref: '#/definitions/GETRefundItemPartTypewithSuccess'
        type: array
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  GETRefundItemPartType:
    properties:
      amount:
        description: 'The amount of the refund part item.

          '
        format: double
        type: number
      createdById:
        description: 'The ID of the Zuora user who created the refund part item.

          '
        type: string
      createdDate:
        description: 'The date and time when the refund part item was created, in
          `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-01 15:31:10.

          '
        format: date-time
        type: string
      creditMemoItemId:
        description: 'The ID of the credit memo item associated with the refund part
          item.

          '
        type: string
      creditTaxItemId:
        description: 'The ID of the credit memo taxation item associated with the
          refund part item.

          '
        type: string
      id:
        description: 'The ID of the refund part item.

          '
        type: string
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
      updatedById:
        description: 'The ID of the Zuora user who last updated the refund part item.

          '
        type: string
      updatedDate:
        description: 'The date and time when the refund part item was last updated,
          in `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-02 15:36:10.

          '
        format: date-time
        type: string
    type: object
  GETRefundItemPartTypewithSuccess:
    properties:
      amount:
        description: 'The amount of the refund part item.

          '
        format: double
        type: number
      createdById:
        description: 'The ID of the Zuora user who created the refund part item.

          '
        type: string
      createdDate:
        description: 'The date and time when the refund part item was created, in
          `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-01 15:31:10.

          '
        format: date-time
        type: string
      creditMemoItemId:
        description: 'The ID of the credit memo item associated with the refund part
          item.

          '
        type: string
      creditTaxItemId:
        description: 'The ID of the credit memo taxation item associated with the
          refund part item.

          '
        type: string
      id:
        description: 'The ID of the refund part item.

          '
        type: string
      updatedById:
        description: 'The ID of the Zuora user who last updated the refund part item.

          '
        type: string
      updatedDate:
        description: 'The date and time when the refund part item was last updated,
          in `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-02 15:36:10.

          '
        format: date-time
        type: string
    title: itemParts
    type: object
  GETRefundPartCollectionType:
    properties:
      parts:
        description: 'Container for refund parts.

          '
        items:
          $ref: '#/definitions/RefundPartResponseTypewithSuccess'
        type: array
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  GETRefundPaymentType:
    allOf:
    - properties:
        accountId:
          description: 'The ID of the account associated with this refund. Zuora associates
            the refund automatically with the account from the associated payment.

            '
          type: string
        amount:
          description: 'The total amount of the refund.

            '
          format: double
          type: number
        cancelledOn:
          description: "The date and time when the refund was cancelled, in `yyyy-mm-dd\
            \ hh:mm:ss` format. \n"
          format: date-time
          type: string
        comment:
          description: 'Comments about the refund.

            '
          type: string
        createdById:
          description: 'The ID of the Zuora user who created the refund.

            '
          type: string
        createdDate:
          description: "The date and time when the refund was created, in `yyyy-mm-dd\
            \ hh:mm:ss` format. For example, 2017-03-01 15:31:10. \n"
          format: date-time
          type: string
        creditMemoId:
          description: 'The ID of the credit memo associated with the refund.

            '
          type: string
        financeInformation:
          description: 'Container for the finance information related to the refund.

            '
          properties:
            bankAccountAccountingCode:
              description: 'The accounting code that maps to a bank account in your
                accounting system.

                '
              type: string
            bankAccountAccountingCodeType:
              description: 'The type of the accounting code that maps to a bank account
                in your accounting system.

                '
              type: string
            transferredToAccounting:
              description: "Whether the refund was transferred to an external accounting\
                \ system. Use this field for integration with accounting systems,\
                \ such as NetSuite. \n"
              enum:
              - Processing
              - 'Yes'
              - 'No'
              - Error
              - Ignore
              type: string
            unappliedPaymentAccountingCode:
              description: 'The accounting code for the unapplied payment.

                '
              type: string
            unappliedPaymentAccountingCodeType:
              description: 'The type of the accounting code for the unapplied payment.

                '
              type: string
          type: object
        gatewayId:
          description: 'The ID of the gateway instance that processes the refund.

            '
          type: string
        gatewayResponse:
          description: 'The message returned from the payment gateway for the refund.
            This message is gateway-dependent.

            '
          type: string
        gatewayResponseCode:
          description: 'The code returned from the payment gateway for the refund.
            This code is gateway-dependent.

            '
          type: string
        gatewayState:
          description: 'The status of the refund in the gateway.

            '
          enum:
          - MarkedForSubmission
          - Submitted
          - Settled
          - NotSubmitted
          - FailedToSettle
          type: string
        id:
          description: 'The ID of the created refund.

            '
          type: string
        markedForSubmissionOn:
          description: 'The date and time when a refund was marked and waiting for
            batch submission to the payment process, in `yyyy-mm-dd hh:mm:ss` format.

            '
          format: date-time
          type: string
        methodType:
          description: 'How an external refund was issued to a customer.

            '
          enum:
          - ACH
          - Cash
          - Check
          - CreditCard
          - PayPal
          - WireTransfer
          - DebitCard
          - CreditCardReferenceTransaction
          - BankTransfer
          - Other
          type: string
        number:
          description: 'The unique identification number of the refund.

            '
          type: string
        paymentId:
          description: 'The ID of the payment that is refunded.

            '
          type: string
        paymentMethodId:
          description: "The unique ID of the payment method that the customer used\
            \ to make the refund. \n"
          type: string
        paymentMethodSnapshotId:
          description: 'The unique ID of the payment method snapshot, which is a copy
            of the particular payment method used in a transaction.

            '
          type: string
        reasonCode:
          description: "A code identifying the reason for the transaction. \n"
          type: string
        referenceId:
          description: 'The transaction ID returned by the payment gateway for an
            electronic refund. Use this field to reconcile refunds between your gateway
            and Zuora Payments.

            '
          type: string
        refundDate:
          description: 'The date when the refund takes effect, in `yyyy-mm-dd` format.

            '
          format: date
          type: string
        refundTransactionTime:
          description: 'The date and time when the refund was issued, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        secondRefundReferenceId:
          description: 'The transaction ID returned by the payment gateway if there
            is an additional transaction for the refund. Use this field to reconcile
            payments between your gateway and Zuora Payments.

            '
          type: string
        settledOn:
          description: 'The date and time when the refund was settled in the payment
            processor, in `yyyy-mm-dd hh:mm:ss` format. This field is used by the
            Spectrum gateway only and not applicable to other gateways.

            '
          format: date-time
          type: string
        softDescriptor:
          description: 'A payment gateway-specific field that maps to Zuora for the
            gateways, Orbital, Vantiv and Verifi.

            '
          type: string
        softDescriptorPhone:
          description: 'A payment gateway-specific field that maps to Zuora for the
            gateways, Orbital, Vantiv and Verifi.

            '
          type: string
        status:
          description: 'The status of the refund.

            '
          enum:
          - Processed
          - Canceled
          - Error
          - Processing
          type: string
        submittedOn:
          description: 'The date and time when the refund was submitted, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        success:
          description: Returns `true` if the request was processed successfully.
          type: boolean
        type:
          description: 'The type of the refund.

            '
          enum:
          - External
          - Electronic
          type: string
        updatedById:
          description: 'The ID of the the Zuora user who last updated the refund.

            '
          type: string
        updatedDate:
          description: 'The date and time when the refund was last updated, in `yyyy-mm-dd
            hh:mm:ss` format. For example, 2017-03-02 15:36:10.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/RefundObjectNSFields'
    - $ref: '#/definitions/RefundObjectCustomFields'
  GETRefundType:
    allOf:
    - properties:
        accountId:
          description: 'The ID of the account associated with this refund. Zuora associates
            the refund automatically with the account from the associated payment
            or credit memo.

            '
          type: string
        amount:
          description: 'The total amount of the refund.

            '
          format: double
          type: number
        cancelledOn:
          description: 'The date and time when the refund was cancelled, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        comment:
          description: 'Comments about the refund.

            '
          type: string
        createdById:
          description: 'The ID of the Zuora user who created the refund.

            '
          type: string
        createdDate:
          description: 'The date and time when the refund was created, in `yyyy-mm-dd
            hh:mm:ss` format. For example, 2017-03-01 15:31:10.

            '
          format: date-time
          type: string
        creditMemoId:
          description: 'The ID of the credit memo that is refunded.

            '
          type: string
        financeInformation:
          description: 'Container for the finance information related to the refund.

            '
          properties:
            bankAccountAccountingCode:
              description: 'The accounting code that maps to a bank account in your
                accounting system.

                '
              type: string
            bankAccountAccountingCodeType:
              description: 'The type of the accounting code that maps to a bank account
                in your accounting system.

                '
              type: string
            transferredToAccounting:
              description: "Whether the refund was transferred to an external accounting\
                \ system. Use this field for integration with accounting systems,\
                \ such as NetSuite. \n"
              enum:
              - Processing
              - 'Yes'
              - 'No'
              - Error
              - Ignore
              type: string
            unappliedPaymentAccountingCode:
              description: 'The accounting code for the unapplied payment.

                '
              type: string
            unappliedPaymentAccountingCodeType:
              description: 'The type of the accounting code for the unapplied payment.

                '
              type: string
          type: object
        gatewayId:
          description: 'The ID of the gateway instance that processes the refund.

            '
          type: string
        gatewayResponse:
          description: 'The message returned from the payment gateway for the refund.
            This message is gateway-dependent.

            '
          type: string
        gatewayResponseCode:
          description: 'The code returned from the payment gateway for the refund.
            This code is gateway-dependent.

            '
          type: string
        gatewayState:
          description: 'The status of the refund in the gateway.

            '
          enum:
          - MarkedForSubmission
          - Submitted
          - Settled
          - NotSubmitted
          - FailedToSettle
          type: string
        id:
          description: 'The ID of the refund.

            '
          type: string
        markedForSubmissionOn:
          description: "The date and time when a refund was marked and waiting for\
            \ batch submission to the payment process, in `yyyy-mm-dd hh:mm:ss` format.\
            \ \n"
          format: date-time
          type: string
        methodType:
          description: "How an external refund was issued to a customer. \n"
          enum:
          - ACH
          - Cash
          - Check
          - CreditCard
          - PayPal
          - WireTransfer
          - DebitCard
          - CreditCardReferenceTransaction
          - BankTransfer
          - Other
          type: string
        number:
          description: 'The unique identification number of the refund.

            '
          type: string
        paymentId:
          description: 'The ID of the payment that is refunded.

            '
          type: string
        paymentMethodId:
          description: 'The unique ID of the payment method that the customer used
            to make the refund.

            '
          type: string
        paymentMethodSnapshotId:
          description: 'The unique ID of the payment method snapshot, which is a copy
            of the particular payment method used in a transaction.

            '
          type: string
        reasonCode:
          description: 'A code identifying the reason for the transaction.

            '
          type: string
        referenceId:
          description: 'The transaction ID returned by the payment gateway for an
            electronic refund. Use this field to reconcile refunds between your gateway
            and Zuora Payments.

            '
          type: string
        refundDate:
          description: 'The date when the refund takes effect, in `yyyy-mm-dd` format.
            For example, 2017-03-01.

            '
          format: date
          type: string
        refundTransactionTime:
          description: 'The date and time when the refund was issued, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        secondRefundReferenceId:
          description: 'The transaction ID returned by the payment gateway if there
            is an additional transaction for the refund. Use this field to reconcile
            payments between your gateway and Zuora Payments.

            '
          type: string
        settledOn:
          description: 'The date and time when the refund was settled in the payment
            processor, in `yyyy-mm-dd hh:mm:ss` format. This field is used by the
            Spectrum gateway only and not applicable to other gateways.

            '
          format: date-time
          type: string
        softDescriptor:
          description: 'A payment gateway-specific field that maps Zuora to other
            gateways.

            '
          type: string
        softDescriptorPhone:
          description: 'A payment gateway-specific field that maps Zuora to other
            gateways.

            '
          type: string
        status:
          description: "The status of the refund. \n"
          enum:
          - Processed
          - Canceled
          - Error
          - Processing
          type: string
        submittedOn:
          description: 'The date and time when the refund was submitted, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        success:
          description: Returns `true` if the request was processed successfully.
          type: boolean
        type:
          description: "The type of the refund. \n"
          enum:
          - External
          - Electronic
          type: string
        updatedById:
          description: 'The ID of the Zuora user who last updated the refund.

            '
          type: string
        updatedDate:
          description: 'The date and time when the refund was last updated, in `yyyy-mm-dd
            hh:mm:ss` format. For example, 2017-03-02 15:36:10.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/RefundObjectNSFields'
    - $ref: '#/definitions/RefundObjectCustomFields'
  GETRefundTypewithSuccess:
    allOf:
    - properties:
        accountId:
          description: 'The ID of the account associated with this refund. Zuora associates
            the refund automatically with the account from the associated payment
            or credit memo.

            '
          type: string
        amount:
          description: 'The total amount of the refund.

            '
          format: double
          type: number
        cancelledOn:
          description: 'The date and time when the refund was cancelled, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        comment:
          description: 'Comments about the refund.

            '
          type: string
        createdById:
          description: 'The ID of the Zuora user who created the refund.

            '
          type: string
        createdDate:
          description: 'The date and time when the refund was created, in `yyyy-mm-dd
            hh:mm:ss` format. For example, 2017-03-01 15:31:10.

            '
          format: date-time
          type: string
        creditMemoId:
          description: 'The ID of the credit memo that is refunded.

            '
          type: string
        financeInformation:
          description: 'Container for the finance information related to the refund.

            '
          properties:
            bankAccountAccountingCode:
              description: 'The accounting code that maps to a bank account in your
                accounting system.

                '
              type: string
            bankAccountAccountingCodeType:
              description: 'The type of the accounting code that maps to a bank account
                in your accounting system.

                '
              type: string
            transferredToAccounting:
              description: "Whether the refund was transferred to an external accounting\
                \ system. Use this field for integration with accounting systems,\
                \ such as NetSuite. \n"
              enum:
              - Processing
              - 'Yes'
              - 'No'
              - Error
              - Ignore
              type: string
            unappliedPaymentAccountingCode:
              description: 'The accounting code for the unapplied payment.

                '
              type: string
            unappliedPaymentAccountingCodeType:
              description: 'The type of the accounting code for the unapplied payment.

                '
              type: string
          type: object
        gatewayId:
          description: 'The ID of the gateway instance that processes the refund.

            '
          type: string
        gatewayResponse:
          description: 'The message returned from the payment gateway for the refund.
            This message is gateway-dependent.

            '
          type: string
        gatewayResponseCode:
          description: 'The code returned from the payment gateway for the refund.
            This code is gateway-dependent.

            '
          type: string
        gatewayState:
          description: "The status of the refund in the gateway. \n"
          enum:
          - MarkedForSubmission
          - Submitted
          - Settled
          - NotSubmitted
          - FailedToSettle
          type: string
        id:
          description: 'The ID of the refund.

            '
          type: string
        markedForSubmissionOn:
          description: 'The date and time when a refund was marked and waiting for
            batch submission to the payment process, in `yyyy-mm-dd hh:mm:ss` format.

            '
          format: date-time
          type: string
        methodType:
          description: "How an external refund was issued to a customer. \n"
          enum:
          - ACH
          - Cash
          - Check
          - CreditCard
          - PayPal
          - WireTransfer
          - DebitCard
          - CreditCardReferenceTransaction
          - BankTransfer
          - Other
          type: string
        number:
          description: 'The unique identification number of the refund.

            '
          type: string
        paymentId:
          description: 'The ID of the payment that is refunded.

            '
          type: string
        paymentMethodId:
          description: 'The unique ID of the payment method that the customer used
            to make the refund.

            '
          type: string
        paymentMethodSnapshotId:
          description: 'The unique ID of the payment method snapshot, which is a copy
            of the particular payment method used in a transaction.

            '
          type: string
        reasonCode:
          description: 'A code identifying the reason for the transaction.

            '
          type: string
        referenceId:
          description: 'The transaction ID returned by the payment gateway for an
            electronic refund. Use this field to reconcile refunds between your gateway
            and Zuora Payments.

            '
          type: string
        refundDate:
          description: 'The date when the refund takes effect, in `yyyy-mm-dd` format.
            For example, 2017-03-01.

            '
          format: date
          type: string
        refundTransactionTime:
          description: 'The date and time when the refund was issued, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        secondRefundReferenceId:
          description: 'The transaction ID returned by the payment gateway if there
            is an additional transaction for the refund. Use this field to reconcile
            payments between your gateway and Zuora Payments.

            '
          type: string
        settledOn:
          description: 'The date and time when the refund was settled in the payment
            processor, in `yyyy-mm-dd hh:mm:ss` format. This field is used by the
            Spectrum gateway only and not applicable to other gateways.

            '
          format: date-time
          type: string
        softDescriptor:
          description: 'A payment gateway-specific field that maps Zuora to other
            gateways.

            '
          type: string
        softDescriptorPhone:
          description: 'A payment gateway-specific field that maps Zuora to other
            gateways.

            '
          type: string
        status:
          description: "The status of the refund. \n"
          enum:
          - Processed
          - Canceled
          - Error
          - Processing
          type: string
        submittedOn:
          description: 'The date and time when the refund was submitted, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        type:
          description: "The type of the refund. \n"
          enum:
          - External
          - Electronic
          type: string
        updatedById:
          description: 'The ID of the Zuora user who last updated the refund.

            '
          type: string
        updatedDate:
          description: 'The date and time when the refund was last updated, in `yyyy-mm-dd
            hh:mm:ss` format. For example, 2017-03-02 15:36:10.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/RefundObjectNSFields'
    - $ref: '#/definitions/RefundObjectCustomFields'
    title: refunds
  GETRevenueEventDetailType:
    allOf:
    - properties:
        accountId:
          description: 'An account ID.

            '
          type: string
        createdOn:
          description: 'The date when the record was created in YYYY-MM-DD HH:MM:SS
            format.

            '
          format: date-time
          type: string
        currency:
          description: 'The type of currency used.

            '
          type: string
        eventType:
          description: |
            Label of the revenue event type. Revenue event type labels can be duplicated. You can configure your revenue event type labels by navigating to **Settings > Finance > Configure Revenue Event Types** in the Zuora UI.

            Note that `Credit Memo Posted` and `Debit Memo Posted` are only available if you enable the Invoice Settlement feature.
          enum:
          - Invoice Posted
          - Invoice Item Adjustment Created
          - Invoice Canceled
          - Invoice Item Adjustment Canceled
          - Revenue Distributed
          - Credit Memo Posted
          - Debit Memo Posted
          type: string
        notes:
          description: 'Additional information about this record.

            '
          type: string
        number:
          description: 'The revenue event number created when a revenue event occurs.

            '
          type: string
        recognitionEnd:
          description: "The end date of a recognition period in YYYY-MM-DD format.\
            \ \n\nThe maximum difference of the recognitionStart and recognitionEnd\
            \ date fields is equal to 250 multiplied by the length of an accounting\
            \ period.\n"
          format: date
          type: string
        recognitionStart:
          description: 'The start date of a recognition period in YYYY-MM-DD format.

            '
          format: date
          type: string
        revenueItems:
          description: 'Revenue items are listed in ascending order by the accounting
            period start date.

            '
          items:
            $ref: '#/definitions/GETRevenueItemType'
          type: array
        subscriptionChargeId:
          description: 'The original subscription charge ID.

            '
          type: string
        subscriptionId:
          description: 'The original subscription ID.

            '
          type: string
        success:
          description: 'Returns `true` if the request was processed successfully.

            '
          type: boolean
      type: object
    - $ref: '#/definitions/RevenueEventObjectCustomFields'
  GETRevenueEventDetailWithoutSuccessType:
    allOf:
    - properties:
        accountId:
          description: 'An account ID.

            '
          type: string
        createdOn:
          description: 'The date when the record was created in YYYY-MM-DD HH:MM:SS
            format.

            '
          format: date-time
          type: string
        currency:
          description: The type of currency used.
          type: string
        eventType:
          description: |
            Label of the revenue event type. Revenue event type labels can be duplicated. You can configure your revenue event type labels by navigating to **Settings > Finance > Configure Revenue Event Types** in the Zuora UI.

            Note that `Credit Memo Posted` and `Debit Memo Posted` are only available if you enable the Invoice Settlement feature.
          enum:
          - Invoice Posted
          - Invoice Item Adjustment Created
          - Invoice Canceled
          - Invoice Item Adjustment Canceled
          - Revenue Distributed
          - Credit Memo Posted
          - Debit Memo Posted
          type: string
        notes:
          description: 'Additional information about this record.

            '
          type: string
        number:
          description: 'The revenue event number created when a revenue event occurs.

            '
          type: string
        recognitionEnd:
          description: "The end date of a recognition period in YYYY-MM-DD format.\
            \ \n\nThe maximum difference of the recognitionStart and recognitionEnd\
            \ date fields is equal to 250 multiplied by the length of an accounting\
            \ period.\n"
          format: date
          type: string
        recognitionStart:
          description: 'The start date of a recognition period in YYYY-MM-DD format.

            '
          format: date
          type: string
        revenueItems:
          description: 'Revenue items are listed in ascending order by the accounting
            period start date.

            '
          items:
            $ref: '#/definitions/GETRevenueItemType'
          type: array
        subscriptionChargeId:
          description: 'The original subscription charge ID.

            '
          type: string
        subscriptionId:
          description: 'The original subscription ID.

            '
          type: string
      type: object
    - $ref: '#/definitions/RevenueEventObjectCustomFields'
    title: revenueEventDetails
  GETRevenueEventDetailsType:
    properties:
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      revenueEventDetails:
        description: 'Represents a change to a revenue schedule, such as posting an
          invoice or distributing revenue.

          '
        items:
          $ref: '#/definitions/GETRevenueEventDetailWithoutSuccessType'
        type: array
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  GETRevenueItemType:
    allOf:
    - properties:
        accountingPeriodEndDate:
          description: "The accounting period end date. The accounting period end\
            \ date of the open-ended accounting period is null. \n"
          format: date
          type: string
        accountingPeriodName:
          description: "Name of the accounting period. The open-ended accounting period\
            \ is named `Open-Ended`. \n"
          type: string
        accountingPeriodStartDate:
          description: 'The accounting period start date.

            '
          format: date
          type: string
        amount:
          description: 'The revenue schedule amount, which is the sum of all revenue
            items. This field cannot be null and must be formatted based on the currency,
            such as *JPY 30* or *USD 30.15*. Test out the currency to ensure you are
            using the proper formatting otherwise, the response will fail and this
            error message is returned:  `Allocation amount with wrong decimal places.`

            '
          format: decimal
          type: string
        currency:
          description: "The type of currency used. \n"
          type: string
        isAccountingPeriodClosed:
          description: "Indicates if the accounting period is closed or open. \n"
          type: boolean
      type: object
    - $ref: '#/definitions/RevenueEventItemObjectCustomFields'
    title: revenueItems
  GETRevenueItemTypeResponse:
    properties:
      accountingPeriodEndDate:
        description: 'The accounting period end date. The accounting period end date
          of the open-ended accounting period is null.

          '
        format: date
        type: string
      accountingPeriodName:
        description: "Name of the accounting period. The open-ended accounting period\
          \ is named Open-Ended. \n"
        type: string
      accountingPeriodStartDate:
        description: 'The accounting period start date.

          '
        format: date
        type: string
      amount:
        description: 'The amount of the revenue item.

          '
        format: decimal
        type: string
      currency:
        description: "The type of currency used. \n"
        type: string
      isAccountingPeriodClosed:
        description: "Indicates if the accounting period is closed or open. \n"
        type: boolean
    title: revenueItems
    type: object
  GETRevenueItemsType:
    properties:
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      revenueItems:
        description: 'Revenue items are listed in ascending order by the accounting
          period start date.

          '
        items:
          $ref: '#/definitions/GETRevenueItemType'
        type: array
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  GETRevenueRecognitionRuleAssociationType:
    properties:
      revenueRecognitionRuleName:
        description: |
          The name of the revenue recognition rule governing the revenue
          schedule.
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  GETRevenueStartDateSettingType:
    properties:
      startDate:
        description: 'The date on which revenue automation starts. This is the first
          day of an accounting period.

          '
        format: date
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
      updatedBy:
        description: 'The user who made the change.

          '
        type: string
      updatedOn:
        description: 'The date when the revenue automation start date was set.

          '
        format: date-time
        type: string
    type: object
  GETRsRevenueItemType:
    allOf:
    - properties:
        accountingPeriodEndDate:
          description: 'The accounting period end date. The accounting period end
            date of the open-ended accounting period is null.

            '
          format: date
          type: string
        accountingPeriodName:
          description: 'The name of the accounting period. The open-ended accounting
            period is named `Open-Ended`.

            '
          type: string
        accountingPeriodStartDate:
          description: 'The accounting period start date.

            '
          format: date
          type: string
        amount:
          description: 'The amount of the revenue item.

            '
          format: decimal
          type: string
        currency:
          description: 'The type of currency used.

            '
          type: string
        deferredRevenueAccountingCode:
          description: 'The accounting code for deferred revenue, such as Monthly
            Recurring Liability. Required only when `overrideChargeAccountingCodes`
            is `true`. Otherwise, this value is ignored.

            '
          type: string
        deferredRevenueAccountingCodeType:
          description: 'The type of the deferred revenue accounting code, such as
            Deferred Revenue. Required only when `overrideChargeAccountingCodes` is
            `true`. Otherwise, this value is ignored.

            '
          type: string
        isAccountingPeriodClosed:
          description: 'Indicates if the accounting period is closed or open.

            '
          type: boolean
        recognizedRevenueAccountingCode:
          description: 'The accounting code for recognized revenue, such as Monthly
            Recurring Charges or Overage Charges. Required only when `overrideChargeAccountingCodes`
            is `true`. Otherwise, the value is ignored.

            '
          type: string
        recognizedRevenueAccountingCodeType:
          description: 'The type of the recognized revenue accounting code, such as
            Sales Revenue or Sales Discount. Required only when `overrideChargeAccountingCodes`
            is `true`. Otherwise, this value is ignored.

            '
          type: string
      type: object
    - $ref: '#/definitions/RevenueScheduleItemObjectCustomFields'
    title: revenueItems
  GETRsRevenueItemsType:
    properties:
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      revenueItems:
        description: 'Revenue items are listed in ascending order by the accounting
          period start date.

          '
        items:
          $ref: '#/definitions/GETRsRevenueItemType'
        type: array
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  GETSequenceSetResponse:
    description: ''
    properties:
      creditMemo:
        $ref: '#/definitions/CreditMemoEntityPrefix'
      debitMemo:
        $ref: '#/definitions/DebitMemoEntityPrefix'
      id:
        description: 'The unique ID of the sequence set. For example, 402892c74c9193cd014c96bbe7c101f9.

          '
        type: string
      invoice:
        $ref: '#/definitions/InvoiceEntityPrefix'
      name:
        description: 'The name of the sequence set.

          '
        type: string
      payment:
        $ref: '#/definitions/PaymentEntityPrefix'
      refund:
        $ref: '#/definitions/RefundEntityPrefix'
    title: sequenceSets
    type: object
  GETSequenceSetsResponse:
    description: ''
    properties:
      sequenceSets:
        description: 'Array of sequence sets configured for billing documents, payments,
          and refunds.

          '
        items:
          $ref: '#/definitions/GETSequenceSetResponse'
        type: array
      success:
        description: 'Indicates whether the call succeeded.

          '
        type: boolean
    type: object
  GETSubscriptionProductFeatureType:
    properties:
      description:
        description: 'Feature description.

          '
        type: string
      featureCode:
        description: 'Feature code, up to 255 characters long.

          '
        type: string
      id:
        description: 'SubscriptionProductFeature ID.

          '
        type: string
      name:
        description: 'Feature name, up to 255 characters long.

          '
        type: string
    title: subscriptionProductFeatures
    type: object
  GETSubscriptionRatePlanChargesType:
    allOf:
    - properties:
        applyDiscountTo:
          description: "Specifies the type of charges a specific discount applies\
            \ to. \n\nThis field is only used when applied to a discount charge model.\
            \ If you are not using a discount charge model, the value is null.\n\n\
            Possible values:\n\n* `RECURRING`\n* `USAGE`\n* `ONETIMERECURRING`\n*\
            \ `ONETIMEUSAGE`\n* `RECURRINGUSAGE`\n* `ONETIMERECURRINGUSAGE`\n"
          type: string
        billingDay:
          description: "Billing cycle day (BCD), which is when bill runs generate\
            \ invoices\nfor charges associated with the product rate plan charge or\
            \ the account.  \n\nValues:\n\n* `DefaultFromCustomer`\n* `SpecificDayofMonth(#)`\n\
            * `SubscriptionStartDay`\n* `ChargeTriggerDay`\n* `SpecificDayofWeek/dayofweek`:\
            \ in which dayofweek is the day in the week you define your billing periods\
            \ to start.\n\nIn the response data, a day-of-the-month value (`1`-`31`)\
            \ appears in place of the hash sign above (\"#\"). If this value exceeds\
            \ the number of days in a particular month, the last day of the month\
            \ is used as the BCD.\n"
          type: string
        billingPeriod:
          description: 'Allows billing period to be overridden on the rate plan charge.

            '
          type: string
        billingPeriodAlignment:
          description: |
            Possible values:

            * `AlignToCharge`
            * `AlignToSubscriptionStart`
            * `AlignToTermStart`
          type: string
        billingTiming:
          description: |
            The billing timing for the charge. This field is only used if the `ratePlanChargeType` value is `Recurring`.

            Possible values are:

            * `In Advance`
            * `In Arrears`

            **Note:** This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
          type: string
        chargedThroughDate:
          description: 'The date through which a customer has been billed for the
            charge.

            '
          format: date
          type: string
        currency:
          description: 'Currency used by the account. For example, `USD` or `EUR`.

            '
          type: string
        description:
          description: 'Description of the rate plan charge.

            '
          type: string
        discountAmount:
          description: 'The amount of the discount.

            '
          type: number
        discountApplyDetails:
          description: "Container for the application details about a discount rate\
            \ plan charge. \n\nOnly discount rate plan charges have values in this\
            \ field.\n"
          items:
            $ref: '#/definitions/GETDiscountApplyDetailsType'
          type: array
        discountClass:
          description: |
            The class that the discount belongs to. The discount class defines the order in which discount rate plan charges are applied.

            For more information, see [Manage Discount Classes](https://knowledgecenter.zuora.com/BC_Subscription_Management/Product_Catalog/B_Charge_Models/Manage_Discount_Classes).
          type: string
        discountLevel:
          description: 'The level of the discount. Values: `RatePlan`, `Subscription`,
            `Account`.

            '
          type: string
        discountPercentage:
          description: 'The amount of the discount as a percentage.

            '
          type: number
        dmrc:
          description: 'The change (delta) of monthly recurring charge exists when
            the change in monthly recurring revenue caused by an amendment or a new
            subscription.

            '
          type: string
        done:
          description: 'A value of `true` indicates that an invoice for a charge segment
            has been completed. A value of `false` indicates that an invoice has not
            bee completed for the charge segment.

            '
          type: boolean
        dtcv:
          description: 'After an amendment or an AutomatedPriceChange event, `dtcv`
            displays the change (delta) for the total contract value (TCV) amount
            for this charge, compared with its previous value with recurring charge
            types.

            '
          type: string
        effectiveEndDate:
          description: 'The effective end date of the rate plan charge.

            '
          format: date
          type: string
        effectiveStartDate:
          description: 'The effective start date of the rate plan charge.

            '
          format: date
          type: string
        endDateCondition:
          description: |
            Defines when the charge ends after the charge trigger date.

            If the subscription ends before the charge end date, the charge ends when the subscription ends. But if the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge will end on the charge end date.

            Values:

            * `Subscription_End`
            * `Fixed_Period`
            * `Specific_End_Date`
          type: string
        id:
          description: 'Rate plan charge ID.

            '
          type: string
        includedUnits:
          description: 'Specifies the number of units in the base set of units.

            '
          type: number
        listPriceBase:
          description: |
            List price base; possible values are:

            * `Per_Billing_Period`
            * `Per_Month`
            * `Per_Week`
          type: string
        model:
          description: |
            Charge model; possible values are:

            * `FlatFee`
            * `PerUnit`
            * `Overage`
            * `Volume`
            * `Tiered`
            * `TieredWithOverage`
            * `DiscountFixedAmount`
            * `DiscountPercentage`
          type: string
        mrr:
          description: 'Monthly recurring revenue of the rate plan charge.

            '
          type: string
        name:
          description: 'Charge name.

            '
          type: string
        number:
          description: 'Charge number.

            '
          type: string
        numberOfPeriods:
          description: 'Specifies the number of periods to use when calculating charges
            in an overage smoothing charge model.

            '
          format: int64
          type: integer
        originalChargeId:
          description: 'The original ID of the rate plan charge.

            '
          type: string
        overageCalculationOption:
          description: 'Determines when to calculate overage charges.

            '
          type: string
        overagePrice:
          description: 'The price for units over the allowed amount.

            '
          type: number
        overageUnusedUnitsCreditOption:
          description: 'Determines whether to credit the customer with unused units
            of usage.

            '
          type: string
        price:
          description: 'The price associated with the rate plan charge expressed as
            a decimal.

            '
          type: number
        priceChangeOption:
          description: "When the following is true:\n\n1. AutomatedPriceChange setting\
            \ is on\n\n2. Charge type is not one-time\n\n3. Charge model is not discount\
            \ percentage\n\nThen an automatic price change can have a value for when\
            \ a termed subscription is renewed. \n\nValues (one of the following):\n\
            \n* `NoChange` (default)\n* `SpecificPercentageValue`\n* `UseLatestProductCatalogPricing`\n"
          type: string
        priceIncreasePercentage:
          description: 'A planned future price increase amount as a percentage.

            '
          type: number
        pricingSummary:
          description: 'Concise description of rate plan charge model.

            '
          type: string
        processedThroughDate:
          description: 'The date until when charges have been processed. When billing
            in arrears, such as usage, this field value is the the same as the `ChargedThroughDate`
            value. This date is the earliest date when a charge can be amended.

            '
          format: date
          type: string
        productRatePlanChargeId:
          description: ''
          type: string
        quantity:
          description: 'The quantity of units, such as the number of authors in a
            hosted wiki service. Valid for all charge models except for Flat Fee pricing.

            '
          type: number
        ratingGroup:
          description: "Specifies a rating group based on which usage records are\
            \ rated.\n\n**Note:** This feature is in **Limited Availability**. If\
            \ you wish to have access to the feature, submit a request at [Zuora Global\
            \ Support](http://support.zuora.com/).\n\nPossible values:\n\n- `ByBillingPeriod`\
            \ (default): The rating is based on all the usages in a billing period.\n\
            - `ByUsageStartDate`: The rating is based on all the usages on the same\
            \ usage start date. \n- `ByUsageRecord`: The rating is based on each usage\
            \ record.\n- `ByUsageUpload`: The rating is based on all the  usages in\
            \ a uploaded usage file (`.xls` or `.csv`).\n- `ByGroupId`: The rating\
            \ is based on all the usages in a custom group.\n\n**Note:** \n- The `ByBillingPeriod`\
            \ value can be applied for all charge models. \n- The `ByUsageStartDate`,\
            \ `ByUsageRecord`, and `ByUsageUpload` values can only be applied for\
            \ per unit, volume pricing, and tiered pricing charge models. \n- The\
            \ `ByGroupId` value is only available if you have the Active Rating feature\
            \ enabled.\n- Use this field only for Usage charges. One-Time Charges\
            \ and Recurring Charges return `NULL`.\n"
          type: string
        segment:
          description: 'The identifying number of the subscription rate plan segment.
            Segments are numbered sequentially, starting with 1.

            '
          format: int64
          type: integer
        smoothingModel:
          description: |
            Specifies when revenue recognition begins. When charge model is `Overage` or `TieredWithOverage`, `smoothingModel` will be one of the following values:

            * `ContractEffectiveDate`
            * `ServiceActivationDate`
            * `CustomerAcceptanceDate`
          type: string
        specificBillingPeriod:
          description: 'Customizes the number of month or week for the charges billing
            period. This field is required if you set the value of the `BillingPeriod`
            field to `Specific_Months` or `Specific_Weeks`.

            '
          format: int64
          type: integer
        specificEndDate:
          description: 'The specific date on which the charge ends. If the subscription
            ends before the specific end date, the charge ends when the subscription
            ends. But if the subscription end date is subsequently changed through
            a Renewal, or Terms and Conditions amendment, the charge will end on the
            specific end date.

            '
          format: date
          type: string
        tcv:
          description: 'The total contract value.

            '
          type: string
        tiers:
          description: 'One or many defined ranges with distinct pricing.

            '
          items:
            $ref: '#/definitions/GETTierType'
          type: array
        triggerDate:
          description: 'The date that the rate plan charge will be triggered.

            '
          format: date
          type: string
        triggerEvent:
          description: "The event that will cause the rate plan charge to be triggered.\n\
            \nPossible values: \n\n* `ContractEffective`\n* `ServiceActivation`\n\
            * `CustomerAcceptance`\n* `SpecificDate`\n"
          type: string
        type:
          description: 'Charge type. Possible values are: `OneTime`, `Recurring`,
            `Usage`.

            '
          type: string
        unusedUnitsCreditRates:
          description: "Specifies the rate to credit a customer for unused units of\
            \ usage. This field is applicable only for overage charge models when\
            \ the \n`OverageUnusedUnitsCreditOption` field value is `CreditBySpecificRate`.\n"
          type: number
        uom:
          description: "Specifies the units to measure usage. \n"
          type: string
        upToPeriods:
          description: |
            Specifies the length of the period during which the charge is active. If this period ends before the subscription ends, the charge ends when this period ends.

            If the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge end date will change accordingly up to the original period end.
          type: string
        upToPeriodsType:
          description: "The period type used to define when the charge ends. \n\n\
            Values:\n\n* `Billing_Periods`\n* `Days`\n* `Weeks`\n* `Months`\n* `Years`\n"
          type: string
        usageRecordRatingOption:
          description: "Determines how Zuora processes usage records for per-unit\
            \ usage charges. \n"
          type: string
        version:
          description: 'Rate plan charge revision number.

            '
          format: int64
          type: integer
      type: object
    - $ref: '#/definitions/RatePlanChargeObjectCustomFields'
    title: ratePlanCharges
  GETSubscriptionRatePlanType:
    allOf:
    - properties:
        id:
          description: 'Rate plan ID.

            '
          type: string
        lastChangeType:
          description: |
            The last amendment on the rate plan.

            Possible Values:

            * `Add`
            * `Update`
            * `Remove`
          type: string
        productId:
          description: ''
          type: string
        productName:
          description: ''
          type: string
        productRatePlanId:
          description: ''
          type: string
        productSku:
          description: 'The unique SKU for the product.

            '
          type: string
        ratePlanCharges:
          description: 'Container for one or more charges.

            '
          items:
            $ref: '#/definitions/GETSubscriptionRatePlanChargesType'
          type: array
        ratePlanName:
          description: 'Name of the rate plan.

            '
          type: string
        subscriptionProductFeatures:
          description: "Container for one or more features. \n\nOnly available when\
            \ the following settings are enabled:\n\n* The Entitlements feature in\
            \ your tenant.\n\n* The Enable Feature Specification in Product and Subscriptions\
            \ setting in Zuora Billing Settings"
          items:
            $ref: '#/definitions/GETSubscriptionProductFeatureType'
          type: array
      type: object
    - $ref: '#/definitions/RatePlanObjectCustomFields'
    title: ratePlans
  GETSubscriptionType:
    allOf:
    - properties:
        accountId:
          description: ''
          type: string
        accountName:
          description: ''
          type: string
        accountNumber:
          description: ''
          type: string
        autoRenew:
          description: 'If `true`, the subscription automatically renews at the end
            of the term. Default is `false`.

            '
          type: boolean
        contractEffectiveDate:
          description: 'Effective contract date for this subscription, as yyyy-mm-dd.

            '
          format: date
          type: string
        contractedMrr:
          description: 'Monthly recurring revenue of the subscription.

            '
          type: number
        currentTerm:
          description: 'The length of the period for the current subscription term.

            '
          format: int64
          type: integer
        currentTermPeriodType:
          description: |
            The period type for the current subscription term.

            Values are:

            * `Month` (default)
            * `Year`
            * `Day`
            * `Week`
          type: string
        customerAcceptanceDate:
          description: 'The date on which the services or products within a subscription
            have been accepted by the customer, as yyyy-mm-dd.

            '
          format: date
          type: string
        id:
          description: 'Subscription ID.

            '
          type: string
        initialTerm:
          description: 'The length of the period for the first subscription term.

            '
          format: int64
          type: integer
        initialTermPeriodType:
          description: |
            The period type for the first subscription term.

            Values are:

            * `Month` (default)
            * `Year`
            * `Day`
            * `Week`
          type: string
        invoiceOwnerAccountId:
          description: ''
          type: string
        invoiceOwnerAccountName:
          description: ''
          type: string
        invoiceOwnerAccountNumber:
          description: ''
          type: string
        invoiceSeparately:
          description: "Separates a single subscription from other subscriptions and\
            \ creates an invoice for the subscription. \n\nIf the value is `true`,\
            \ the subscription is billed separately from other subscriptions. If the\
            \ value is `false`, the subscription is included with other subscriptions\
            \ in the account invoice.\n"
          type: string
        notes:
          description: 'A string of up to 65,535 characters.

            '
          type: string
        orderNumber:
          description: "The order number of the order in which the changes on the\
            \ subscription are made. \n\n**Note:** This field is only available if\
            \ you have the [Order Metrics](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AA_Overview_of_Orders#Order_Metrics)\
            \ feature enabled. If you wish to have access to the feature, submit a\
            \ request at [Zuora Global Support](http://support.zuora.com/). We will\
            \ investigate your use cases and data before enabling this feature for\
            \ you.\n"
          type: string
        ratePlans:
          description: 'Container for rate plans.

            '
          items:
            $ref: '#/definitions/GETSubscriptionRatePlanType'
          type: array
        renewalSetting:
          description: "Specifies whether a termed subscription will remain `TERMED`\
            \ or change to `EVERGREEN` when it is renewed. \n\nValues are:\n\n* `RENEW_WITH_SPECIFIC_TERM`\
            \ (default)\n* `RENEW_TO_EVERGREEN`\n"
          type: string
        renewalTerm:
          description: 'The length of the period for the subscription renewal term.

            '
          format: int64
          type: integer
        renewalTermPeriodType:
          description: |
            The period type for the subscription renewal term.

            Values are:

            * `Month` (default)
            * `Year`
            * `Day`
            * `Week`
          type: string
        serviceActivationDate:
          description: 'The date on which the services or products within a subscription
            have been activated and access has been provided to the customer, as yyyy-mm-dd

            '
          format: date
          type: string
        status:
          description: |
            Subscription status; possible values are:

            * `Draft`
            * `Pending Activation`
            * `Pending Acceptance`
            * `Active`
            * `Cancelled`
            * `Suspended` (This value is in Limited Availability.)
          type: string
        subscriptionNumber:
          description: ''
          type: string
        subscriptionStartDate:
          description: 'Date the subscription becomes effective.

            '
          format: date
          type: string
        termEndDate:
          description: 'Date the subscription term ends. If the subscription is evergreen,
            this is null or is the cancellation date (if one has been set).

            '
          format: date
          type: string
        termStartDate:
          description: 'Date the subscription term begins. If this is a renewal subscription,
            this date is different from the subscription start date.

            '
          format: date
          type: string
        termType:
          description: 'Possible values are: `TERMED`, `EVERGREEN`.

            '
          type: string
        totalContractedValue:
          description: 'Total contracted value of the subscription.

            '
          type: number
      type: object
    - $ref: '#/definitions/SubscriptionObjectQTFields'
    - $ref: '#/definitions/SubscriptionObjectNSFields'
    - $ref: '#/definitions/SubscriptionObjectCustomFields'
    title: subscriptions
  GETSubscriptionTypeWithSuccess:
    allOf:
    - properties:
        accountId:
          description: The ID of the account associated with this subscription.
          type: string
        accountName:
          description: The name of the account associated with this subscription.
          type: string
        accountNumber:
          description: The number of the account associated with this subscription.
          type: string
        autoRenew:
          description: 'If `true`, the subscription automatically renews at the end
            of the term. Default is `false`.

            '
          type: boolean
        contractEffectiveDate:
          description: 'Effective contract date for this subscription, as yyyy-mm-dd.

            '
          format: date
          type: string
        contractedMrr:
          description: 'Monthly recurring revenue of the subscription.

            '
          type: number
        currentTerm:
          description: 'The length of the period for the current subscription term.

            '
          format: int64
          type: integer
        currentTermPeriodType:
          description: |
            The period type for the current subscription term.

            Values are:

            * `Month` (default)
            * `Year`
            * `Day`
            * `Week`
          type: string
        customerAcceptanceDate:
          description: 'The date on which the services or products within a subscription
            have been accepted by the customer, as yyyy-mm-dd.

            '
          format: date
          type: string
        id:
          description: 'Subscription ID.

            '
          type: string
        initialTerm:
          description: 'The length of the period for the first subscription term.

            '
          format: int64
          type: integer
        initialTermPeriodType:
          description: |
            The period type for the first subscription term.

            Values are:

            * `Month` (default)
            * `Year`
            * `Day`
            * `Week`
          type: string
        invoiceOwnerAccountId:
          description: ''
          type: string
        invoiceOwnerAccountName:
          description: ''
          type: string
        invoiceOwnerAccountNumber:
          description: ''
          type: string
        invoiceSeparately:
          description: "Separates a single subscription from other subscriptions and\
            \ creates an invoice for the subscription. \n\nIf the value is `true`,\
            \ the subscription is billed separately from other subscriptions. If the\
            \ value is `false`, the subscription is included with other subscriptions\
            \ in the account invoice.\n"
          type: string
        notes:
          description: 'A string of up to 65,535 characters.

            '
          type: string
        orderNumber:
          description: "The order number of the order in which the changes on the\
            \ subscription are made. \n\n**Note:** This field is only available if\
            \ you have the [Order Metrics](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AA_Overview_of_Orders#Order_Metrics)\
            \ feature enabled. If you wish to have access to the feature, submit a\
            \ request at [Zuora Global Support](http://support.zuora.com/). We will\
            \ investigate your use cases and data before enabling this feature for\
            \ you.\n"
          type: string
        ratePlans:
          description: 'Container for rate plans.

            '
          items:
            $ref: '#/definitions/GETSubscriptionRatePlanType'
          type: array
        renewalSetting:
          description: "Specifies whether a termed subscription will remain `TERMED`\
            \ or change to `EVERGREEN` when it is renewed. \n\nValues are:\n\n* `RENEW_WITH_SPECIFIC_TERM`\
            \ (default)\n* `RENEW_TO_EVERGREEN`\n"
          type: string
        renewalTerm:
          description: 'The length of the period for the subscription renewal term.

            '
          format: int64
          type: integer
        renewalTermPeriodType:
          description: |
            The period type for the subscription renewal term.

            Values are:

            * `Month` (default)
            * `Year`
            * `Day`
            * `Week`
          type: string
        serviceActivationDate:
          description: 'The date on which the services or products within a subscription
            have been activated and access has been provided to the customer, as yyyy-mm-dd

            '
          format: date
          type: string
        status:
          description: |
            Subscription status; possible values are:

            * `Draft`
            * `Pending Activation`
            * `Pending Acceptance`
            * `Active`
            * `Cancelled`
            * `Suspended` (This value is in Limited Availability.)
          type: string
        subscriptionNumber:
          description: Subscription number.
          type: string
        subscriptionStartDate:
          description: 'Date the subscription becomes effective.

            '
          format: date
          type: string
        success:
          description: 'Returns `true` if the request was processed successfully.

            '
          type: boolean
        termEndDate:
          description: 'Date the subscription term ends. If the subscription is evergreen,
            this is null or is the cancellation date (if one has been set).

            '
          format: date
          type: string
        termStartDate:
          description: 'Date the subscription term begins. If this is a renewal subscription,
            this date is different from the subscription start date.

            '
          format: date
          type: string
        termType:
          description: 'Possible values are: `TERMED`, `EVERGREEN`.

            '
          type: string
        totalContractedValue:
          description: 'Total contracted value of the subscription.

            '
          type: number
      type: object
    - $ref: '#/definitions/SubscriptionObjectQTFields'
    - $ref: '#/definitions/SubscriptionObjectNSFields'
    - $ref: '#/definitions/SubscriptionObjectCustomFields'
  GETSubscriptionWrapper:
    properties:
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      subscriptions:
        description: 'Array of subscriptions.

          '
        items:
          $ref: '#/definitions/GETSubscriptionType'
        type: array
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  GETTaxationItemListType:
    properties:
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
      taxationItems:
        description: 'Container for taxation items.

          '
        items:
          $ref: '#/definitions/GETTaxationItemTypewithSuccess'
        type: array
    type: object
  GETTaxationItemType:
    allOf:
    - properties:
        createdById:
          description: "The ID of the Zuora user who created the taxation item. \n"
          type: string
        createdDate:
          description: 'The date and time when the taxation item was created in the
            Zuora system, in `yyyy-mm-dd hh:mm:ss` format.

            '
          format: date-time
          type: string
        exemptAmount:
          description: 'The amount of taxes or VAT for which the customer has an exemption.

            '
          format: double
          type: number
        financeInformation:
          description: 'Container for the finance information related to the taxation
            item.

            '
          properties:
            onAccountAccountingCode:
              description: 'The accounting code that maps to an on account in your
                accounting system.

                '
              type: string
            onAccountAccountingCodeType:
              description: 'The type of the accounting code that maps to an on account
                in your accounting system.

                '
              type: string
            salesTaxPayableAccountingCode:
              description: 'The accounting code for the sales taxes payable.

                '
              type: string
            salesTaxPayableAccountingCodeType:
              description: 'The type of the accounting code for the sales taxes payable.

                '
              type: string
          type: object
        id:
          description: 'The ID of the taxation item.

            '
          type: string
        jurisdiction:
          description: 'The jurisdiction that applies the tax or VAT. This value is
            typically a state, province, county, or city.

            '
          type: string
        locationCode:
          description: "The identifier for the location based on the value of the\
            \ `taxCode` field. \n"
          type: string
        memoItemId:
          description: 'The ID of the credit or debit memo associated with the taxation
            item.

            '
          type: string
        name:
          description: 'The name of the taxation item.

            '
          type: string
        sourceTaxItemId:
          description: 'The ID of the taxation item of the invoice, which the credit
            or debit memo is created from.

            '
          type: string
        success:
          description: Returns `true` if the request was processed successfully.
          type: boolean
        taxAmount:
          description: 'The amount of the tax applied to the credit or debit memo.

            '
          format: double
          type: number
        taxCode:
          description: 'The tax code identifies which tax rules and tax rates to apply
            to a specific credit or debit memo.

            '
          type: string
        taxCodeDescription:
          description: 'The description of the tax code.

            '
          type: string
        taxDate:
          description: 'The date when the tax is applied to the credit or debit memo.

            '
          format: date
          type: string
        taxRate:
          description: 'The tax rate applied to the credit or debit memo.

            '
          format: double
          type: number
        taxRateDescription:
          description: 'The description of the tax rate.

            '
          type: string
        taxRateType:
          description: 'The type of the tax rate applied to the credit or debit memo.

            '
          enum:
          - Percentage
          - FlatFee
          type: string
        updatedById:
          description: 'The ID of the Zuora user who last updated the taxation item.

            '
          type: string
        updatedDate:
          description: "The date and time when the taxation item was last updated,\
            \ in `yyyy-mm-dd hh:mm:ss` format. \n"
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/TaxationItemObjectCustomFields'
  GETTaxationItemTypewithSuccess:
    allOf:
    - properties:
        createdById:
          description: 'The ID of the Zuora user who created the taxation item.

            '
          type: string
        createdDate:
          description: 'The date and time when the taxation item was created in the
            Zuora system, in `yyyy-mm-dd hh:mm:ss` format.

            '
          format: date-time
          type: string
        exemptAmount:
          description: 'The amount of taxes or VAT for which the customer has an exemption.

            '
          format: double
          type: number
        financeInformation:
          description: 'Container for the finance information related to the taxation
            item.

            '
          properties:
            onAccountAccountingCode:
              description: 'The accounting code that maps to an on account in your
                accounting system.

                '
              type: string
            onAccountAccountingCodeType:
              description: 'The type of the accounting code that maps to an on account
                in your accounting system.

                '
              type: string
            salesTaxPayableAccountingCode:
              description: 'The accounting code for the sales taxes payable.

                '
              type: string
            salesTaxPayableAccountingCodeType:
              description: 'The type of the accounting code for the sales taxes payable.

                '
              type: string
          type: object
        id:
          description: 'The ID of the taxation item.

            '
          type: string
        jurisdiction:
          description: 'The jurisdiction that applies the tax or VAT. This value is
            typically a state, province, county, or city.

            '
          type: string
        locationCode:
          description: 'The identifier for the location based on the value of the
            `taxCode` field.

            '
          type: string
        memoItemId:
          description: 'The ID of the credit or debit memo associated with the taxation
            item.

            '
          type: string
        name:
          description: 'The name of the taxation item.

            '
          type: string
        sourceTaxItemId:
          description: 'The ID of the taxation item of the invoice, which the credit
            or debit memo is created from.

            '
          type: string
        taxAmount:
          description: 'The amount of the tax applied to the credit or debit memo.

            '
          format: double
          type: number
        taxCode:
          description: 'The tax code identifies which tax rules and tax rates to apply
            to a specific credit or debit memo.

            '
          type: string
        taxCodeDescription:
          description: 'The description of the tax code.

            '
          type: string
        taxDate:
          description: 'The date when the tax is applied to the credit or debit memo.

            '
          format: date
          type: string
        taxRate:
          description: 'The tax rate applied to the credit or debit memo.

            '
          format: double
          type: number
        taxRateDescription:
          description: 'The description of the tax rate.

            '
          type: string
        taxRateType:
          description: 'The type of the tax rate applied to the credit or debit memo.

            '
          enum:
          - Percentage
          - FlatFee
          type: string
        updatedById:
          description: 'The ID of the Zuora user who last updated the taxation item.

            '
          type: string
        updatedDate:
          description: 'The date and time when the taxation item was last updated,
            in `yyyy-mm-dd hh:mm:ss` format.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/TaxationItemObjectCustomFields'
    title: taxationItems
  GETTaxationItemsOfCreditMemoItemType:
    allOf:
    - properties:
        data:
          description: 'Container for the taxation items of the credit memo item.

            '
          items:
            $ref: '#/definitions/GETCMTaxItemTypeNew'
          type: array
        nextPage:
          description: 'URL to retrieve the next page of the response if it exists;
            otherwise absent.

            '
          format: URL
          type: string
        success:
          description: Returns `true` if the request was processed successfully.
          type: boolean
      type: object
  GETTaxationItemsOfDebitMemoItemType:
    allOf:
    - properties:
        data:
          description: 'Container for the taxation items of the debit memo item.

            '
          items:
            $ref: '#/definitions/GETDMTaxItemTypeNew'
          type: array
        nextPage:
          description: 'URL to retrieve the next page of the response if it exists;
            otherwise absent.

            '
          format: URL
          type: string
        success:
          description: Returns `true` if the request was processed successfully.
          type: boolean
      type: object
  GETTierType:
    properties:
      endingUnit:
        description: 'Decimal defining end of tier range.

          '
        type: number
      price:
        description: 'The decimal value of the tiered charge model. If the charge
          model is not a tiered type then this price field will be null and the `price`
          field directly under the `productRatePlanCharges` applies.

          '
        type: number
      priceFormat:
        description: 'Tier price format. Allowed values: `flat fee`, `per unit`.

          '
        type: string
      startingUnit:
        description: 'Decimal defining start of tier range.

          '
        type: number
      tier:
        description: 'Unique number of the tier.

          '
        format: int64
        type: integer
    title: tiers
    type: object
  GETUsageType:
    allOf:
    - properties:
        accountId:
          description: 'Customer account ID.

            '
          type: string
        accountName:
          description: 'Customer account name.

            '
          type: string
        accountNumber:
          description: 'Customer account number.

            '
          type: string
        chargeNumber:
          description: 'Number of the rate-plan charge that pays for this usage.

            '
          type: string
        id:
          description: 'Unique ID for the usage item.

            '
          type: string
        quantity:
          description: 'Number of units used.

            '
          format: decimal
          type: string
        sourceName:
          description: 'Source of the usage data. Possible values are: `Import`, `API`.

            '
          type: string
        startDateTime:
          description: 'Start date of the time period in which usage is tracked. Zuora
            uses this field value to determine the usage date.

            '
          format: date-time
          type: string
        status:
          description: 'Possible values are: `Importing`, `Pending`, `Processed`.

            '
          type: string
        submissionDateTime:
          description: 'Date when usage was submitted.

            '
          format: date-time
          type: string
        subscriptionNumber:
          description: 'Number of the subscription covering this usage.

            '
          type: string
        unitOfMeasure:
          description: 'Unit used to measure consumption.

            '
          type: string
      type: object
    - $ref: '#/definitions/UsageObjectCustomFields'
    title: usage
  GETUsageWrapper:
    properties:
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
      usage:
        description: 'Contains one or more usage items.

          '
        items:
          $ref: '#/definitions/GETUsageType'
        type: array
    type: object
  GatewayOption:
    properties:
      name:
        description: 'The name of a gateway-specific parameter. This field is optional,
          but you must pass value for this field when using the `GatewayOptionData`
          field. Otherwise, the additional payment gateway parameter will not be mapped.

          '
        type: string
      value:
        description: 'The value of the gateway-specific parameter. This field is optional,
          but you must pass value for this field when using the `GatewayOptionData`
          field. Otherwise, the additional payment gateway parameter will not be mapped.

          '
        type: string
    type: object
  GenerateBillingDocumentResponseType:
    properties:
      creditMemos:
        description: |
          Container for generated credit memos.

          **Note:** This container is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
        items:
          $ref: '#/definitions/CreditMemoResponseType'
        type: array
      invoices:
        description: 'Container for generated invoics.

          '
        items:
          $ref: '#/definitions/InvoiceResponseType'
        type: array
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  GetAllOrdersResponseType:
    properties:
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      orders:
        items:
          $ref: '#/definitions/Order'
        type: array
      success:
        description: 'Indicates whether the call succeeded.

          '
        type: boolean
    type: object
  GetBillingPreviewRunResponse:
    description: get billingPreviewRun response
    properties:
      assumeRenewal:
        description: ''
        type: string
      batch:
        description: "The customer batch included in the billing preview run. \n"
        type: string
      chargeTypeToExclude:
        description: 'The charge types excluded from the forecast run.

          '
        type: string
      createdById:
        description: 'The ID of the user who created the billing preview run.

          '
        type: string
      createdDate:
        description: 'The date and time when the billing preview run was created.

          '
        format: datetime
        type: string
      endDate:
        description: 'The date and time when the billing preview run completes.

          '
        format: datetime
        type: string
      errorMessage:
        description: 'The error message generated by a failed billing preview run.

          '
        type: string
      includingEvergreenSubscription:
        description: 'Indicates if evergreen subscriptions are included in the billing
          preview run.

          '
        type: boolean
      resultFileUrl:
        description: |
          The URL of the zipped CSV result file generated by the billing preview run. This file contains the preview invoice item data and credit memo item data for the specified customers.

          **Note:** The credit memo item data is only available if you have Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
        type: string
      runNumber:
        description: 'The run number of the billing preview run.

          '
        type: string
      startDate:
        description: 'The date and time when the billing preview run starts.

          '
        format: datetime
        type: string
      status:
        description: "The status of the >billing preview run.\n\n**Possible values:**\
          \ \n\n* 0: Pending\n* 1: Processing\n* 2: Completed\n* 3: Error\n* 4: Canceled\n"
        type: string
      succeededAccounts:
        description: |
          The number of accounts for which preview invoice item data and credit memo item data was successfully generated during the billing preview run.

          **Note:** The credit memo item data is only available if you have Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
        type: integer
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
      targetDate:
        description: "The target date for the billing preview run.          \n"
        format: date
        type: string
      totalAccounts:
        description: 'The total number of accounts in the billing preview run.

          '
        format: int32
        type: integer
      updatedById:
        description: 'The ID of the user who last updated the billing preview run.

          '
        type: string
      updatedDate:
        description: 'The date and time when the billing preview run was last updated.

          '
        format: date-time
        type: string
    type: object
  GetCustomObjectsAllNamespacesResponse:
    properties:
      count:
        description: The number of namespaces for custom object definitions.
        example: 1
        type: integer
      namespaces:
        items:
          $ref: '#/definitions/CustomObjectsNamespace'
        type: array
    type: object
  GetDataQueryJobResponse:
    properties:
      data:
        $ref: '#/definitions/DataQueryJob'
    type: object
  GetDataQueryJobsResponse:
    properties:
      data:
        description: 'List of data query jobs. The query jobs are listed in reverse
          order of creation.

          '
        items:
          $ref: '#/definitions/DataQueryJob'
        type: array
    type: object
  GetDebitMemoApplicationPartCollectionType:
    properties:
      applicationParts:
        description: 'Container for application parts.

          '
        items:
          $ref: '#/definitions/GetDebitMemoApplicationPartType'
        type: array
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  GetDebitMemoApplicationPartType:
    properties:
      appliedAmount:
        description: 'The amount that is applied to the debit memo.

          '
        format: double
        type: number
      createdById:
        description: 'The ID of the Zuora user who created the payment or credit memo.

          '
        format: uuid
        type: string
      createdDate:
        description: 'The date and time when the payment or credit memo was created,
          in `yyyy-mm-dd hh:mm:ss` format. For example, 2017-12-01 15:31:10.

          '
        format: date-time
        type: string
      creditMemoId:
        description: 'The ID of credit memo that is applied to the specified debit
          memo.

          '
        format: uuid
        type: string
      paymentId:
        description: 'The ID of the payment that is applied to the specified debit
          memo.

          '
        format: uuid
        type: string
      updatedById:
        description: 'The ID of the Zuora user who last updated the payment or credit
          memo.

          '
        format: uuid
        type: string
      updatedDate:
        description: 'The date and time when the payment or credit memo was last updated,
          in `yyyy-mm-dd hh:mm:ss` format. For example, 2018-01-02 11:42:16.

          '
        format: date-time
        type: string
    title: applicationParts
    type: object
  GetHostedPageType:
    properties:
      pageId:
        description: 'Page ID of the Payment Page that Zuora assigns when it is created.

          '
        type: string
      pageName:
        description: 'Name of the Payment Page that specified during the page configuration.

          '
        type: string
      pageType:
        description: 'Payment method type of this Payment Page, e.g. ''Credit Card'',
          ''ACH'', or ''Bank Transfer''.

          '
        type: string
      pageVersion:
        description: 'Version of the Payment Page. 1 for Payment Pages 1.0 or 2 for
          Payment Pages 2.0.

          '
        type: string
    title: hostedpages
    type: object
  GetHostedPagesType:
    properties:
      hostedpages:
        description: 'Container for the hosted page information.

          '
        items:
          $ref: '#/definitions/GetHostedPageType'
        type: array
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  GetInvoiceApplicationPartCollectionType:
    properties:
      applicationParts:
        description: 'Container for application parts.

          '
        items:
          $ref: '#/definitions/GetInvoiceApplicationPartType'
        type: array
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  GetInvoiceApplicationPartType:
    properties:
      appliedAmount:
        description: 'The amount that is applied to the invoice.

          '
        format: double
        type: number
      createdById:
        description: 'The ID of the Zuora user who created the payment or credit memo.

          '
        format: uuid
        type: string
      createdDate:
        description: 'The date and time when the payment or credit memo was created,
          in `yyyy-mm-dd hh:mm:ss` format. For example, 2017-12-01 15:31:10.

          '
        format: date-time
        type: string
      creditMemoId:
        description: 'The ID of credit memo that is applied to the specified invoice.

          '
        format: uuid
        type: string
      paymentId:
        description: 'The ID of the payment that is applied to the specified invoice.

          '
        format: uuid
        type: string
      updatedById:
        description: 'The ID of the Zuora user who last updated the payment or credit
          memo.

          '
        format: uuid
        type: string
      updatedDate:
        description: 'The date and time when the payment or credit memo was last updated,
          in `yyyy-mm-dd hh:mm:ss` format. For example, 2018-01-02 11:42:16.

          '
        format: date-time
        type: string
    title: applicationParts
    type: object
  GetOrderResponse:
    allOf:
    - $ref: '#/definitions/CommonResponseType'
    - properties:
        order:
          $ref: '#/definitions/Order'
      type: object
  GetOrderResponseForEvergreen:
    allOf:
    - $ref: '#/definitions/CommonResponseType'
    - properties:
        order:
          $ref: '#/definitions/OrderForEvergreen'
      type: object
  GetOrderResume:
    description: 'Information about an order action of type `Resume`.

      '
    properties:
      extendsTerm:
        description: 'Specifies whether to extend the subscription term by the length
          of time the suspension is in effect. Note this field is not applicable in
          a Resume order action auto-created by the Order Metrics migration.

          '
        type: boolean
      resumeDate:
        description: 'The resume date when the resumption takes effect.

          '
        format: date
        type: string
      resumePeriods:
        description: "This field is applicable only when the `resumePolicy` field\
          \ is set to `FixedPeriodsFromToday` or `FixedPeriodsFromSuspendDate`. It\
          \ must be used together with the `resumePeriodsType` field. Note this field\
          \ is not applicable in a Resume order action auto-created by the Order Metrics\
          \ migration.\n\nThe total number of the periods used to specify when a subscription\
          \ resumption takes effect. The subscription resumption will take place after\
          \ the specified time frame (`suspendPeriods` multiplied by `suspendPeriodsType`)\
          \ from today's date. \n"
        type: integer
      resumePeriodsType:
        description: "This field is applicable only when the `resumePolicy` field\
          \ is set to `FixedPeriodsFromToday` or `FixedPeriodsFromSuspendDate`. It\
          \ must be used together with the `resumePeriods` field. Note this field\
          \ is not applicable in a Resume order action auto-created by the Order Metrics\
          \ migration.\n\nThe period type used to specify when a subscription resumption\
          \ takes effect. The subscription suspension will take place after the specified\
          \ time frame (`suspendPeriods` multiplied by `suspendPeriodsType`) from\
          \ today's date. \n"
        enum:
        - Day
        - Week
        - Month
        - Year
        type: string
      resumePolicy:
        description: "Resume methods. Specify a way to resume a subscription. See\
          \ [Resume Date](https://knowledgecenter.zuora.com/BC_Subscription_Management/Subscriptions/Resume_a_Subscription#Resume_Date)\
          \ for more information. Note this field is not applicable in a Resume order\
          \ action auto-created by the Order Metrics migration.\n\nIf `SuspendDate`\
          \ is specfied, the resumption will take place on the same day as the suspension.\
          \ \n"
        enum:
        - Today
        - FixedPeriodsFromSuspendDate
        - FixedPeriodsFromToday
        - SpecificDate
        - SuspendDate
        type: string
      resumeSpecificDate:
        description: |
          This field is applicable only when the `resumePolicy` field is set to `SpecificDate`. Note this field is not applicable in a Resume order action auto-created by the Order Metrics migration.

          A specific date when the subscription resumption takes effect, in YYYY-MM-DD format. The value should not be earlier than the subscription suspension date.
        format: date
        type: string
    title: Resume
    type: object
  GetOrderSuspend:
    description: 'Information about an order action of type `Suspend`.

      '
    properties:
      suspendDate:
        description: "The suspend date when the suspension takes effect. \n"
        format: date
        type: string
      suspendPeriods:
        description: "This field is applicable only when the `suspendPolicy` field\
          \ is set to `FixedPeriodsFromToday`. It must be used together with the `suspendPeriodsType`\
          \ field. Note this field is not applicable in a Suspend order action auto-created\
          \ by the Order Metrics migration.\n\nThe total number of the periods used\
          \ to specify when a subscription suspension takes effect. The subscription\
          \ suspension will take place after the specified time frame (`suspendPeriods`\
          \ multiplied by `suspendPeriodsType`) from today's date. \n"
        type: integer
      suspendPeriodsType:
        description: "This field is applicable only when the `suspendPolicy` field\
          \ is set to `FixedPeriodsFromToday`. It must be used together with the `suspendPeriods`\
          \ field. Note this field is not applicable in a Suspend order action auto-created\
          \ by the Order Metrics migration.\n\nThe period type used to specify when\
          \ a subscription suspension takes effect. The subscription suspension will\
          \ take place after the specified time frame (`suspendPeriods` multiplied\
          \ by `suspendPeriodsType`) from today's date. \n"
        enum:
        - Day
        - Week
        - Month
        - Year
        type: string
      suspendPolicy:
        description: 'Suspend methods. Specify a way to suspend a subscription. See
          [Suspend Date](https://knowledgecenter.zuora.com/BC_Subscription_Management/Subscriptions/Suspend_a_Subscription#Suspend_Date)
          for more information. Note this field is not applicable in a Suspend order
          action auto-created by the Order Metrics migration.

          '
        enum:
        - Today
        - EndOfLastInvoicePeriod
        - FixedPeriodsFromToday
        - SpecificDate
        type: string
      suspendSpecificDate:
        description: |
          This field is applicable only when the `suspendPolicy` field is set to `SpecificDate`. Note this field is not applicable in a Suspend order action auto-created by the Order Metrics migration.

          A specific date when the subscription suspension takes effect, in YYYY-MM-DD format. The value should not be earlier than the subscription's contract effective date or later than the subscription's term end date.
        format: date
        type: string
    title: Suspend
    type: object
  GetOrdersResponse:
    allOf:
    - $ref: '#/definitions/CommonResponseType'
    - properties:
        nextPage:
          description: 'URL to retrieve the next page of the response if it exists;
            otherwise absent.

            '
          format: URL
          type: string
        orders:
          items:
            $ref: '#/definitions/Order'
          type: array
      type: object
  GetProductFeatureType:
    allOf:
    - properties:
        code:
          description: 'Feature code, up to 255 characters long.

            '
          type: string
        description:
          description: 'Feature description.

            '
          type: string
        id:
          description: 'Feature ID.

            '
          type: string
        name:
          description: 'Feature name, up to 255 characters long.

            '
          type: string
        status:
          description: ''
          type: string
      type: object
    - $ref: '#/definitions/ProductFeatureObjectCustomFields'
    title: productFeatures
  GetStoredCredentialProfilesResponse:
    properties:
      profiles:
        description: 'Container for stored credential profiles.

          '
        properties:
          activatedOn:
            description: 'The date when the stored credential profile was activated
              (if applicable).

              '
            format: date-time
            type: string
          agreedOn:
            description: 'The date when the stored credential profile was created.

              '
            format: date-time
            type: string
          brand:
            description: 'The stored credential transaction framework. For example,
              Visa.

              '
            type: string
          cancelledOn:
            description: 'The date when the stored credential profile was cancelled
              (if applicable).

              '
            format: date-time
            type: string
          consentAgreementRef:
            description: 'Your reference for the consent agreement that you have established
              with the customer.

              '
            maxLength: 128
            type: string
          consentAgreementSrc:
            enum:
            - External
            type: string
          expiredOn:
            description: 'The date when the stored credential profile was expired
              (if applicable).

              '
            format: date-time
            type: string
          number:
            description: 'The number that identifies the stored credential profile
              within the payment method.

              '
            type: integer
          paymentMethodId:
            description: 'ID of the payment method.

              '
            type: string
          status:
            description: |
              The status of the stored credential profile.

              * `Agreed` - The stored credential profile has not been validated via an authorization transaction with the payment gateway.
              * `Active` - The stored credential profile has been validated via an authorization transaction with the payment gateway.
              * `Cancelled` - The stored credentials are no longer valid, per a customer request. Zuora cannot use the stored credentials in transactions.
              * `Expired` - The stored credentials are no longer valid, per an expiration policy in the stored credential transaction framework. Zuora cannot use the stored credentials in transactions.
            enum:
            - Agreed
            - Active
            - Cancelled
            - Expired
            type: string
          type:
            enum:
            - Recurring
            type: string
        type: object
      success:
        type: boolean
    type: object
  GetSubscriptionTermInfoResponseType:
    allOf:
    - $ref: '#/definitions/CommonResponseType'
    - properties:
        nextPage:
          description: 'The URL of the next page of terms.

            '
          format: URL
          type: string
        terms:
          items:
            $ref: '#/definitions/Term'
          type: array
      type: object
  GetWorkflowResponse:
    properties:
      cpuTime:
        description: 'The overall CPU time for the execution of the workflow.

          '
        format: time
        type: string
      createdAt:
        description: 'The date and time when the workflow is created, in the `YYYY-MM-DD
          HH:MM:SS` format..

          '
        format: datetime
        type: string
      finishedAt:
        description: 'The date and time when the execution of the workflow completes,
          in the `YYYY-MM-DD HH:MM:SS` format.

          '
        format: datetime
        type: string
      id:
        description: 'The unique ID of the workflow.

          '
        type: integer
      messages:
        description: 'Messages from tasks.

          '
        type: object
      name:
        description: 'The unique run number of the workflow.

          '
        type: string
      originalWorkflowId:
        description: 'The ID of the workflow setup.

          '
        type: string
      runTime:
        description: 'The execution time of the workflow including the waiting time,
          in seconds.

          '
        format: double
        type: number
      status:
        description: 'The status of the workflow.

          '
        enum:
        - Queued
        - Processing
        - Pending
        - Stopped
        - Success
        - Error
        type: string
      tasks:
        description: 'An object containing task counts.

          '
        properties:
          error:
            description: 'The number of tasks in **Error** state.

              '
            type: integer
          pending:
            description: 'The number of tasks in **Pending** state.

              '
            type: integer
          processing:
            description: 'The number of tasks in **Processing** state.

              '
            type: integer
          queued:
            description: 'The number of tasks in **Queued** state.

              '
            type: integer
          stopped:
            description: 'The number of tasks in **Stopped** state.

              '
            type: integer
          success:
            description: 'The number of tasks in **Success** state.

              '
            type: integer
          total:
            description: 'The total number of tasks.

              '
            type: integer
        type: object
      type:
        description: |
          The type of the current workflow.
          Possible values:
              - `Workflow::Setup`: The workflow is a setup and is used for creating workflow instances.
              - `Workflow::Instance`: The workflow is an execution that has data.
        type: string
      updatedAt:
        description: 'The date and time when the workflow is updated the last time,
          in the `YYYY-MM-DD HH:MM:SS` format.

          '
        format: datetime
        type: string
    type: object
  GetWorkflowsResponse:
    properties:
      data:
        description: "The list of workflows retrieved. \n"
        items:
          $ref: '#/definitions/Workflow'
        type: array
      pagination:
        description: 'An object containing pagination information for the list of
          workflows returned by the api

          '
        properties:
          next_page:
            description: 'A string containing the URL where the next page of data
              can be retrieved.

              '
            type: string
          page:
            description: 'An integer denoting the current page number.

              '
            type: integer
          page_length:
            description: 'An  integer denoting the number of workflows in this response.

              '
            type: integer
        type: object
    type: object
  InitialTerm:
    description: The length of the period for the current subscription term.
    properties:
      period:
        description: Specify only when the termType is 'TERMED'.
        maximum: 100
        minimum: 0
        type: integer
      periodType:
        description: Specify only when the termType is 'TERMED'.
        enum:
        - Month
        - Year
        - Day
        - Week
        type: string
      startDate:
        description: 'The start date of the current term.

          '
        format: date
        type: string
      termType:
        enum:
        - TERMED
        - EVERGREEN
        type: string
    required:
    - termType
    type: object
  Invoice:
    properties:
      AccountId:
        description: ''
        type: string
      AdjustmentAmount:
        description: " The amount of the invoice adjustments associated with the invoice.\
          \ **Character limi**t: 16\n\n**Values**: a valid currency amount "
        format: double
        type: number
      Amount:
        description: " The sum of all charges and taxes associated with the invoice.\n\
          \n\n**Character limit**: 16\n\n**Values**: automatically generated "
        format: double
        type: number
      AmountWithoutTax:
        description: " The sum of all charges associated with the invoice. Taxes are\
          \ excluded from this value.\n\n\n**Character limit**: 16\n\n**Values**:\
          \ automatically generated "
        format: double
        type: number
      Balance:
        description: " The remaining balance of the invoice after all payments, adjustments,\
          \ and refunds are applied.\n\n\n**Character limit**: 16\n\n**Values**: automatically\
          \ generated "
        format: double
        type: number
      BillRunId:
        description: " The ID of a Bill Run.\n\n\n**Character limit**: 32\n\n**Values**:\
          \ a BillRun ID "
        type: string
      Body:
        description: ' Required '
        type: string
      Comments:
        description: " Additional information related to the invoice that a Zuora\
          \ user added to the invoice.\n\n\n**Character limit**: 255\n\n**Values:**\
          \ a string of 255 characters or fewer "
        type: string
      CreatedById:
        description: " The user ID of the person who created the invoice. If a bill\
          \ run generated the invoice, then the value is the user ID of person who\
          \ created the bill run.\n\n\n**Character limit**: 32\n\n**Values**: automatically\
          \ generated "
        type: string
      CreatedDate:
        description: " The date when the invoice was generated.\n\n\n**Character limit**:\
          \ 29\n\n**Values**: automatically generated "
        format: date-time
        type: string
      CreditBalanceAdjustmentAmount:
        description: |2+
           The currency amount of the adjustment applied to the customer's credit balance.


          **Character limit**: 16

          **Values**: a valid currency amount This field is only available if the [Zuora Global Support](http://support.zuora.com/) to enable this feature.


        format: double
        type: number
      DueDate:
        description: " The date by which the payment for this invoice is due.\n\n\n\
          **Character limit**: 29 "
        format: date
        type: string
      IncludesOneTime:
        description: " Specifies whether the invoice includes one-time charges.\n\n\
          \n**Character limit**: 5\n\n**Values**: automatically generated from one\
          \ of the following: `True` (default), `False` "
        type: boolean
      IncludesRecurring:
        description: " Specifies whether the invoice includes recurring charges.\n\
          \n\n**Character limit**: 5\n\n**Values**: automatically generated from one\
          \ of the following: `True` (default), `False` "
        type: boolean
      IncludesUsage:
        description: " Specifies whether the invoice includes usage charges.\n\n\n\
          **Character limit**: 5\n\n**Values**: automatically generated from one of\
          \ the following: `True `(default), `False` "
        type: boolean
      InvoiceDate:
        description: " Specifies the date on which to generate the invoice.\n\n\n\
          **Character limit**: 29 "
        format: date
        type: string
      InvoiceNumber:
        description: " The unique identification number for the invoice. This number\
          \ is returned as a string.\n\n\n**Character limit**: 32\n\n**Values**: automatically\
          \ generated "
        type: string
      LastEmailSentDate:
        description: " The date when the invoice was last emailed.\n\n\n**Character\
          \ limit**: 29\n\n**Values**: automatically generated "
        format: date-time
        type: string
      PaymentAmount:
        description: " The amount of payments applied to the invoice.\n\n\n**Character\
          \ limit**: 16 **Value**s: automatically generated "
        format: double
        type: number
      PostedBy:
        description: " The user ID of the person who moved the invoice to Posted status.\n\
          \n\n**Character limit**: 32\n\n**Values**: automatically generated "
        type: string
      PostedDate:
        description: " The date when the invoice was posted.\n\n\n**Character limit:**\
          \ 29\n\n**Values**: automatically generated "
        format: date-time
        type: string
      RefundAmount:
        description: " Specifies the amount of a refund that was applied against an\
          \ earlier payment on the invoice.\n\n\n**Character limit**: 16\n\n**Values**:\
          \ automatically generated "
        format: double
        type: number
      RegenerateInvoicePDF:
        description: " Regenerates a PDF of an invoice that was already generated.\n\
          \n**Character limit**: 5\n\n**Values**: `True`, `False` "
        type: boolean
      Status:
        description: |2+
           The status of the invoice in the system. This status is not the status of the payment of the invoice, just the status of the invoice itself.


          **Character limit**: 8

          **Values**: one of the following:

          -  Draft (default, automatically set upon invoice creation)

          -  Posted

          -  Canceled

        type: string
      TargetDate:
        description: " This date is used to determine which charges are to be billed.\
          \ All charges that are to be billed on this date or prior will be included\
          \ in this bill run.\n\n\n**Character limit**: 29 "
        format: date
        type: string
      TaxAmount:
        description: " The total amount of the taxes applied to the invoice.\n\n\n\
          **Character limit**: 16\n\n**Values**: automatically generated "
        format: double
        type: number
      TaxExemptAmount:
        description: " The total amount of the invoice that is exempt from taxation.\n\
          \n\n**Character limit**: 16\n\n**Values**: automatically generated "
        format: double
        type: number
      TransferredToAccounting:
        description: " Specifies whether or not the invoice was transferred to an\
          \ external accounting system, such as NetSuite.\n\n\n**Character limit**:\
          \ 10\n\n**Values**: Processing, Yes, Error, Ignore "
        type: string
      UpdatedById:
        description: ''
        type: string
      UpdatedDate:
        description: " The date when the invoice was last updated.\n\n\n**Character\
          \ limit**: 29\n\n**Values**: automatically generated "
        format: date-time
        type: string
    type: object
  InvoiceAdjustmentObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Invoice Adjustment object. The name of each
        custom field has the form <code>*customField*__c</code>. Custom field names
        are case sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of an Invoice Adjustment object.

      '
    title: invoiceAdjustmentFieldsCustom
    type: object
  InvoiceDataInvoice:
    allOf:
    - properties:
        AccountId:
          description: ''
          type: string
        AdjustmentAmount:
          description: " The amount of the invoice adjustments associated with the\
            \ invoice. **Character limi**t: 16\n\n\n**Values**: a valid currency amount "
          format: double
          type: number
        Amount:
          description: " The sum of all charges and taxes associated with the invoice.\n\
            \n\n**Character limit**: 16\n\n\n**Values**: automatically generated "
          format: double
          type: number
        AmountWithoutTax:
          description: " The sum of all charges associated with the invoice. Taxes\
            \ are excluded from this value.\n\n\n**Character limit**: 16\n\n\n**Values**:\
            \ automatically generated "
          format: double
          type: number
        Balance:
          description: " The remaining balance of the invoice after all payments,\
            \ adjustments, and refunds are applied.\n\n\n**Character limit**: 16\n\
            \n\n**Values**: automatically generated "
          format: double
          type: number
        BillRunId:
          description: " The ID of a Bill Run.\n\n\n**Character limit**: 32\n\n\n\
            **Values**: a BillRun ID "
          type: string
        Body:
          description: ' Required '
          type: string
        Comments:
          description: " Additional information related to the invoice that a Zuora\
            \ user added to the invoice.\n\n\n**Character limit**: 255 **Values:**\
            \ a string of 255 characters or fewer "
          type: string
        CreatedById:
          description: " The user ID of the person who created the invoice. If a bill\
            \ run generated the invoice, then the value is the user ID of person who\
            \ created the bill run.\n\n\n**Character limit**: 32\n\n\n**Values**:\
            \ automatically generated "
          type: string
        CreatedDate:
          description: " The date when the invoice was generated.\n\n\n**Character\
            \ limit**: 29\n\n\n**Values**: automatically generated "
          format: date-time
          type: string
        CreditBalanceAdjustmentAmount:
          description: |2+
             The currency amount of the adjustment applied to the customer's credit balance.


            **Character limit**: 16


            **Values**: a valid currency amount This field is only available if the [Zuora Global Support](http://support.zuora.com/) to enable this feature.


          format: double
          type: number
        DueDate:
          description: " The date by which the payment for this invoice is due.\n\n\
            \n**Character limit**: 29 "
          format: date
          type: string
        IncludesOneTime:
          description: " Specifies whether the invoice includes one-time charges.\
            \ You can use this field only with the `generate\n` call for the Invoice\
            \ object.\n\n\n**Character limit**: 5\n\n\n**Values**: automatically generated\
            \ from one of the following: `True` (default), `False` "
          type: boolean
        IncludesRecurring:
          description: " Specifies whether the invoice includes recurring charges.\
            \ You can use this field only with the `generate\n`call for the Invoice\
            \ object.\n\n\n**Character limit**: 5\n\n\n**Values**: automatically generated\
            \ from one of the following: `True` (default), `False` "
          type: boolean
        IncludesUsage:
          description: " Specifies whether the invoice includes usage charges. You\
            \ can use this field only with the `generate\n`call for the Invoice object.\n\
            \n\n**Character limit**: 5\n\n\n**Values**: automatically generated from\
            \ one of the following: `True `(default), `False` "
          type: boolean
        InvoiceDate:
          description: " Specifies the date on which to generate the invoice.\n\n\n\
            **Character limit**: 29 "
          format: date
          type: string
        InvoiceNumber:
          description: " The unique identification number for the invoice. This number\
            \ is returned as a string.\n\n\n**Character limit**: 32\n\n\n**Values**:\
            \ automatically generated "
          type: string
        LastEmailSentDate:
          description: " The date when the invoice was last emailed.\n\n\n**Character\
            \ limit**: 29\n\n\n**Values**: automatically generated "
          format: date-time
          type: string
        PaymentAmount:
          description: " The amount of payments applied to the invoice.\n\n\n**Character\
            \ limit**: 16 **Value**s: automatically generated "
          format: double
          type: number
        PostedBy:
          description: " The user ID of the person who moved the invoice to Posted\
            \ status.\n\n\n**Character limit**: 32\n\n\n**Values**: automatically\
            \ generated "
          type: string
        PostedDate:
          description: " The date when the invoice was posted.\n**Character limit:**\
            \ 29\n\n\n**Values**: automatically generated "
          format: date-time
          type: string
        RefundAmount:
          description: " Specifies the amount of a refund that was applied against\
            \ an earlier payment on the invoice.\n\n\n**Character limit**: 16\n\n\n\
            **Values**: automatically generated "
          format: double
          type: number
        RegenerateInvoicePDF:
          description: " Regenerates a PDF of an invoice that was already generated.\
            \ Add this field to an `update\n` call to regenerate an invoice PDF. Note\
            \ that when you set the `RegenerateInvoicePDF` field to `true`, you cannot\
            \ update any other fields in the same `update\n` call. Otherwise, you\
            \ will receive the following `INVALID_VALUE` error: &quot;When field RegenerateInvoicePDF\
            \ is set to true to regenerate the invoice PDF file, changes on other\
            \ fields of the invoice are not allowed.&quot;\n\n**Character limit**:\
            \ 5\n\n\n**Values**: `True`, `False` "
          type: boolean
        Status:
          description: |2+
             The status of the invoice in the system. This status is not the status of the payment of the invoice, just the status of the invoice itself.


            **Character limit**: 8


            **Values**: one of the following:

            -  Draft (default, automatically set upon invoice creation)

            -  Posted

            -  Canceled

          type: string
        TargetDate:
          description: " This date is used to determine which charges are to be billed.\
            \ All charges that are to be billed on this date or prior will be included\
            \ in this bill run.\n\n\n**Character limit**: 29 "
          format: date
          type: string
        TaxAmount:
          description: " The total amount of the taxes applied to the invoice.\n\n\
            \n**Character limit**: 16\n\n\n**Values**: automatically generated "
          format: double
          type: number
        TaxExemptAmount:
          description: " The total amount of the invoice that is exempt from taxation.\n\
            \n\n**Character limit**: 16\n\n\n**Values**: automatically generated "
          format: double
          type: number
        TransferredToAccounting:
          description: " Specifies whether or not the invoice was transferred to an\
            \ external accounting system, such as NetSuite.\n\n\n**Character limit**:\
            \ 10\n\n\n**Values**: Processing, Yes, Error, Ignore "
          type: string
        UpdatedById:
          description: ''
          type: string
        UpdatedDate:
          description: " The date when the invoice was last updated.\n\n\n**Character\
            \ limit**: 29\n\n\n**Values**: automatically generated "
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/InvoiceObjectNSFields'
    - $ref: '#/definitions/InvoiceObjectCustomFields'
    description: ''
    title: Invoice
  InvoiceEntityPrefix:
    description: 'Container for the prefix and starting document number of invoices.

      '
    properties:
      prefix:
        description: 'The prefix of invoices.

          '
        example: INV
        type: string
      startNumber:
        description: 'The starting document number of invoices.

          '
        example: 10
        type: integer
    title: Invoice
    type: object
  InvoiceFile:
    properties:
      id:
        description: 'The ID of the invoice PDF file. This is the ID for the file
          object and different from the file handle ID in the `pdfFileUrl` field.
          To open a file, you have to use the file handle ID.

          '
        type: string
      pdfFileUrl:
        description: 'The REST URL for the invoice PDF file. Click the URL to open
          the invoice PDF file.

          '
        type: string
      versionNumber:
        description: 'The version number of the invoice PDF file.

          '
        format: int64
        type: integer
    title: invoiceFiles
    type: object
  InvoiceItem:
    allOf:
    - properties:
        appliedToItemId:
          description: The unique ID of the invoice item that the discount charge
            is applied to.
          type: string
        availableToCreditAmount:
          description: "The amount of the invoice item that is available to credit.\
            \        \n"
          format: decimal
          type: number
        balance:
          description: The balance of the invoice item.
          format: decimal
          type: string
        chargeAmount:
          description: The amount of the charge. This amount does not include taxes
            regardless if the charge's tax mode is inclusive or exclusive.
          format: decimal
          type: string
        chargeDescription:
          description: Description of the charge.
          type: string
        chargeId:
          description: ID of the charge.
          type: string
        chargeName:
          description: Name of the charge.
          type: string
        id:
          description: Item ID.
          type: string
        productName:
          description: Name of the product associated with this item.
          type: string
        quantity:
          description: Quantity of this item, in the configured unit of measure for
            the charge.
          format: decimal
          type: string
        serviceEndDate:
          description: End date of the service period for this item, i.e., the last
            day of the service period, as _yyyy-mm-dd_.
          format: date
          type: string
        serviceStartDate:
          description: Start date of the service period for this item, as _yyyy-mm-dd_.
            For a one-time fee item, the date of the charge.
          format: date
          type: string
        subscriptionId:
          description: ID of the subscription for this item.
          type: string
        subscriptionName:
          description: Name of the subscription for this item.
          type: string
        success:
          description: Returns `true` if the request was processed successfully.
          type: boolean
        taxAmount:
          description: Tax applied to the charge.
          format: decimal
          type: string
        taxationItems:
          description: "Container for the taxation items of the invoice item. \n"
          properties:
            data:
              description: 'List of taxation items.

                '
              items:
                $ref: '#/definitions/GETInvoiceTaxItemType'
              type: array
            nextPage:
              description: 'URL to retrieve the next page of the response if it exists;
                otherwise absent.

                '
              format: URL
              type: string
          type: object
        unitOfMeasure:
          description: Unit used to measure. consumption.
          type: string
      type: object
    - $ref: '#/definitions/InvoiceItemObjectNSFields'
    - $ref: '#/definitions/InvoiceItemObjectCustomFields'
    title: invoiceItems
  InvoiceItemAdjustmentObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Invoice Item Adjustment object. The name
        of each custom field has the form <code>*customField*__c</code>. Custom field
        names are case sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of an Invoice Item Adjustment object.

      '
    title: invoiceItemAdjustmentFieldsCustom
    type: object
  InvoiceItemAdjustmentObjectNSFields:
    description: 'Container for Invoice Item Adjustment fields provided by the [Zuora
      Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

      '
    properties:
      InvoiceItemAdjustment.IntegrationId__NS:
        description: 'ID of the corresponding object in NetSuite. Only available if
          you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      InvoiceItemAdjustment.IntegrationStatus__NS:
        description: 'Status of the invoice item adjustment''s synchronization with
          NetSuite. Only available if you have installed the [Zuora Connector for
          NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      InvoiceItemAdjustment.SyncDate__NS:
        description: 'Date when the invoice item adjustment was synchronized with
          NetSuite. Only available if you have installed the [Zuora Connector for
          NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
    title: invoiceItemAdjustmentFieldsNS
    type: object
  InvoiceItemObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Invoice Item object. The name of each custom
        field has the form <code>*customField*__c</code>. Custom field names are case
        sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of an Invoice Item object.

      '
    title: invoiceItemFieldsCustom
    type: object
  InvoiceItemObjectNSFields:
    description: 'Container for Invoice Item fields provided by the [Zuora Connector
      for NetSuite](https://www.zuora.com/connect/app/?appId=265).

      '
    properties:
      IntegrationId__NS:
        description: 'ID of the corresponding object in NetSuite. Only available if
          you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      IntegrationStatus__NS:
        description: 'Status of the invoice item''s synchronization with NetSuite.
          Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      SyncDate__NS:
        description: 'Date when the invoice item was synchronized with NetSuite. Only
          available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
    title: invoiceItemFieldsNS
    type: object
  InvoiceItemPreviewResult:
    properties:
      additionalInfo:
        properties:
          quantity:
            type: number
          unitOfMeasure:
            type: string
        type: object
      amountWithoutTax:
        type: number
      appliedToChargeNumber:
        description: Available when the chargeNumber of the charge that discount applies
          to was specified in the request or when the order is amending an existing
          subscription.
        type: string
      chargeDescription:
        type: string
      chargeName:
        type: string
      chargeNumber:
        description: Available when the chargeNumber was specified in the request
          or when the order is amending an existing subscription.
        type: string
      processingType:
        enum:
        - Charge
        - Discount
        - Tax
        type: string
      productName:
        type: string
      productRatePlanChargeId:
        type: string
      serviceEndDate:
        format: date
        type: string
      serviceStartDate:
        format: date
        type: string
      subscriptionNumber:
        type: string
      taxAmount:
        type: number
    type: object
  InvoiceObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Invoice object. The name of each custom field
        has the form <code>*customField*__c</code>. Custom field names are case sensitive.
        See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of an Invoice object.

      '
    title: invoiceFieldsCustom
    type: object
  InvoiceObjectNSFields:
    description: 'Container for Invoice fields provided by the [Zuora Connector for
      NetSuite](https://www.zuora.com/connect/app/?appId=265).

      '
    properties:
      IntegrationId__NS:
        description: 'ID of the corresponding object in NetSuite. Only available if
          you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      IntegrationStatus__NS:
        description: 'Status of the invoice''s synchronization with NetSuite. Only
          available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      SyncDate__NS:
        description: 'Date when the invoice was synchronized with NetSuite. Only available
          if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
    title: invoiceFieldsNS
    type: object
  InvoicePayment:
    properties:
      Amount:
        description: 'The amount of the payment to apply to an invoice.

          '
        format: decimal
        type: string
      InvoiceId:
        description: 'The ID of the invoice that the payment is applied to.

          '
        type: string
      PaymentId:
        description: 'The ID of the payment.

          '
        type: string
    required:
    - Amount
    - InvoiceId
    type: object
  InvoiceProcessingOptions:
    properties:
      InvoiceDate:
        description: ' The invoice date.'
        format: date
        type: string
      InvoiceTargetDate:
        description: ' The date that determines which charges to bill. Charges prior
          to this date or on this date are billed on the resulting invoices. '
        format: date
        type: string
    required:
    - InvoiceTargetDate
    type: object
  InvoiceResponseType:
    properties:
      id:
        description: 'The ID of the generated invoice.

          '
        type: string
    title: invoices
    type: object
  JobResult:
    allOf:
    - $ref: '#/definitions/CommonResponseType'
    - properties:
        accountNumber:
          description: The account number for the order.
          type: string
        creditMemoNumbers:
          description: An array of the credit memo numbers generated in this order
            request. The credit memo is only available if you have the Invoice Settlement
            feature enabled.
          items:
            type: string
          type: array
        invoiceNumbers:
          description: An array of the invoice numbers generated in this order request.
            Normally it includes one invoice number only, but can include multiple
            items when a subscription was tagged as invoice separately.
          items:
            type: string
          type: array
        orderNumber:
          description: The order number of the order created.
          type: string
        paidAmount:
          description: The total amount collected in this order request.
          type: string
        paymentNumber:
          description: The payment number that collected in this order request.
          type: string
        status:
          description: Status of the order. `Pending` is only applicable for an order
            that contains a `CreateSubscription` order action.
          enum:
          - Completed
          - Pending
          type: string
        subscriptionNumbers:
          description: "**Note:** This field is in Zuora REST API version control.\
            \ Supported minor versions are 222.4 or earlier. To use this field in\
            \ the method, you must set the\_`zuora-version` parameter to the minor\
            \ version number in the request header.\n\nContainer for the subscription\
            \ numbers of the subscriptions in an order.\n"
          items:
            type: string
          type: array
        subscriptions:
          description: "**Note:** This field is in Zuora REST API version control.\
            \ Supported minor versions are 223.0 or later. To use this field in the\
            \ method, you must set the\_`zuora-version` parameter to the minor version\
            \ number in the request header.\n\nContainer for the subscription numbers\
            \ and statuses in an order.\n"
          items:
            properties:
              status:
                description: Status of the subscription. `Pending Activation` and
                  `Pending Acceptance` are only applicable for an order that contains
                  a `CreateSubscription` order action.
                enum:
                - Active
                - Pending Activation
                - Pending Acceptance
                - Cancelled
                type: string
              subscriptionNumber:
                description: Subscription number of the subscription included in this
                  order.
                type: string
            type: object
          type: array
      type: object
    description: "**Note:** The schema of the `result` nested field is the same as\
      \ the response body schema of either the [\"Create order\"](https://www.zuora.com/developer/api-reference/#operation/POST_Order)\
      \ or the [\"Preview order\"](https://www.zuora.com/developer/api-reference/#operation/POST_PreviewOrder)\
      \ operation, depending on the purpose of the job.\n\nThe following schema for\
      \ the nested `result` field is defined as the response body schema of \"Create\
      \ order\". See [Preview Order](https://www.zuora.com/developer/api-reference/#operation/POST_PreviewOrder)\
      \ for the response body schema of \"Preview order\". \n"
  JournalEntryItemObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Journal Entry Item object. The name of each
        custom field has the form <code>*customField*__c</code>. Custom field names
        are case sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Journal Entry Item object.

      '
    title: journalEntryItemFieldsCustom
    type: object
  JournalEntryObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Journal Entry object. The name of each custom
        field has the form <code>*customField*__c</code>. Custom field names are case
        sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Journal Entry object.

      '
    title: journalEntryFieldsCustom
    type: object
  LastTerm:
    description: The length of the period for the current subscription term.
    properties:
      period:
        description: Specify only when the termType is 'TERMED'.
        maximum: 100
        minimum: 0
        type: integer
      periodType:
        description: Specify only when the termType is 'TERMED'.
        enum:
        - Month
        - Year
        - Day
        - Week
        type: string
      startDate:
        description: 'The start date of the current term. You can change the term
          start date of a renewed subscription through a T&Cs order action. However,
          when changing it to an earlier date, this date must not be earlier than
          the term start date of the current term before this T&Cs.

          '
        format: date
        type: string
      termType:
        enum:
        - TERMED
        - EVERGREEN
        type: string
    required:
    - termType
    type: object
  Linkage:
    description: Used to represent the relationship between workflow tasks
    properties:
      linkage_type:
        enum:
        - Start
        - Success
        - Failure
        - Iterate
        - true
        - false
        - Approve
        - Reject
        type: string
      source_task_id:
        description: the task that spawned the target task
        type: integer
      source_workflow_id:
        description: the workflow the target task is associated with
        type: integer
      target_task_id:
        description: the task that the source task is linked to.
        type: integer
    type: object
  ListAllSettingsResponse:
    properties:
      settings:
        items:
          $ref: '#/definitions/SettingItemWithOperationsInformation'
        type: array
    title: allSettings
    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
  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
  ModifiedStoredCredentialProfileResponse:
    properties:
      number:
        description: 'The number that identifies the stored credential profile within
          the payment method.

          '
        type: integer
      paymentMethodId:
        description: 'ID of the payment method.

          '
        type: string
      success:
        type: boolean
    type: object
  NewChargeMetrics:
    properties:
      ChargeNumber:
        description: ''
        type: string
      DMRR:
        description: ''
        format: double
        type: number
      DTCV:
        description: ''
        format: double
        type: number
      MRR:
        description: ''
        format: double
        type: number
      OriginalId:
        description: ''
        type: string
      OriginalRatePlanId:
        description: ''
        type: string
      ProductRatePlanChargeId:
        description: ''
        type: string
      ProductRatePlanId:
        description: ''
        type: string
      TCV:
        description: ''
        format: double
        type: number
    type: object
  OneTimeFlatFeePricingOverride:
    description: 'Pricing information about a one-time charge that uses the "flat
      fee" charge model. In this charge model, the charge has a fixed price.

      '
    properties:
      listPrice:
        description: 'Price of the charge.

          '
        type: number
    required:
    - listPrice
    title: oneTimeFlatFee
    type: object
  OneTimePerUnitPricingOverride:
    description: 'Pricing information about a one-time charge that uses the "per unit"
      charge model. In this charge model, the charge has a fixed price per unit purchased.

      '
    properties:
      listPrice:
        description: 'Per-unit price of the charge.

          '
        type: number
      quantity:
        description: 'Number of units purchased.

          '
        minimum: 0
        type: number
    title: oneTimePerUnit
    type: object
  OneTimeTieredPricingOverride:
    description: 'Pricing information about a one-time charge that uses the "tiered
      pricing" charge model. In this charge model, the charge has cumulative pricing
      tiers that become effective as units are purchased.

      '
    properties:
      quantity:
        description: 'Number of units purchased.

          '
        minimum: 0
        type: number
      tiers:
        description: 'List of cumulative pricing tiers in the charge.

          '
        items:
          $ref: '#/definitions/ChargeTier'
        type: array
    title: oneTimeTiered
    type: object
  OneTimeVolumePricingOverride:
    description: 'Pricing information about a one-time charge that uses the "volume
      pricing" charge model. In this charge model, the charge has a variable price
      per unit, depending on how many units are purchased.

      '
    properties:
      quantity:
        description: 'Number of units purchased.

          '
        minimum: 0
        type: number
      tiers:
        description: 'List of variable pricing tiers in the charge.

          '
        items:
          $ref: '#/definitions/ChargeTier'
        type: array
    title: oneTimeVolume
    type: object
  Order:
    description: Represents the order information that will be returned in the GET
      call.
    properties:
      createdBy:
        description: The ID of the user who created this order.
        type: string
      createdDate:
        description: The time that the order gets created in the system, in the `YYYY-MM-DD
          HH:MM:SS` format.
        format: datetime
        type: string
      currency:
        description: Currency code.
        type: string
      customFields:
        $ref: '#/definitions/OrderObjectCustomFields'
      description:
        description: A description of the order.
        maxLength: 500
        type: string
      existingAccountNumber:
        description: The account number that this order has been created under. This
          is also the invoice owner of the subscriptions included in this order.
        type: string
      orderDate:
        description: The date when the order is signed. All the order actions under
          this order will use this order date as the contract effective date if no
          additinal contractEffectiveDate is provided.
        format: date
        type: string
      orderNumber:
        description: The order number of the order.
        type: string
      status:
        description: The status of the order. If the order contains any `Pending Activation`
          or `Pending Acceptance` subscription, the order status will be `Pending`;
          otherwise the order status is `Completed`.
        enum:
        - Completed
        - Pending
        type: string
      subscriptions:
        description: Represents a processed subscription, including the origin request
          (order actions) that create this version of subscription and the processing
          result (order metrics). The reference part in the request will be overridden
          with the info in the new subscription version.
        items:
          properties:
            baseVersion:
              description: The base version of the subscription.
              type: integer
            customFields:
              $ref: '#/definitions/SubscriptionObjectCustomFields'
            newVersion:
              description: The latest version of the subscription.
              type: integer
            orderActions:
              items:
                $ref: '#/definitions/OrderAction'
              type: array
            sequence:
              description: The sequence number of a certain subscription processed
                by the order.
              type: integer
            subscriptionNumber:
              description: The new subscription number for a new subscription created,
                or the existing subscription number. Unlike the order request, the
                subscription number here always has a value.
              type: string
          type: object
        type: array
      updatedBy:
        description: The ID of the user who updated this order.
        type: string
      updatedDate:
        description: The time that the order gets updated in the system(for example,
          an order description update), in the `YYYY-MM-DD HH:MM:SS` format.
        format: datetime
        type: string
    type: object
  OrderAction:
    description: Represents the processed order action.
    properties:
      addProduct:
        $ref: '#/definitions/RatePlanOverride'
      cancelSubscription:
        $ref: '#/definitions/CancelSubscription'
      createSubscription:
        $ref: '#/definitions/CreateSubscription'
      customFields:
        $ref: '#/definitions/OrderActionObjectCustomFields'
      orderItems:
        items:
          $ref: '#/definitions/OrderItem'
        type: array
      orderMetrics:
        items:
          $ref: '#/definitions/orderMetric'
        type: array
      ownerTransfer:
        $ref: '#/definitions/OwnerTransfer'
      removeProduct:
        $ref: '#/definitions/RemoveProduct'
      resume:
        $ref: '#/definitions/GetOrderResume'
      sequence:
        description: The sequence of the order actions processed in the order.
        type: integer
      suspend:
        $ref: '#/definitions/GetOrderSuspend'
      termsAndConditions:
        $ref: '#/definitions/TermsAndConditions'
      triggerDates:
        description: "Container for the contract effective, service activation, and\
          \ customer acceptance dates of the order action. \n\nIf [Zuora is configured\
          \ to require service activation](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Default_Subscription_Settings#Require_Service_Activation_of_Orders.3F)\
          \ and the `ServiceActivation` field is not set for a `CreateSubscription`\
          \ order action, a `Pending` order and a `Pending Activation` subscription\
          \ are created.\n\nIf [Zuora is configured to require customer acceptance](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Default_Subscription_Settings#Require_Customer_Acceptance_of_Orders.3F)\
          \ and the `CustomerAcceptance` field is not set for a `CreateSubscription`\
          \ order action, a `Pending` order and a `Pending Acceptance` subscription\
          \ are created. At the same time, if the service activation date field is\
          \ also required and not set, a `Pending` order and a `Pending Activation`\
          \ subscription are created instead.\n\nIf [Zuora is configured to require\
          \ service activation](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Default_Subscription_Settings#Require_Service_Activation_of_Orders.3F)\
          \ and the `ServiceActivation` field is not set for either of the following\
          \ order actions, a `Pending` order is created. The subscription status is\
          \ not impacted. **Note:** This feature is in **Limited Availability**. If\
          \ you want to have access to the feature, submit a request at [Zuora Global\
          \ Support](http://support.zuora.com/).\n * AddProduct\n * UpdateProduct\n\
          \ * RemoveProduct\n * RenewSubscription\n * TermsAndConditions\n\nIf [Zuora\
          \ is configured to require customer acceptance](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Default_Subscription_Settings#Require_Customer_Acceptance_of_Orders.3F)\
          \ and the `CustomerAcceptance` field is not set for either of the following\
          \ order actions, a `Pending` order is created. The subscription status is\
          \ not impacted. **Note:** This feature is in **Limited Availability**. If\
          \ you want to have access to the feature, submit a request at [Zuora Global\
          \ Support](http://support.zuora.com/).\n * AddProduct\n * UpdateProduct\n\
          \ * RemoveProduct\n * RenewSubscription\n * TermsAndConditions\n"
        items:
          $ref: '#/definitions/TriggerDate'
        type: array
      type:
        description: Type of the order action.
        enum:
        - CreateSubscription
        - TermsAndConditions
        - AddProduct
        - UpdateProduct
        - RemoveProduct
        - RenewSubscription
        - CancelSubscription
        - OwnerTransfer
        - Suspend
        - Resume
        type: string
      updateProduct:
        $ref: '#/definitions/RatePlanUpdate'
    type: object
  OrderActionForEvergreen:
    description: Represents the processed order action.
    properties:
      addProduct:
        $ref: '#/definitions/RatePlanOverrideForEvergreen'
      cancelSubscription:
        $ref: '#/definitions/CancelSubscription'
      createSubscription:
        $ref: '#/definitions/CreateSubscriptionForEvergreen'
      customFields:
        $ref: '#/definitions/OrderActionObjectCustomFields'
      orderMetrics:
        items:
          $ref: '#/definitions/OrderMetricsForEvergreen'
        type: array
      ownerTransfer:
        $ref: '#/definitions/OwnerTransfer'
      removeProduct:
        $ref: '#/definitions/RemoveProduct'
      resume:
        $ref: '#/definitions/GetOrderResume'
      sequence:
        description: The sequence of the order actions processed in the order.
        type: integer
      suspend:
        $ref: '#/definitions/GetOrderSuspend'
      termsAndConditions:
        $ref: '#/definitions/TermsAndConditions'
      triggerDates:
        description: "Container for the contract effective, service activation, and\
          \ customer acceptance dates of the order action. \n\nIf [Zuora is configured\
          \ to require service activation](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Default_Subscription_Settings#Require_Service_Activation_of_Orders.3F)\
          \ and the `ServiceActivation` field is not set for a `CreateSubscription`\
          \ order action, a `Pending` order and a `Pending Activation` subscription\
          \ are created.\n\nIf [Zuora is configured to require customer acceptance](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Default_Subscription_Settings#Require_Customer_Acceptance_of_Orders.3F)\
          \ and the `CustomerAcceptance` field is not set for a `CreateSubscription`\
          \ order action, a `Pending` order and a `Pending Acceptance` subscription\
          \ are created. At the same time, if the service activation date field is\
          \ also required and not set, a `Pending` order and a `Pending Activation`\
          \ subscription are created instead.\n\nIf [Zuora is configured to require\
          \ service activation](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Default_Subscription_Settings#Require_Service_Activation_of_Orders.3F)\
          \ and the `ServiceActivation` field is not set for either of the following\
          \ order actions, a `Pending` order is created. The subscription status is\
          \ not impacted. **Note:** This feature is in **Limited Availability**. If\
          \ you want to have access to the feature, submit a request at [Zuora Global\
          \ Support](http://support.zuora.com/).\n * AddProduct\n * UpdateProduct\n\
          \ * RemoveProduct\n * RenewSubscription\n * TermsAndConditions\n\nIf [Zuora\
          \ is configured to require customer acceptance](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Default_Subscription_Settings#Require_Customer_Acceptance_of_Orders.3F)\
          \ and the `CustomerAcceptance` field is not set for either of the following\
          \ order actions, a `Pending` order is created. The subscription status is\
          \ not impacted. **Note:** This feature is in **Limited Availability**. If\
          \ you want to have access to the feature, submit a request at [Zuora Global\
          \ Support](http://support.zuora.com/).\n * AddProduct\n * UpdateProduct\n\
          \ * RemoveProduct\n * RenewSubscription\n * TermsAndConditions\n"
        items:
          $ref: '#/definitions/TriggerDate'
        type: array
      type:
        description: Type of the order action.
        enum:
        - CreateSubscription
        - TermsAndConditions
        - AddProduct
        - UpdateProduct
        - RemoveProduct
        - RenewSubscription
        - CancelSubscription
        - OwnerTransfer
        - Suspend
        - Resume
        type: string
      updateProduct:
        $ref: '#/definitions/RatePlanUpdateForEvergreen'
    type: object
  OrderActionObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Order Action object. The name of each custom
        field has the form <code>*customField*__c</code>. Custom field names are case
        sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of an Order Action object.

      '
    title: orderActionFieldsCustom
    type: object
  OrderForEvergreen:
    description: Represents the order information that will be returned in the GET
      call.
    properties:
      createdBy:
        description: The ID of the user who created this order.
        type: string
      createdDate:
        description: The time that the order gets created in the system, in the `YYYY-MM-DD
          HH:MM:SS` format.
        format: datetime
        type: string
      currency:
        description: Currency code.
        type: string
      customFields:
        $ref: '#/definitions/OrderObjectCustomFields'
      description:
        description: A description of the order.
        maxLength: 500
        type: string
      existingAccountNumber:
        description: The account number that this order has been created under. This
          is also the invoice owner of the subscriptions included in this order.
        type: string
      orderDate:
        description: The date when the order is signed. All the order actions under
          this order will use this order date as the contract effective date if no
          additinal contractEffectiveDate is provided.
        format: datetime
        type: string
      orderNumber:
        description: The order number of the order.
        type: string
      status:
        description: The status of the order.
        type: string
      subscriptions:
        description: Represents a processed subscription, including the origin request
          (order actions) that create this version of subscription and the processing
          result (order metrics). The reference part in the request will be overridden
          with the info in the new subscription version.
        items:
          properties:
            baseVersion:
              description: The base version of the subscription.
              type: integer
            customFields:
              $ref: '#/definitions/SubscriptionObjectCustomFields'
            newVersion:
              description: The latest version of the subscription.
              type: integer
            orderActions:
              items:
                $ref: '#/definitions/OrderActionForEvergreen'
              type: array
            sequence:
              description: The sequence number of a certain subscription processed
                by the order.
              type: integer
            subscriptionNumber:
              description: The new subscription number for a new subscription created,
                or the existing subscription number. Unlike the order request, the
                subscription number here always has a value.
              type: string
          type: object
        type: array
      updatedBy:
        description: The ID of the user who updated this order.
        type: string
      updatedDate:
        description: The time that the order gets updated in the system (for example,
          an order description update), in the `YYYY-MM-DD HH:MM:SS` format.
        format: datetime
        type: string
    type: object
  OrderItem:
    description: "Represents an order item. An order item is a sales item within an\
      \ order in the context of the recurring subscription business model. It can\
      \ be a unit of products or a service, but defined by both quantity and term\
      \ (the start and end dates).\_\n\nFor the one time and the recurring charge\
      \ types, if an order action causes a quantity metric creation (when the delta\
      \ quantity equals to or is greater than zero), an order item is created.\n\n\
      The following order actions will create an order item for the one time and recurring\
      \ charges. The other order actions will refer to an existing order item. Also,\
      \ the Owner Transfer order action always creates an order item whose quantity\
      \ field is zero.\n\n  * Create Subscription\n  * Terms and Conditions - Extend\
      \ Term\n  * Renewal\n  * Update Product - Increase Quantity\n  * Add product\n\
      \  * Owner Transfer\n\nFor the usage charge type, if the order action causes\
      \ a usage increase, an order item is created, and the quantity field of the\
      \ order item is always zero.\n\nThe following order actions will create an order\
      \ item for for the usage charges.\n\n  * Create Subscription\n  * Terms and\
      \ Conditions - Extend Term\n  * Renewal\n  * Add product\n  * Owner Transfer\n"
    properties:
      endDate:
        description: The order item's effective end date, aligned with the end date
          of an increased quantity order metrics.
        format: date
        type: string
      id:
        description: The ID of the order item.
        type: string
      orderActionId:
        description: Specify the order action that creates this order item.
        type: string
      quantity:
        description: The order item quantity. For the usage charge type, the value
          of this field is always zero. Also, the Owner Transfer order action always
          creates an order item whose Quantity field is zero.
        type: number
      scId:
        description: The ID of the charge segment that gets newly generated when the
          order item is created.
        type: string
      startDate:
        description: The order item's effective start date, aligned with the start
          date of an increased quantity order metrics.
        format: date
        type: string
    type: object
  OrderMetricsForEvergreen:
    description: Shows the delta metrics caused by a specific order action on a specific
      charge.
    properties:
      chargeNumber:
        type: string
      mrr:
        items:
          $ref: '#/definitions/TimeSlicedNetMetricsForEvergreen'
        type: array
      originRatePlanId:
        type: string
      productRatePlanChargeId:
        type: string
      productRatePlanId:
        type: string
      quantity:
        items:
          $ref: '#/definitions/TimeSlicedMetricsForEvergreen'
        type: array
      tcb:
        description: Total contracted billing which is the forecast value for the
          total invoice amount.
        items:
          $ref: '#/definitions/TimeSlicedTcbNetMetricsForEvergreen'
        type: array
      tcv:
        description: Total contracted value.
        items:
          $ref: '#/definitions/TimeSlicedNetMetricsForEvergreen'
        type: array
    type: object
  OrderObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Order object. The name of each custom field
        has the form <code>*customField*__c</code>. Custom field names are case sensitive.
        See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of an Order object.

      '
    title: orderFieldsCustom
    type: object
  OwnerTransfer:
    description: |
      Information about an order action of type `OwnerTransfer`.

      **Note:** The Owner Transfer feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
    properties:
      destinationAccountNumber:
        description: 'The account number of the account that the subscription is being
          transferred to.

          '
        type: string
      destinationInvoiceAccountNumber:
        description: 'The account number of the invoice owner account that the subscription
          is being transferred to.

          '
        type: string
    title: ownerTransfer
    type: object
  POSTAccountCreatePaymentMethodACH:
    properties:
      addressLine1:
        description: 'First address line, 255 characters or less.

          '
        type: string
      addressLine2:
        description: 'Second address line, 255 characters or less.

          '
        type: string
      bankABACode:
        description: 'The nine-digit routing number or ABA number used by banks. This
          field is only required if the `type` field is set to `ACH`.

          '
        type: string
      bankAccountName:
        description: 'The name of the account holder, which can be either a person
          or a company. This field is only required if the `type` field is set to
          `ACH`.

          '
        maxLength: 70
        type: string
      bankAccountNumber:
        description: 'The bank account number associated with the ACH payment. This
          field is only required if the `type` field is set to `ACH`.

          '
        maxLength: 30
        type: string
      bankAccountType:
        description: 'The type of bank account associated with the ACH payment. This
          field is only required if the `type` field is set to `ACH`.

          '
        enum:
        - BusinessChecking
        - Checking
        - Saving
        type: string
      bankName:
        description: 'The name of the bank where the ACH payment account is held.
          This field is only required if the `type` field is set to `ACH`.

          '
        maxLength: 70
        type: string
      city:
        description: "City, 40 characters or less.\n    \n"
        type: string
      country:
        description: 'Country, must be a valid country name or abbreviation.

          '
        type: string
      phone:
        description: 'Phone number, 40 characters or less.

          '
        type: string
      state:
        description: 'State, must be a valid state name or 2-character abbreviation.

          '
        type: string
      zipCode:
        description: 'Zip code, 20 characters or less.

          '
        type: string
    type: object
  POSTAccountCreatePaymentMethodCreditCard:
    allOf:
    - properties:
        cardHolderInfo:
          description: |
            Container for cardholder information. If provided, Zuora
                  will only use this information for this card.  If not provided, Zuora
                  will use the account''s existing bill-to contact information for this
                  card.
          properties:
            addressLine1:
              description: 'First address line, 255 characters or less.

                '
              type: string
            addressLine2:
              description: 'Second address line, 255 characters or less.

                '
              type: string
            cardHolderName:
              description: 'The card holder''s full name as it appears on the card,
                e.g., "John J Smith", 50 characters or less.

                '
              type: string
            city:
              description: 'City, 40 characters or less.

                '
              type: string
            country:
              description: 'Country; must be a valid country name or abbreviation.

                '
              type: string
            email:
              description: 'Card holder''s email address, 80 characters or less.

                '
              type: string
            phone:
              description: 'Phone number, 40 characters or less.

                '
              type: string
            state:
              description: 'State; must be a valid state name or 2-character abbreviation.

                '
              type: string
            zipCode:
              description: 'Zip code, 20 characters or less.

                '
              type: string
          required:
          - addressLine1
          - cardHolderName
          - city
          - country
          - state
          - zipCode
          type: object
        cardNumber:
          description: 'Card number, up to 16 characters. Once created, this field
            can''t be updated or queried, and is only available in masked format (e.g.,
            XXXX-XXXX-XXXX-1234).

            '
          type: string
        cardType:
          description: |
            The type of the credit card.

            Possible values  include `Visa`, `MasterCard`, `AmericanExpress`, `Discover`, `JCB`, and `Diners`. For more information about credit card types supported by different payment gateways, see [Supported Payment Gateways](https://knowledgecenter.zuora.com/CB_Billing/M_Payment_Gateways/Supported_Payment_Gateways).
          type: string
        expirationMonth:
          description: 'Two-digit expiration month (01-12).

            '
          type: string
        expirationYear:
          description: 'Four-digit expiration year.

            '
          type: string
        securityCode:
          description: 'The CVV or CVV2 security code of the card. To ensure PCI compliance,
            this value is not stored and cannot be queried.

            '
          type: string
      type: object
    - $ref: '#/definitions/PaymentMethodObjectCustomFields'
    description: ''
  POSTAccountResponseType:
    properties:
      accountId:
        description: 'Auto-generated account ID.

          '
        type: string
      accountNumber:
        description: 'Account number.

          '
        type: string
      billToContactId:
        description: 'The ID of the bill-to contact.

          '
        type: string
      contractedMrr:
        description: 'Contracted monthly recurring revenue of the subscription.

          '
        format: decimal
        type: string
      creditMemoId:
        description: |
          The credit memo ID, if a credit memo is generated during the subscription process.

          **Note:** This field is only available if you have the Invoice Settlements feature enabled.
        type: string
      invoiceId:
        description: 'ID of the invoice generated at account creation, if applicable.

          '
        type: string
      paidAmount:
        description: 'Amount collected on the invoice generated at account creation,
          if applicable.

          '
        format: decimal
        type: string
      paymentId:
        description: 'ID of the payment collected on the invoice generated at account
          creation, if applicable.

          '
        type: string
      paymentMethodId:
        description: 'ID of the payment method that was set up at account creation,
          which automatically becomes the default payment method for this account.

          '
        type: string
      soldToContactId:
        description: 'The ID of the sold-to contact.

          '
        type: string
      subscriptionId:
        description: 'ID of the subscription that was set up at account creation,
          if applicable.

          '
        type: string
      subscriptionNumber:
        description: 'Number of the subscription that was set up at account creation,
          if applicable.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
      totalContractedValue:
        description: 'Total contracted value of the subscription.

          '
        format: decimal
        type: string
    type: object
  POSTAccountType:
    allOf:
    - properties:
        accountNumber:
          description: 'A unique account number, up to 50 characters that do not begin
            with the default account number prefix.  If no account number is specified,
            one is generated.

            '
          type: string
        additionalEmailAddresses:
          description: |
            A list of additional email addresses to receive emailed invoices. Use a comma to separate each email address.

            **Note:** Invoices are emailed to the email addresses specified in this field only when the `invoiceDeliveryPrefsEmail` field is `true`.
          items:
            type: string
          type: array
        applyCreditBalance:
          description: "Applies a credit balance to an invoice.\n\nIf the value is\
            \ `true`, the credit balance is applied to the invoice. If the value is\
            \ `false`, no action is taken.\n\nPrerequisite: `invoice` must be `true`.\n\
            \nTo view the credit balance adjustment, retrieve the details of the invoice\
            \ using the Get Invoices method.\n\n\n**Note:** \n  - If you are using\
            \ the field `invoiceCollect` rather than the field `invoice`, the `invoiceCollect`\
            \ value must be `true`.\n  - This field is deprecated if you have the\
            \ Invoice Settlement feature enabled. \n"
          type: boolean
        autoPay:
          description: "Whether future payments are to be automatically billed when\
            \ they are due. \n\n- If this field is set to `true`, you must specify\
            \ either the `creditCard` field or the `hpmCreditCardPaymentMethodId`\
            \ field, but not both.\n- If this field is set to `false`, you can specify\
            \ neither the `creditCard` field nor the `hpmCreditCardPaymentMethodId`\
            \ field.\n"
          type: boolean
        batch:
          description: 'The alias name given to a batch. A string of 50 characters
            or less.

            '
          type: string
        billCycleDay:
          description: "The account's bill cycle day (BCD), when bill runs generate\
            \ invoices for the account.  Specify any day of the month (1-31, where\
            \ 31 = end-of-month), or 0 for auto-set.\n\nRequired if no subscription\
            \ will be created. \n\nOptional if a subscription is created and defaults\
            \ to the day-of-the-month of the subscription's `contractEffectiveDate`.\n"
          format: int64
          type: integer
        billToContact:
          $ref: '#/definitions/POSTAccountTypeBillToContact'
        collect:
          default: true
          description: "Collects an automatic payment for a subscription. The collection\
            \ generated in this operation is only for this subscription, not for the\
            \ entire customer account.\n\nIf the value is `true`, the automatic payment\
            \ is collected. If the value is `false`, no action is taken.\n\nPrerequisite:\
            \ The `invoice` or `runBilling` field must be `true`. \n\n**Note**: This\
            \ field is only available if you set the `zuora-version` request header\
            \ to `196.0` or later.\n"
          type: boolean
        communicationProfileId:
          description: 'The ID of a communication profile.          '
          type: string
        creditCard:
          $ref: '#/definitions/POSTAccountTypeCreditCard'
        creditMemoTemplateId:
          description: |
            **Note**: This field is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

            The unique ID of the credit memo template, configured in **Billing Settings** > **Manage Billing Document Configuration** through the Zuora UI. For example, 2c92c08a6246fdf101626b1b3fe0144b.
          type: string
        crmId:
          description: 'CRM account ID for the account, up to 100 characters.

            '
          type: string
        currency:
          description: 'A currency as defined in Billing Settings in the Zuora UI.

            '
          type: string
        debitMemoTemplateId:
          description: |
            **Note**: This field is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

            The unique ID of the debit memo template, configured in **Billing Settings** > **Manage Billing Document Configuration** through the Zuora UI. For example, 2c92c08d62470a8501626b19d24f19e2.
          type: string
        documentDate:
          description: "The date of the billing document, in `yyyy-mm-dd` format.\
            \ It represents the invoice date for invoices, credit memo date for credit\
            \ memos, and debit memo date for debit memos.\n\n- If this field is specified,\
            \ the specified date is used as the billing document date. \n- If this\
            \ field is not specified, the date specified in the `targetDate` is used\
            \ as the billing document date.\n"
          format: date
          type: string
        hpmCreditCardPaymentMethodId:
          description: |
            The ID of the HPM credit card payment method associated with this account. If the `autoPay` field is set to `true`, you must provide either this field or the `creditCard` field, but not both.

            **Note:** Non-credit card payment methods are not supported.
          type: string
        invoice:
          default: true
          description: "**Note:** This field has been replaced by the `runBilling`\
            \ field. The\n`invoice` field is only available for backward compatibility.\
            \ \n\nCreates an invoice for a subscription. The invoice generated in\
            \ this\noperation is only for this subscription, not for the entire customer\n\
            account.\n\nIf the value is `true`, an invoice is created. If the value\
            \ is\n`false`, no action is taken.\n\n**Note**: This field is only available\
            \ if you set the `zuora-version` request header to `196.0` or `207.0`.\n"
          type: boolean
        invoiceCollect:
          default: true
          description: |2

            **Note:** This field has been replaced by the `invoice` field
            and the `collect` field. `invoiceCollect` is available only for backward
            compatibility.


            If this field is set to `true`, and a subscription is created, an invoice is generated at account creation time and payment is immediately collected using the account's default payment method.


            **Note**: This field is only available if you set the `zuora-version` request header to `186.0`, `187.0`, `188.0`, or `189.0`.
          type: boolean
        invoiceDeliveryPrefsEmail:
          default: false
          description: "Whether the customer wants to receive invoices through email.\
            \ \n"
          type: boolean
        invoiceDeliveryPrefsPrint:
          default: false
          description: 'Whether the customer wants to receive printed invoices, such
            as through postal mail.

            '
          type: boolean
        invoiceTargetDate:
          description: "**Note:** This field has been replaced by the `targetDate`\
            \ field. The\n`invoiceTargetDate` field is only available for backward\n\
            compatibility.  \n\n\nDate through which to calculate charges if an invoice\
            \ is generated, as yyyy-mm-dd. Default is current date.\n\n\nThis field\
            \ is in REST API minor version control. To use this field in\nthe method,\
            \ you can set the `zuora-version` parameter to the minor\nversion number\
            \ in the request header. Supported minor versions are\n`207.0` and earlier.\
            \ \n"
          format: date
          type: string
        invoiceTemplateId:
          description: 'Invoice template ID, configured in Billing Settings in the
            Zuora UI.

            '
          type: string
        name:
          description: 'Account name, up to 255 characters.

            '
          type: string
        notes:
          description: A string of up to 65,535 characters.
          type: string
        parentId:
          description: Identifier of the parent customer account for this Account
            object. The length is 32 characters. Use this field if you have customer
            hierarchy enabled.
          type: string
        paymentGateway:
          description: 'The name of the payment gateway instance. If null or left
            unassigned, the Account will use the Default Gateway.

            '
          type: string
        paymentMethod:
          $ref: '#/definitions/POSTAccountTypePaymentMethod'
        paymentTerm:
          description: 'Payment terms for this account. Possible values are: `Due
            Upon Receipt`, `Net 30`, `Net 60`, `Net 90`.

            '
          type: string
        runBilling:
          default: true
          description: "Creates an invoice for a subscription. If you have the Invoice\
            \ Settlement feature enabled, a credit memo might also be created based\
            \ on the [invoice and credit memo generation rule.](https://knowledgecenter.zuora.com/CB_Billing/Invoice_Settlement/Credit_and_Debit_Memos/Rules_for_Generating_Invoices_and_Credit_Memos).\
            \ \n\n\nThe billing documents generated\nin this operation is only for\
            \ this subscription, not for the entire\ncustomer account.\n\n\nPossible\
            \ values:\n\n- `true`: An invoice is created. If you have the Invoice\
            \ Settlement feature enabled, a credit memo might also be created.\n\n\
            \n- `false`: No invoice is created.\n\n\n**Note:** This field is in Zuora\
            \ REST API version control. Supported\nminor versions are `211.0` or later.\
            \ To use this field in the method,\nyou must set the `zuora-version` parameter\
            \ to the minor version number\nin the request header.\n"
          enum:
          - true
          - false
          type: boolean
        salesRep:
          description: The name of the sales representative associated with this account,
            if applicable. Maximum of 50 characters.
          type: string
        sequenceSetId:
          description: "The ID of the billing document sequence set to assign to the\
            \ customer account. \n\nThe billing documents to generate for this account\
            \ will adopt the prefix and starting document number configured in the\
            \ sequence set.\n\nIf a customer account has no assigned billing document\
            \ sequence set, billing documents generated for this account adopt the\
            \ prefix and starting document number from the default sequence set.\n"
          type: string
        soldToContact:
          $ref: '#/definitions/POSTAccountTypeSoldToContact'
        soldToSameAsBillTo:
          description: "Whether the sold-to contact and bill-to contact are the same\
            \ entity. \n\nThe created account has the same bill-to contact and sold-to\
            \ contact entity only when all the following conditions are met in the\
            \ request body:\n\n- This field is set to `true`. \n- A bill-to contact\
            \ is specified.\n- No sold-to contact is specified.\n"
          type: boolean
        subscription:
          $ref: '#/definitions/POSTAccountTypeSubscription'
        tagging:
          description: ''
          type: string
        targetDate:
          description: |
            Date through which to calculate charges if an invoice or a credit memo is generated, as yyyy-mm-dd. Default is current date.

            **Note:** The credit memo is only available only if you have the Invoice Settlement feature enabled.

            This field is in Zuora REST API version control. Supported minor versions are `211.0` and later. To use this field in the method, you must set the  `zuora-version` parameter to the minor version number in the request header.
          format: date
          type: string
        taxInfo:
          description: 'Container for tax exempt information, used to establish the
            tax exempt status of a customer account.

            '
          properties:
            VATId:
              description: "EU Value Added Tax ID. \n\n**Note:** This feature is in\
                \ Limited Availability. If you wish to have access to the feature,\
                \ submit a request at [Zuora Global Support](https://support.zuora.com).\n"
              type: string
            companyCode:
              description: "Unique code that identifies a company account in Avalara.\
                \ Use this field to calculate taxes based on origin and sold-to addresses\
                \ in Avalara.\n\n**Note:** This feature is in Limited Availability.\
                \ If you wish to have access to the feature, submit a request at [Zuora\
                \ Global Support](https://support.zuora.com). \n"
              type: string
            exemptCertificateId:
              description: 'ID of the customer tax exemption certificate. Requires
                Zuora Tax.

                '
              type: string
            exemptCertificateType:
              description: 'Type of tax exemption certificate that the customer holds.
                Requires Zuora Tax.

                '
              type: string
            exemptDescription:
              description: 'Description of the tax exemption certificate that the
                customer holds. Requires Zuora Tax.

                '
              type: string
            exemptEffectiveDate:
              description: |
                Date when the customer tax exemption starts. Requires Zuora Tax.

                Format: `yyyy-mm-dd`. Defaults to the current date.
              format: date
              type: string
            exemptEntityUseCode:
              description: |
                A unique entity use code to apply exemptions in Avalara AvaTax.

                This account-level field is required only when you choose Avalara as your tax engine. See [Exempt Transactions](https://developer.avalara.com/avatax/handling-tax-exempt-customers/)for more details.
              maxLength: 64
              type: string
            exemptExpirationDate:
              description: |
                Date when the customer tax exemption expires. Requires Zuora Tax.

                Format: `yyyy-mm-dd`. Defaults to the current date.
              format: date
              type: string
            exemptIssuingJurisdiction:
              description: 'Jurisdiction in which the customer tax exemption certificate
                was issued.

                '
              type: string
            exemptStatus:
              description: |
                Status of the account tax exemption. Requires Zuora Tax.

                Required if you use Zuora Tax. This field is unavailable if Zuora Tax is not used.

                Values: `Yes`, `No`, `pendingVerification`.
              type: string
          type: object
      required:
      - name
      - currency
      - billToContact
      type: object
    - $ref: '#/definitions/AccountObjectNSFields'
    - $ref: '#/definitions/AccountObjectCustomFields'
    example:
      additionalEmailAddresses:
      - contact1@example.com
      - contact2@example.com
      autoPay: false
      billCycleDay: 0
      billToContact:
        address1: 1051 E Hillsdale Blvd
        city: Foster City
        country: United States
        firstName: John
        lastName: Smith
        state: CA
        workEmail: smith@example.com
        zipCode: '94404'
      currency: USD
      hpmCreditCardPaymentMethodId: 2c92c0f93cf64d94013cfe2d20db61a7
      invoiceDeliveryPrefsEmail: true
      invoiceDeliveryPrefsPrint: false
      name: Zuora Test Account
      notes: This account is for demo purposes.
      paymentTerm: Due Upon Receipt
      subscription:
        autoRenew: true
        contractEffectiveDate: '2016-01-01'
        initialTerm: 12
        notes: This is a trial subscription for POST account demo.
        renewalTerm: 12
        subscribeToRatePlans:
        - chargeOverrides:
          - price: 1000
            productRatePlanChargeId: 2c92c0f94ac8307f014ae5d4a5156b28
          - price: 1000
            productRatePlanChargeId: 2c92c0f94ac8307f014ae5dbe2947851
          productRatePlanId: 2c92c0f94ac8307f014ae5d3d1d469e2
        - chargeOverrides:
          - price: 1000
            productRatePlanChargeId: 2c92c0f83cf64298013d027725a67b7b
          productRatePlanId: 2c92c0f93cf64d94013d027681560341
        termType: TERMED
  POSTAccountTypeBillToContact:
    allOf:
    - properties:
        address1:
          description: 'First address line, 255 characters or less.

            '
          type: string
        address2:
          description: 'Second address line, 255 characters or less.

            '
          type: string
        city:
          description: 'City, 40 characters or less.

            '
          type: string
        country:
          description: 'Country; must be a valid country name or abbreviation. If
            using Zuora Tax, you must specify a country in the sold-to contact to
            calculate tax. A bill-to contact may be used if no sold-to contact is
            provided.

            '
          type: string
        county:
          description: 'County; 32 characters or less. May optionally be used by Zuora
            Tax to calculate county tax.

            '
          type: string
        fax:
          description: 'Fax phone number, 40 characters or less.

            '
          type: string
        firstName:
          description: 'First name, 100 characters or less.

            '
          type: string
        homePhone:
          description: 'Home phone number, 40 characters or less.

            '
          type: string
        lastName:
          description: 'Last name, 100 characters or less.

            '
          type: string
        mobilePhone:
          description: 'Mobile phone number, 40 characters or less.

            '
          type: string
        nickname:
          description: 'Nickname for this contact

            '
          type: string
        otherPhone:
          description: 'Other phone number, 40 characters or less.

            '
          type: string
        otherPhoneType:
          description: 'Possible values are: `Work`, `Mobile`, `Home`, `Other`.

            '
          type: string
        personalEmail:
          description: 'Personal email address, 80 characters or less.

            '
          type: string
        state:
          description: 'State; must be a valid state or province name or 2-character
            abbreviation. If using Zuora Tax, be aware that Zuora tax requires a state
            (in the US) or province (in Canada) in this field for the sold-to contact
            to calculate tax, and that a bill-to contact may be used if no sold-to
            contact is provided.

            '
          type: string
        taxRegion:
          description: 'If using Zuora Tax, a region string as optionally defined
            in your tax rules. Not required.

            '
          type: string
        workEmail:
          description: 'Work email address, 80 characters or less.

            '
          type: string
        workPhone:
          description: 'Work phone number, 40 characters or less.

            '
          type: string
        zipCode:
          description: 'Zip code, 20 characters or less.

            '
          type: string
      required:
      - firstName
      - lastName
      type: object
    - $ref: '#/definitions/ContactObjectCustomFields'
    description: 'Container for bill-to contact information for this account. If you
      do not provide a sold-to contact, the bill-to contact is copied to sold-to contact.
      Once the sold-to contact is created, changes to billToContact will not affect
      soldToContact and vice versa.

      '
    title: Contact
  POSTAccountTypeCreditCard:
    allOf:
    - properties:
        cardHolderInfo:
          description: |
            Container for cardholder information. If provided, Zuora
                  will only use this information for this card.  If not provided, Zuora
                  will use the account''s existing bill-to contact information for this
                  card.
          properties:
            addressLine1:
              description: 'First address line, 255 characters or less.

                '
              type: string
            addressLine2:
              description: 'Second address line, 255 characters or less.

                '
              type: string
            cardHolderName:
              description: 'The card holder''s full name as it appears on the card,
                e.g., "John J Smith", 50 characters or less.

                '
              type: string
            city:
              description: 'City, 40 characters or less.

                '
              type: string
            country:
              description: 'Country; must be a valid country name or abbreviation.

                '
              type: string
            email:
              description: 'Card holder''s email address, 80 characters or less.

                '
              type: string
            phone:
              description: 'Phone number, 40 characters or less.

                '
              type: string
            state:
              description: 'State; must be a valid state name or 2-character abbreviation.

                '
              type: string
            zipCode:
              description: 'Zip code, 20 characters or less.

                '
              type: string
          required:
          - addressLine1
          - cardHolderName
          - city
          - country
          - state
          - zipCode
          type: object
        cardNumber:
          description: 'Card number, up to 16 characters. Once created, this field
            can''t be updated or queried, and is only available in masked format (e.g.,
            XXXX-XXXX-XXXX-1234).

            '
          type: string
        cardType:
          description: |
            The type of the credit card.

            Possible values  include `Visa`, `MasterCard`, `AmericanExpress`, `Discover`, `JCB`, and `Diners`. For more information about credit card types supported by different payment gateways, see [Supported Payment Gateways](https://knowledgecenter.zuora.com/CB_Billing/M_Payment_Gateways/Supported_Payment_Gateways).
          type: string
        expirationMonth:
          description: 'Two-digit expiration month (01-12).

            '
          type: string
        expirationYear:
          description: 'Four-digit expiration year.

            '
          type: string
        securityCode:
          description: 'The CVV or CVV2 security code of the card. To ensure PCI compliance,
            this value is not stored and cannot be queried.

            '
          type: string
      required:
      - cardHolderInfo
      - cardNumber
      - cardType
      - expirationMonth
      - expirationYear
      type: object
    - $ref: '#/definitions/PaymentMethodObjectCustomFields'
    description: "Container for information on a credit card to associate with this\
      \ account. \n  If the `autoPay` field is set to `true`, you must provide either\
      \ this field or the `hpmCreditCardPaymentMethodId` field, but not both.\n"
    title: creditCard
  POSTAccountTypePaymentMethod:
    allOf:
    - properties:
        type:
          description: "Type of payment method. The following types of the payment\
            \ method are supported:             \n\n* `CreditCard` - Credit card payment\
            \ method.\n* `ACH` - ACH payment method.\n"
          enum:
          - CreditCard
          - ACH
          type: string
      required:
      - type
      type: object
    - $ref: '#/definitions/POSTAccountCreatePaymentMethodACH'
    - $ref: '#/definitions/POSTAccountCreatePaymentMethodCreditCard'
    description: |
      Container for information on payment methods to associate with this account. To create a credit card payment method when creating an account, Zuora recommends that you use this container instead of the `creditCard` field.

      Note that you can not use this field together with `creditCard` or `hpmCreditCardPaymentMethodId` to create a payment method.
    title: paymentMethod
  POSTAccountTypeSoldToContact:
    allOf:
    - properties:
        address1:
          description: 'First address line, 255 characters or less.

            '
          type: string
        address2:
          description: 'Second address line, 255 characters or less.

            '
          type: string
        city:
          description: 'City, 40 characters or less.

            '
          type: string
        country:
          description: 'Country; must be a valid country name or abbreviation. If
            using Zuora Tax, you must specify a country in the sold-to contact to
            calculate tax. A bill-to contact may be used if no sold-to contact is
            provided.

            '
          type: string
        county:
          description: 'County; 32 characters or less. May optionally be used by Zuora
            Tax to calculate county tax.

            '
          type: string
        fax:
          description: 'Fax phone number, 40 characters or less.

            '
          type: string
        firstName:
          description: 'First name, 100 characters or less.

            '
          type: string
        homePhone:
          description: 'Home phone number, 40 characters or less.

            '
          type: string
        lastName:
          description: 'Last name, 100 characters or less.

            '
          type: string
        mobilePhone:
          description: 'Mobile phone number, 40 characters or less.

            '
          type: string
        nickname:
          description: 'Nickname for this contact

            '
          type: string
        otherPhone:
          description: 'Other phone number, 40 characters or less.

            '
          type: string
        otherPhoneType:
          description: 'Possible values are: `Work`, `Mobile`, `Home`, `Other`.

            '
          type: string
        personalEmail:
          description: 'Personal email address, 80 characters or less.

            '
          type: string
        state:
          description: 'State; must be a valid state or province name or 2-character
            abbreviation. If using Zuora Tax, be aware that Zuora Tax requires a state
            (in the US) or province (in Canada) in this field for the sold-to contact
            to calculate tax, and that a bill-to contact may be used if no sold-to
            contact is provided.

            '
          type: string
        taxRegion:
          description: 'If using Zuora Tax, a region string as optionally defined
            in your tax rules. Not required.

            '
          type: string
        workEmail:
          description: 'Work email address, 80 characters or less.

            '
          type: string
        workPhone:
          description: 'Work phone number, 40 characters or less.

            '
          type: string
        zipCode:
          description: 'Zip code, 20 characters or less.

            '
          type: string
      required:
      - firstName
      - lastName
      type: object
    - $ref: '#/definitions/ContactObjectCustomFields'
    description: 'Container for optional sold-to contact; uses the same field structure
      as the bill-to contact (above). If a sold-to contact is not specified, one is
      created from the bill-to contact. Once created, these are two separate data
      entities, and future changes to one do not affect the other.

      '
    title: Contact
  POSTAccountTypeSubscription:
    allOf:
    - properties:
        autoRenew:
          description: 'If `true`, auto-renew is enabled. Default is `false`.

            '
          type: boolean
        contractEffectiveDate:
          description: 'Effective contract date for this subscription, as `yyyy-mm-dd`.

            '
          format: date
          type: string
        customerAcceptanceDate:
          description: |
            The date on which the services or products within a subscription have been accepted by the customer, as `yyyy-mm-dd`.

            Default value is dependent on the value of other fields. See Notes section for more details.
          format: date
          type: string
        initialTerm:
          description: "Duration of the initial subscription term in whole months.\
            \  Default is 0. \n"
          format: int64
          type: integer
        invoiceOwnerAccountKey:
          description: "Invoice owner account number or ID.\n\n**Note:** This feature\
            \ is in Limited Availability. If you wish to have access to the feature,\
            \ submit a request at [Zuora Global Support](https://support.zuora.com).\
            \ \n"
          type: string
        invoiceSeparately:
          description: "Separates a single subscription from other subscriptions and\
            \ invoices the charge independently. \n\nIf the value is `true`, the subscription\
            \ is billed separately from other subscriptions. If the value is `false`,\
            \ the subscription is included with other subscriptions in the account\
            \ invoice.\nThe default value is `false`.\n\nPrerequisite: The default\
            \ subscription setting `Enable Subscriptions to be Invoiced Separately`\
            \ must be set to `Yes`.\n"
          type: boolean
        notes:
          description: ''
          type: string
        renewalTerm:
          description: 'Duration of the renewal term in whole months. Default is 0.

            '
          format: int64
          type: integer
        serviceActivationDate:
          description: |
            The date on which the services or products within a subscription have been activated and access has been provided to the customer, as `yyyy-mm-dd`.

            Default value is dependent on the value of other fields. See Notes section for more details.
          format: date
          type: string
        subscribeToRatePlans:
          description: 'Container for one or more rate plans for this subscription.

            '
          items:
            $ref: '#/definitions/POSTSrpCreateType'
          type: array
        subscriptionNumber:
          description: |
            Subscription Number. The value can be up to 1000 characters.

            If you do not specify a subscription number when creating a subscription for the new account, Zuora will generate a subscription number automatically.

            If the account is created successfully, the subscription number is returned in the `subscriptionNumber` response field.
          type: string
        termStartDate:
          description: 'The date on which the subscription term begins, as `yyyy-mm-dd`.
            If this is a renewal subscription, this date is different from the subscription
            start date.

            '
          format: date
          type: string
        termType:
          description: 'Possible values are: `TERMED`, `EVERGREEN`.

            '
          type: string
      required:
      - contractEffectiveDate
      - termType
      type: object
    - $ref: '#/definitions/SubscriptionObjectQTFields'
    - $ref: '#/definitions/SubscriptionObjectNSFields'
    - $ref: '#/definitions/SubscriptionObjectCustomFields'
    description: 'Container for subscription information, used if creating a subscription
      for the new account at the time of account creation.

      '
    title: subscription
  POSTAccountingCodeResponseType:
    properties:
      id:
        description: 'ID of the newly created accounting code.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  POSTAccountingCodeType:
    allOf:
    - properties:
        glAccountName:
          description: |
            Name of the account in your general ledger.

            Field only available if you have Zuora Finance enabled. Maximum of 255 characters.
          type: string
        glAccountNumber:
          description: |
            Account number in your general ledger.

            Field only available if you have Zuora Finance enabled. Maximum of 255 characters.
          type: string
        name:
          description: |
            Name of the accounting code.

            Accounting code name must be unique. Maximum of 100 characters.
          type: string
        notes:
          description: 'Maximum of 2,000 characters.

            '
          type: string
        type:
          description: "Accounting code type. You cannot create new accounting codes\
            \ of type `AccountsReceivable`. \n\nNote that `On-Account Receivable`\
            \ is only available if you enable the Invoice Settlement feature. \n"
          enum:
          - AccountsReceivable
          - On-Account Receivable
          - Cash
          - OtherAssets
          - CustomerCashOnAccount
          - DeferredRevenue
          - SalesTaxPayable
          - OtherLiabilities
          - SalesRevenue
          - SalesDiscounts
          - OtherRevenue
          - OtherEquity
          - BadDebt
          - OtherExpenses
          type: string
      required:
      - name
      - type
      type: object
    - $ref: '#/definitions/AccountingCodeObjectCustomFields'
    example:
      name: CASH
      type: Cash
  POSTAccountingPeriodResponseType:
    properties:
      id:
        description: 'ID of the newly-created accounting period.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  POSTAccountingPeriodType:
    allOf:
    - properties:
        endDate:
          description: 'The end date of the accounting period in yyyy-mm-dd format,
            for example, "2016-02-19".

            '
          format: date
          type: string
        fiscalYear:
          description: 'Fiscal year of the accounting period in yyyy format, for example,
            "2016".

            '
          type: string
        fiscal_quarter:
          description: ''
          format: int64
          type: integer
        name:
          description: |
            Name of the accounting period.

            Accounting period name must be unique. Maximum of 100 characters.
          type: string
        notes:
          description: |
            Notes about the accounting period.

            Maximum of 255 characters.
          type: string
        startDate:
          description: 'The start date of the accounting period in yyyy-mm-dd format,
            for example, "2016-02-19".

            '
          format: date
          type: string
      required:
      - name
      - startDate
      - endDate
      - fiscalYear
      type: object
    - $ref: '#/definitions/AccountingPeriodObjectCustomFields'
    example:
      endDate: '2016-06-30'
      fiscalYear: 2016
      name: Jun 2016
      notes: optional notes here
      startDate: '2016-06-01'
  POSTAttachmentResponseType:
    properties:
      fileId:
        description: 'ID to identify the attached file. Use this file ID with [Get
          files](https://www.zuora.com/developer/api-reference/#operation/GET_Files)
          to download the file.

          '
        type: string
      id:
        description: 'Attachment id.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  POSTAuthorizeResponse:
    example:
      gatewayOrderId: A001
      resultCode: 0
      resultMessage: 'Request ID: 5231719060426316203012'
      success: true
      transactionId: '5231719060426316203012'
    properties:
      gatewayOrderId:
        description: The order ID for the gateway.
        type: string
      resultCode:
        description: The result code of the request. 0 indicates the call succeeded,
          and other values indicate the call failed.
        type: string
      resultMessage:
        description: The corresponding request ID.
        type: string
      success:
        description: Indicates whether the call succeeded.
        type: boolean
      transactionId:
        description: The ID of the transaction.
        type: string
    type: object
  POSTBillingDocumentFilesDeletionJobRequest:
    example:
      accountIds:
      - 4028905558b483220158b48983dd0015
      - 6028905558b483220158b68983dd0016
    properties:
      accountIds:
        description: "Container for the IDs of the accounts that you want to create\
          \ the billing document files deletion job for. \n"
        items:
          type: string
        type: array
    type: object
  POSTBillingDocumentFilesDeletionJobResponse:
    properties:
      id:
        description: 'The unique ID of the billing document file deletion job.

          '
        type: string
      status:
        description: 'The status of the billing document file deletion job.

          '
        enum:
        - Pending
        type: string
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  POSTBillingPreviewCreditMemoItem:
    properties:
      amount:
        description: 'The amount of the credit memo item. For tax-inclusive credit
          memo items, the amount indicates the credit memo item amount including tax.
          For tax-exclusive credit memo items, the amount indicates the credit memo
          item amount excluding tax

          '
        format: double
        type: number
      amountWithoutTax:
        description: 'The credit memo item amount excluding tax.

          '
        format: double
        type: number
      appliedToItemId:
        description: 'The unique ID of the credit memo item that the discount charge
          is applied to.

          '
        type: string
      chargeDate:
        description: 'The date when the credit memo item is created.

          '
        format: date-time
        type: string
      chargeNumber:
        description: 'Number of the charge.

          '
        type: string
      chargeType:
        description: "The type of charge. \n\nPossible values are `OneTime`, `Recurring`,\
          \ and `Usage`.\n"
        type: string
      comment:
        description: 'Comment of the credit memo item.

          '
        type: string
      id:
        description: 'Credit memo item id.

          '
        type: string
      processingType:
        description: "Identifies the kind of charge. \n\nPossible values:\n* charge\n\
          * discount\n* prepayment\n* tax\n"
        type: string
      quantity:
        description: 'Quantity of this item, in the configured unit of measure for
          the charge.

          '
        format: decimal
        type: string
      ratePlanChargeId:
        description: 'Id of the rate plan charge associated with this item.

          '
        type: string
      serviceEndDate:
        description: 'End date of the service period for this item, i.e., the last
          day of the service period, in yyyy-mm-dd format.

          '
        format: date
        type: string
      serviceStartDate:
        description: 'Start date of the service period for this item, in yyyy-mm-dd
          format. If the charge is a one-time fee, this is the date of that charge.

          '
        format: date
        type: string
      sku:
        description: 'Unique SKU for the product associated with this item.

          '
        type: string
      skuName:
        description: 'Name of the unique SKU for the product associated with this
          item.

          '
        type: string
      subscriptionId:
        description: 'ID of the subscription associated with this item.

          '
        type: string
      subscriptionNumber:
        description: 'Name of the subscription associated with this item.

          '
        type: string
      unitOfMeasure:
        description: 'Unit used to measure consumption.

          '
        type: string
    title: creditMemoItems
    type: object
  POSTBillingPreviewInvoiceItem:
    properties:
      appliedToItemId:
        description: 'The unique ID of the invoice item that the discount charge is
          applied to.

          '
        type: string
      chargeAmount:
        description: 'The amount of the charge. This amount doesn''t include taxes
          regardless if the charge''s tax mode is inclusive or exclusive.

          '
        format: decimal
        type: string
      chargeDate:
        description: 'The date when the invoice item was created.

          '
        format: date-time
        type: string
      chargeDescription:
        description: 'Description of the charge.

          '
        type: string
      chargeId:
        description: 'Id of the charge.

          '
        type: string
      chargeName:
        description: 'Name of the charge.

          '
        type: string
      chargeNumber:
        description: 'Number of the charge.

          '
        type: string
      chargeType:
        description: "The type of charge. \n\nPossible values are `OneTime`, `Recurring`,\
          \ and `Usage`.\n"
        type: string
      id:
        description: 'Invoice item ID.

          '
        type: string
      processingType:
        description: "Identifies the kind of charge. \n\nPossible values:\n* charge\n\
          * discount\n* prepayment\n* tax"
        type: string
      productName:
        description: 'Name of the product associated with this item.

          '
        type: string
      quantity:
        description: 'Quantity of this item, in the configured unit of measure for
          the charge.

          '
        format: decimal
        type: string
      serviceEndDate:
        description: 'End date of the service period for this item, i.e., the last
          day of the service period, in `yyyy-mm-dd` format.

          '
        format: date
        type: string
      serviceStartDate:
        description: 'Start date of the service period for this item, in `yyyy-mm-dd`
          format. If the charge is a one-time fee, this is the date of that charge.

          '
        format: date
        type: string
      subscriptionId:
        description: 'ID of the subscription associated with this item.

          '
        type: string
      subscriptionName:
        description: 'Name of the subscription associated with this item.

          '
        type: string
      subscriptionNumber:
        description: 'Number of the subscription associated with this item.

          '
        type: string
      taxAmount:
        description: 'Tax applied to the charge. This field returns `0` becasue the
          BillingPreview operation does not calculate taxes for charges in the subscription.

          '
        format: decimal
        type: string
      unitOfMeasure:
        description: 'Unit used to measure consumption.

          '
        type: string
    title: invoiceItems
    type: object
  POSTCatalogType:
    example:
      targetEntityIds:
      - 8a80825555a3c7a10155b460f53858e6
    properties:
      toEntityIds:
        description: 'The entity that you want to share the product with.

          '
        items:
          title: Entity IDs
          type: string
        type: array
    required:
    - toEntityIds
    type: object
  POSTDecryptResponseType:
    properties:
      decryptedSignature:
        description: |
          The string of a list of the following items: Payment Pages 2.0 URL, tenant ID, timestamp,the Payment Page ID

          The items are separated by '#', e.g., "/apps/publichostedpagelite.do#12271#rvBp1AxBJwk6FrT7aqFuABIINiRbwJCc
          #1418848373103#2c92c0f948f899"
        type: string
      publicKey:
        description: 'The public key passed in as a request parameter.

          '
        type: string
      signature:
        description: 'The signature passed in as a request parameter.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  POSTDecryptionType:
    example:
      method: POST
      publicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmWRFTwxQOqaG4JDZSQF/NJWvCDoSXm3TYilNzoN8nBbuvhKa7SZBBS+VP6rFqcbIU38Fu+Rf09vqyYOxuasPJe7yhqeOiStWB/aCPLhwXBeKt37L/qkwpNOKb1FETtUgrc+UjbtT0pnl55wCfi+Ik//X5SQi0B+c0ei1DQv99qmPJJErrhnBtdxeaWAT0EYAo42AOQ5cp0UWDY6OdOYL6+RyFOUFIs1yEgtfg4VMMSpSOKBOhYclQYuSC7nBF5Cc18ydtzsBpf7l49gCLTFzG45NCDAocada8KihFNpGXbauV9V4EPRD4lofaXdsXJ5Tw8/+KCsrUlvIQI3vcEv9LQIDAQAB
      signature: BeNYuHFkp/sbfm3clYyCkKEqd7XVTRDOJ1/5rL0tpkqxiSq+maqYkDz5kA+lN64ipoefQuJ7Rdm5TpICErufeJfa2sfTmGARDJ0hr+StXfLsIxHmDoNH5dqcXv3W6MR4kaljEqPVuhzGQ0We98DG52JcHWqqN53oHwTyuZuXocQqnmiE23IPm8UrU3g4hX/OLat0R81wDQ1SslZ+4pnqlncpTpopCK4FxeG3B0gYMhZcYd17Cmf0N3tEHVXHDlJIm4rOx0OVT+YBnjbKYLM0jxYu7PRKRis+yzN1BoappOEB0gmPjznIeiYF0u/fJdZWoEwK7d9mrfJeOBbpFyRoHA==
    properties:
      method:
        description: 'The type of the request. Set it to POST.

          '
        type: string
      publicKey:
        description: 'The public key generated by Zuora.

          '
        type: string
      signature:
        description: 'The signature generated by Zuora.

          '
        type: string
    required:
    - method
    - publicKey
    - signature
    type: object
  POSTDelayAuthorizeCapture:
    example:
      accountId: 402881e861bd8a7e0161c6a453750026
      accountNumber: A00000004
      amount: 1.99
      gatewayOrderId: A001
      softDescriptor: Service fee
      softDescriptorPhone: 400-000-1234
    properties:
      accountId:
        description: The ID of the customer account.
        type: string
      accountNumber:
        description: The number of the customer account.
        type: string
      amount:
        description: The amount of the trasaction.
        type: number
      gatewayOrderId:
        description: The order ID for the specific gateway.
        type: string
      softDescriptor:
        description: "A text, rendered on a cardholder\u2019s statement, describing\
          \ a particular product or service purchased by the cardholder."
        type: string
      softDescriptorPhone:
        description: The phone number that relates to the soft descriptor, usually
          the phone number of customer service.
        type: string
    required:
    - accountId
    - accountNumber
    - amount
    - gatewayOrderId
    type: object
  POSTDistributionItemType:
    properties:
      accountingPeriodName:
        description: "Name of the accounting period. The open-ended accounting period\
          \ is named `Open-Ended`. \n\nThe accounting period must be open.\n"
        type: string
      newAmount:
        description: |
          Amount of revenue you want to distribute into the accounting period.

          The value must be formatted based on the currency, for example, `JPY 30` or `USD 30.15`. If the value is formatted incorrectly, the following error message is returned: `Allocation amount with wrong decimal places.`
        format: decimal
        type: string
    required:
    - accountingPeriodName
    - newAmount
    title: revenueDistributions
    type: object
  POSTDocumentPropertiesType:
    example:
      customFileName: testCreditMemo
      documentId: 40288af1614cee0b01614cf2ec25000a
      documentType: CreditMemo
    properties:
      customFileName:
        description: 'The custom file name to use to generate new Word or PDF files
          for the billing document.

          '
        type: string
      documentId:
        description: 'The unique ID of a billing document that you want to create
          document properties for.

          '
        type: string
      documentType:
        description: "The type of the billing document. \n"
        enum:
        - Invoice
        - CreditMemo
        - DebitMemo
        type: string
    type: object
  POSTEmailBillingDocfromBillRunType:
    example:
      resend: 'true'
    properties:
      resend:
        default: false
        description: 'Whether to send out emails for all the billing documents that
          are associated with the bill run. If the value is `false`, emails are sent
          out only for the billing documents that never have emails sent out.

          '
        type: boolean
    type: object
  POSTEntityConnectionsResponseType:
    properties:
      id:
        description: 'The ID of the connection that you just initiated.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  POSTEntityConnectionsType:
    example:
      targetEntityId: 8a80825556ff28a4015708ba29312ecc
    properties:
      targetEntityId:
        description: 'The ID of the target entity that you want to connect with. You
          can get the entity Id using the Multi-entity: Get entities call.

          '
        maxLength: 32
        type: string
    required:
    - targetEntityId
    type: object
  POSTHMACSignatureResponseType:
    properties:
      signature:
        description: |
          Contains a keyed-hash message authentication code (HMAC)
          e.g. `ZmI0ZjE2ZTMxMWY1YjA0ZTc4MTg1ZDhlYWRkMTEwNDE3M2RiMzNiNQ==<`
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
      token:
        description: 'Contains a token code. e.g. `gCH6gYqQffQCsFKSLuxyagXsuXcIK0uf`

          '
        type: string
    type: object
  POSTHMACSignatureType:
    example:
      accountKey: A00000001
      method: POST
      uri: https://rest.zuora.com/v1/payment-methods/credit-cards
    properties:
      accountKey:
        description: |
          Customer account number or ID.

          Specifies this field only when creating signatures for Create payment method.
        type: string
      method:
        description: 'Possible values are: ''GET'', ''POST'', ''PUT'', ''DELETE'',
          ''OPTIONS''.

          '
        type: string
      name:
        description: |
          Account name.

          Specifies this field only when creating signatures for Create account.
        type: string
      pageId:
        description: |
          The page id of your Payment Pages 2.0 form. Click **Show Page Id** next to the Payment Page name in the Hosted Page List to retrieve the page id.

          Specifies this field only when creating signatures for RSA Signatures.
        type: string
      uri:
        description: |
          The URI of the API object the customer will make a CORS enabled call to.
          e.g. "https://rest.zuora.com/v1/payment-methods/credit-cards"
        type: string
    required:
    - uri
    - method
    type: object
  POSTInvoiceCollectCreditMemosType:
    properties:
      id:
        description: 'The ID of the credit memo.

          '
        type: string
      memoAmount:
        description: 'The amount of the credit memo.

          '
        format: decimal
        type: string
      memoNumber:
        description: 'The unique identification number of the credit memo.

          '
        type: string
    title: creditMemos
    type: object
  POSTInvoiceCollectInvoicesType:
    properties:
      invoiceAmount:
        description: 'The amount of the invoice.

          '
        format: decimal
        type: string
      invoiceId:
        description: 'The ID of the invoice.

          '
        type: string
      invoiceNumber:
        description: 'The unique identification number of the invoice.

          '
        type: string
    title: invoices
    type: object
  POSTInvoiceCollectResponseType:
    properties:
      amountCollected:
        description: 'Payment amount applied.

          '
        format: decimal
        type: string
      creditMemos:
        description: 'Information on one or more credit memos associated with this
          operation.

          '
        items:
          $ref: '#/definitions/POSTInvoiceCollectCreditMemosType'
        type: array
      invoices:
        description: 'Information on one or more invoices associated with this operation.

          '
        items:
          $ref: '#/definitions/POSTInvoiceCollectInvoicesType'
        type: array
      paymentId:
        description: 'Payment ID.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  POSTInvoiceCollectType:
    example:
      accountKey: 4028925a4cb74ec9014cb7520fc00005
      invoiceId: 4028925a4cb74ec9014cb7540988002e
      paymentGateway: TestGateway
    properties:
      accountKey:
        description: 'Customer account ID or account number.

          '
        type: string
      documentDate:
        description: "The date that should appear on the invoice and credit memo being\
          \ generated,\nin `yyyy-mm-dd` format. If this field is omitted\nand `invoiceId`\
          \ is not specified, the current date is used by default. \n\n\n**Note:**\
          \ The credit memo is only available if you have the Invoice Settlement feature\
          \ enabled.\n\n\nThis field is in Zuora REST API version control. Supported\
          \ minor\nversions are `215.0` and later. To use this field in the method,\
          \ you\nmust set the  `zuora-version` parameter to the minor version number\
          \ in\nthe request header.\n"
        format: date
        type: string
      invoiceDate:
        description: "**Note:** This field has been replaced by the `documentDate`\
          \ field in Zuora REST API version `215.0` and later. The\n`invoiceDate`\
          \ field is only available for backward\ncompatibility.\n\nThe date that\
          \ should appear on the invoice being generated,\nin `yyyy-mm-dd` format.\
          \ If this field is omitted\nand `invoiceId` is not specified, the current\
          \ date is used by default. \n\nThis field is in Zuora REST API version control.\
          \ Supported minor\nversions are `214.0` and earlier.\n"
        format: date
        type: string
      invoiceId:
        description: |
          The ID of an existing invoice for which to collect payment using
          the account's default payment method. If this value is specified, no new
          invoice is generated, and the following fields are ignored:
            - `invoiceDate` and `invoiceTargetDate` (if the Zuora REST API version is 214.0 or earlier)
            - `documentDate` and `targetDate` (if the Zuora REST API version is 215.0 or later)
        type: string
      invoiceTargetDate:
        description: "**Note:** This field has been replaced by the `targetDate` field\
          \ in Zuora REST API version `215.0` and later. The\n`invoiceTargetDate`\
          \ field is only available for backward\ncompatibility.\n\n\nThe date through\
          \ which to calculate charges on this account if an invoice is generated,\
          \ in `yyyy-mm-dd` format. If this field is omitted\nand `invoiceId` is not\
          \ specified, the current date is used by default. \n\n\nThis field is in\
          \ Zuora REST API version control. Supported minor\nversions are `214.0`\
          \ and earlier.  \n"
        format: date
        type: string
      paymentGateway:
        description: 'The name of the gateway that will be used for the payment. Must
          be a valid gateway name and the gateway must support the specific payment
          method. If a value is not specified, the default gateway on the Account
          will be used.

          '
        type: string
      targetDate:
        description: "The date through which to calculate charges on this account\
          \ if an invoice or a credit memo is generated, \nin `yyyy-mm-dd` format.\
          \ If this field is omitted\nand `invoiceId` is not specified, the current\
          \ date is used by default. \n\n\n**Note:** The credit memo is only available\
          \ if you have the Invoice Settlement feature enabled.\n\n\nThis field is\
          \ in Zuora REST API version control. Supported minor\nversions are `215.0`\
          \ and later. To use this field in the method, you\nmust set the  `zuora-version`\
          \ parameter to the minor version number in\nthe request header.\n"
        format: date
        type: string
    required:
    - accountKey
    type: object
  POSTJournalEntryItemType:
    allOf:
    - properties:
        accountingCodeName:
          description: 'Name of the accounting code.

            '
          type: string
        accountingCodeType:
          description: "Accounting code type. This field is required if `accountingCodeName`\
            \ is not unique.\n\nNote that `On-Account Receivable` is only available\
            \ if you enable the Invoice Settlement feature. \n"
          enum:
          - AccountsReceivable
          - On-Account Receivable
          - Cash
          - OtherAssets
          - CustomerCashOnAccount
          - DeferredRevenue
          - SalesTaxPayable
          - OtherLiabilities
          - SalesRevenue
          - SalesDiscounts
          - OtherRevenue
          - OtherEquity
          - BadDebt
          - OtherExpenses
          type: string
        amount:
          description: 'Journal entry item amount in transaction currency.

            '
          format: decimal
          type: string
        homeCurrencyAmount:
          description: |
            Journal entry item amount in home currency.

            This field is required if you have set your home currency for foreign currency conversion. Otherwise, do not pass this field.
          format: decimal
          type: string
        type:
          description: 'Type of journal entry item. '
          enum:
          - Credit
          - Debit
          type: string
      required:
      - accountingCodeName
      - type
      - amount
      type: object
    - $ref: '#/definitions/JournalEntryItemObjectCustomFields'
    title: journalEntryItems
  POSTJournalEntryResponseType:
    properties:
      journalEntryNumber:
        description: 'Journal entry number in the format JE-00000001.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  POSTJournalEntrySegmentType:
    properties:
      segmentName:
        description: 'Name of segment.

          '
        type: string
      segmentValue:
        description: 'Value of segment in this summary journal entry.

          '
        type: string
    required:
    - segmentName
    - segmentValue
    title: segments
    type: object
  POSTJournalEntryType:
    allOf:
    - properties:
        accountingPeriodName:
          description: 'Name of the accounting period. The open-ended accounting period
            is named `Open-Ended`.

            '
          type: string
        currency:
          description: 'The type of currency used. Currency must be active.

            '
          type: string
        journalEntryDate:
          description: 'Date of the journal entry.

            '
          format: date
          type: string
        journalEntryItems:
          description: 'Key name that represents the list of journal entry items.

            '
          items:
            $ref: '#/definitions/POSTJournalEntryItemType'
          type: array
        notes:
          description: |
            The number associated with the revenue event.

            Character limit: 2,000
          type: string
        segments:
          description: 'List of segments that apply to the summary journal entry.

            '
          items:
            $ref: '#/definitions/POSTJournalEntrySegmentType'
          type: array
        transferredToAccounting:
          description: 'Status shows whether the journal entry has been transferred
            to an accounting system.

            '
          enum:
          - 'No'
          - Processing
          - 'Yes'
          - Error
          - Ignore
          type: string
      required:
      - journalEntryDate
      - accountingPeriodName
      - currency
      - journalEntryItems
      type: object
    - $ref: '#/definitions/JournalEntryObjectCustomFields'
    example:
      accountingPeriodName: Nov-2014
      currency: USD
      journalEntryDate: '2014-09-09'
      journalEntryItems:
      - accountingCodeName: Accounts Receivable
        accountingCodeType: Deferred Revenue
        amount: '400.9'
        homeCurrencyAmount: '801.8'
        type: Credit
      - accountingCodeName: Subscription Revenue
        accountingCodeType: Sales Revenue
        amount: '400.9'
        homeCurrencyAmount: '801.8'
        type: Debit
      notes: my account
      segments:
      - segmentName: billToCountry
        segmentValue: United States
      - segmentName: billToState
        segmentValue: California
      transferredToAccounting: 'No'
  POSTJournalRunResponseType:
    properties:
      journalRunNumber:
        description: 'Journal run number.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  POSTJournalRunTransactionType:
    properties:
      type:
        description: "Transaction type. Invoice Adjustment is deprecated on Production.\
          \ Zuora recommends that you use the Invoice Item Adjustment instead.\n\n\
          If you enable the Invoice Settlement feature, Debit Memo Item, Credit Memo\
          \ Item, and Credit Memo Application Item are available, Payment and Refund\
          \ will be replaced by Payment Application and Refund Application. \n\nIf\
          \ you enable both the Invoice Settlement feature and the Invoice Item Settlement\
          \ feature, Payment and Refund will be replaced by Payment Application Item\
          \ and Refund Application Item. \n"
        enum:
        - Invoice Item
        - Taxation Item
        - Invoice Item Adjustment (Invoice)
        - Invoice Item Adjustment (tax)
        - Invoice Adjustment
        - Electronic Payment
        - External Payment
        - Electronic Refund
        - External Refund
        - Electronic Credit Balance Payment
        - External Credit Balance Payment
        - Electronic Credit Balance Refund
        - External Credit Balance Refund
        - Credit Balance Adjustment (Applied from Credit Balance)
        - Credit Balance Adjustment (Transferred to Credit Balance)
        - Revenue Event Item
        - Debit Memo Item (Charge)
        - Debit Memo Item (tax)
        - Credit Memo Item (Charge)
        - Credit Memo Item (tax)
        - Credit Memo Application Item
        - Electronic Payment Application
        - External Payment Application
        - Electronic Refund Application
        - External Refund Application
        - Electronic Payment Application Item
        - External Payment Application Item
        - Electronic Refund Application Item
        - External Refund Application Item
        type: string
    required:
    - type
    title: transactionTypes
    type: object
  POSTJournalRunType:
    example:
      accountingPeriodName: Nov-2014
      journalEntryDate: '2014-11-04'
      transactionTypes:
      - type: Invoice Item
      - type: Revenue Event Item
    properties:
      accountingPeriodName:
        description: |
          Name of the accounting period.

          This field determines the target start and end dates of the journal run.

          Required if you do not include `targetStartDate` and `targetEndDate`.
        type: string
      journalEntryDate:
        description: 'Date of the journal entry.

          '
        format: date
        type: string
      targetEndDate:
        description: |
          The target end date of the journal run.

          If you include `accountingPeriodName`, the `targetEndDate` must be empty or the same as the end date of the accounting period specified in `accountingPeriodName`.
        format: date
        type: string
      targetStartDate:
        description: |
          The target start date of the journal run.

          Required if you include targetEndDate.

          If you include `accountingPeriodName`, the `targetStartDate` must be empty or the same as the start date of the accounting period specified in `accountingPeriodName`.
        format: date
        type: string
      transactionTypes:
        description: |
          Transaction types included in the journal run.

          You can include one or more transaction types.
        items:
          $ref: '#/definitions/POSTJournalRunTransactionType'
        type: array
    required:
    - transactionTypes
    - journalEntryDate
    type: object
  POSTMassUpdateResponseType:
    properties:
      bulkKey:
        description: 'String of 32 characters that identifies the mass action. The
          bulkKey is generated before the mass action is processed. You can use the
          bulkKey to Get the Mass Action Result.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  POSTMemoPdfResponse:
    properties:
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  POSTOrderPreviewRequestType:
    example:
      customFields: {}
      description: This is a description for the Order.
      existingAccountNumber: A00000101
      orderDate: '2018-10-01'
      previewOptions:
        previewThruType: SpecificDate
        previewTypes:
        - OrderMetrics
        - BillingDocs
        - ChargeMetrics
        specificPreviewThruDate: '2019-01-01'
      subscriptions:
      - orderActions:
        - triggerDates:
          - name: ContractEffective
            triggerDate: '2018-12-01'
          - name: ServiceActivation
            triggerDate: '2018-12-01'
          - name: CustomerAcceptance
            triggerDate: '2018-12-01'
          type: UpdateProduct
          updateProduct:
            chargeUpdates:
            - chargeNumber: C-00000210
              pricing:
                recurringPerUnit:
                  listPrice: 20
            ratePlanId: 2c98919c67a5ae9d0167a68f8eb20262
        subscriptionNumber: A-S00000100
      - orderActions:
        - suspend:
            suspendPolicy: Today
          triggerDates:
          - name: ContractEffective
            triggerDate: '2018-12-01'
          - name: ServiceActivation
            triggerDate: '2018-12-01'
          - name: CustomerAcceptance
            triggerDate: '2018-12-01'
          type: Suspend
        subscriptionNumber: A-S00000101
      - orderActions:
        - resume:
            extendsTerm: true
            resumePeriods: 10
            resumePeriodsType: Day
            resumePolicy: FixedPeriodsFromSuspendDate
          triggerDates:
          - name: ContractEffective
            triggerDate: '2018-12-12'
          - name: ServiceActivation
            triggerDate: '2018-12-12'
          - name: CustomerAcceptance
            triggerDate: '2018-12-12'
          type: Resume
        subscriptionNumber: A-S00000102
    properties:
      customFields:
        $ref: '#/definitions/OrderObjectCustomFields'
      description:
        description: A description of the order.
        maxLength: 500
        type: string
      existingAccountNumber:
        description: |
          The account number that this order will be created under. It can be either the accountNumber or the account info. It will return an error if both are specified.
          Note that invoice owner account of the subscriptions included in this order should be the same with the account of the order.
        maxLength: 70
        type: string
      orderDate:
        description: The date when the order is signed. All of the order actions under
          this order will use this order date as the contract effective date.
        format: date
        type: string
      orderNumber:
        description: The order number of this order.
        maxLength: 100
        type: string
      previewAccountInfo:
        $ref: '#/definitions/PreviewAccountInfo'
      previewOptions:
        $ref: '#/definitions/PreviewOptions'
      subscriptions:
        description: Each item includes a set of order actions, which will be applied
          to the same base subscription.
        items:
          properties:
            customFields:
              $ref: '#/definitions/SubscriptionObjectCustomFields'
            orderActions:
              description: The actions to be applied to the subscription. Order actions
                will be stored with the sequence when it was provided in the request.
              items:
                $ref: '#/definitions/PreviewOrderOrderAction'
              type: array
            subscriptionNumber:
              description: 'Leave this field empty to represent new subscription creation,
                or specify a subscription number to update an existing subscription.

                '
              type: string
          type: object
        type: array
    required:
    - orderDate
    - subscriptions
    - previewOptions
    type: object
  POSTOrderRequestType:
    example:
      description: This is a description for the Order.
      existingAccountNumber: A00000001
      orderDate: '2017-01-01'
      orderNumber: OM-00001
      processingOptions:
        applyCreditBalance: true
        billingOptions:
          targetDate: '2017-08-01'
        collectPayment: true
        runBilling: true
      subscriptions:
      - orderActions:
        - createSubscription:
            subscribeToRatePlans:
            - productRatePlanId: efbff07e6290dfb8016291003bd00dda
            subscriptionNumber: SM-00001
            terms:
              autoRenew: true
              initialTerm:
                period: 12
                periodType: Month
                startDate: '2017-01-01'
                termType: TERMED
              renewalSetting: RENEW_WITH_SPECIFIC_TERM
              renewalTerms:
              - period: 12
                periodType: Month
          triggerDates:
          - name: ContractEffective
            triggerDate: '2017-01-01'
          type: CreateSubscription
      - orderActions:
        - createSubscription:
            subscribeToRatePlans:
            - productRatePlanId: efbff07e6290dfb8016291003bd00dda
            subscriptionNumber: SM-00002
            terms:
              autoRenew: true
              initialTerm:
                period: 12
                periodType: Month
                startDate: '2017-02-01'
                termType: TERMED
              renewalSetting: RENEW_WITH_SPECIFIC_TERM
              renewalTerms:
              - period: 12
                periodType: Month
          triggerDates:
          - name: ServiceActivation
            triggerDate: '2017-02-01'
          type: CreateSubscription
      - orderActions:
        - createSubscription:
            subscribeToRatePlans:
            - productRatePlanId: efbff07e6290dfb80162910024c80dd5
            subscriptionNumber: SM-00003
            terms:
              autoRenew: true
              initialTerm:
                period: 12
                periodType: Month
                startDate: '2017-01-01'
                termType: TERMED
              renewalSetting: RENEW_WITH_SPECIFIC_TERM
              renewalTerms:
              - period: 12
                periodType: Month
          triggerDates:
          - name: ServiceActivation
            triggerDate: '2017-03-01'
          - name: CustomerAcceptance
            triggerDate: '2017-04-01'
          type: CreateSubscription
      - orderActions:
        - createSubscription:
            subscribeToRatePlans:
            - chargeOverrides:
              - productRatePlanChargeId: efbff07e6290dfb80162910024d80dd7
                startDate:
                  triggerEvent: SpecificDate
              productRatePlanId: efbff07e6290dfb80162910024c80dd5
              uniqueToken: Sugar-free Monthly
            subscriptionNumber: SM-00004
            terms:
              autoRenew: true
              initialTerm:
                period: 12
                periodType: Month
                startDate: '2017-01-01'
                termType: TERMED
              renewalSetting: RENEW_WITH_SPECIFIC_TERM
              renewalTerms:
              - period: 12
                periodType: Month
          triggerDates:
          - name: ServiceActivation
            triggerDate: '2017-03-01'
          - name: CustomerAcceptance
            triggerDate: '2017-04-01'
          type: CreateSubscription
      - orderActions:
        - suspend:
            suspendPeriods: 2
            suspendPeriodsType: Week
            suspendPolicy: FixedPeriodsFromToday
          triggerDates:
          - name: ContractEffective
            triggerDate: '2018-01-01'
          - name: ServiceActivation
            triggerDate: '2018-01-01'
          - name: CustomerAcceptance
            triggerDate: '2018-01-01'
          type: Suspend
        subscriptionNumber: SM-00005
      - orderActions:
        - resume:
            extendsTerm: true
            resumePolicy: SpecificDate
            resumeSpecificDate: '2018-10-01'
          triggerDates:
          - name: ContractEffective
            triggerDate: '2018-01-01'
          - name: ServiceActivation
            triggerDate: '2018-01-01'
          - name: CustomerAcceptance
            triggerDate: '2018-01-01'
          type: Resume
        subscriptionNumber: SM-00006
    properties:
      customFields:
        $ref: '#/definitions/OrderObjectCustomFields'
      description:
        description: A description of the order.
        maxLength: 500
        type: string
      existingAccountNumber:
        description: |
          The account number that this order will be created under. It can be either the accountNumber or the account info provided. It will return an error if both are specified.
          Note that this actually specifies the invoice owner account of the subscriptions included in this order.
        maxLength: 70
        type: string
      newAccount:
        $ref: '#/definitions/Account'
      orderDate:
        description: The date when the order is signed. All the order actions under
          this order will use this order date as the contract effective date if the
          contract effective date field is skipped or its value is left as null.
        format: date
        type: string
      orderNumber:
        description: The order number of the new order. If not provided, system will
          auto-generate a number for this order.
        maxLength: 100
        type: string
      processingOptions:
        $ref: '#/definitions/ProcessingOptions'
      subscriptions:
        description: Each item includes a set of order actions, which will be applied
          to the same base subscription.
        items:
          properties:
            customFields:
              $ref: '#/definitions/SubscriptionObjectCustomFields'
            orderActions:
              description: The actions to be applied to the subscription. Order actions
                will be stored with the sequence when it was provided in the request.
              items:
                $ref: '#/definitions/CreateOrderOrderAction'
              type: array
            subscriptionNumber:
              description: 'Leave this empty to represent new subscription creation.
                Specify a subscription number to update an existing subscription.

                '
              type: string
          type: object
        type: array
    required:
    - orderDate
    - subscriptions
    type: object
  POSTPaymentMethodDecryption:
    example:
      accountID: 402891a25a02e11c015a02f3c6100003
      integrationType: ApplePay
      invoiceId: INV000000005
      merchantID: merchant.CN.com.zuora.services416
      paymentGateway: CyberSourceOPG
      paymentToken:
        data: xGc......JDxuYz1gug0KZRrGXJQ=
        header:
          ephemeralPublicKey: MFkwEw......TMbLoojKBA==
          publicKeyHash: HuLvfqvLon......9jEyX0w=
          transactionId: abbadd18818baea1f37b40844c9e09afa9733b0eccb373905b811da43cf1753b
        signature: MIAGCSqGSIb......AEtrLSv7hE9gAAAAAAAA==
        version: EC_v1
      processPayment: true
    properties:
      accountID:
        description: |-
          The ID of the customer account associated with this payment method.

          **Note:** You can create a payment method without assocating it with a customer account if you want. To do it and change the `accountID` field to optional in this operation, submit a request at [Zuora Global Support](http://support.zuora.com/).
        type: string
      cardHolderInfo:
        description: |+
          Container for cardholder information. If provided, Zuora will only use this information for this card. If not provided, Zuora will use the account's existing bill-to contact information for this card.

        properties:
          addressLine1:
            description: 'First address line, 255 characters or less.

              '
            type: string
          addressLine2:
            description: 'Second address line, 255 characters or less.

              '
            type: string
          cardHolderName:
            description: 'The card holder''s full name as it appears on the card,
              e.g., "John J Smith", 50 characters or less.

              '
            type: string
          city:
            description: 'City, 40 characters or less.

              '
            type: string
          country:
            description: 'Country, must be a valid country name or abbreviation.

              '
            type: string
          email:
            description: 'Card holder''s email address, 80 characters or less.

              '
            type: string
          phone:
            description: 'Phone number, 40 characters or less.

              '
            type: string
          state:
            description: 'State; must be a valid state name or 2-character abbreviation.

              '
            type: string
          zipCode:
            description: 'Zip code, 20 characters or less.

              '
            type: string
        type: object
      integrationType:
        description: |+
          Field to identify the token decryption type.

          **Note:** The only value at this time is `ApplePay`.

        type: string
      invoiceID:
        description: |
          The id of invoice this payment will apply to.

          **Note:** When `processPayment` is `true`, this field is required.
          Only one invoice can be paid; for scenarios where you want to pay for multiple invoices, set `processPayment` to `false` and call payment API separately.
        type: string
      merchantID:
        description: 'The Merchant ID that was configured for use with Apple Pay in
          the Apple iOS Developer Center.

          '
        type: string
      paymentGateway:
        description: |
          The label name of the gateway instance configured in Zuora that should process the payment. When creating a Payment, this must be a valid gateway instance ID and this gateway must support the specific payment method. If not specified, the default gateway on the Account will be used.

          **Note:** When `processPayment` is `true`, this field is required.
        type: string
      paymentToken:
        description: |+
          The complete JSON Object representing the encrypted payment token payload returned in the response from the Apple Pay session.

        type: object
      processPayment:
        description: "A boolean flag to control whether a payment should be processed\
          \ after creating payment method. The payment amount will be equivalent to\
          \ the amount the merchant supplied in the ApplePay session. Default is false.\n\
          \nWhen `processPayment` is set to `false`, it must be followed by a separate\
          \ subscribe or payment API call. \n\n\n**Note:** If you set this field to\
          \ `true`, you must specify the `paymentGateway` field with the payment gateway\
          \ instance name. If you set this field to `false`, you must select the **Verify\
          \ new credit card** check box on the gateway instance settings page. Otherwise,\
          \ the cryptogram will not be sent to the gateway.\n"
        type: boolean
    required:
    - accountID
    - integrationType
    - merchantID
    - paymentToken
    type: object
  POSTPaymentMethodRequest:
    allOf:
    - properties:
        type:
          description: |
            Type of payment method. The following types of the payment method are supported:

            * `PayPalEC` - PayPal Express Checkout payment method. Use this type if you are using a [PayPal Payflow Pro Gateway](https://knowledgecenter.zuora.com/CB_Billing/M_Payment_Gateways/Supported_Payment_Gateways/PayPal_Payflow_Pro%2C_Website_Payments_Payflow_Edition%2C_Website_Pro_Payment_Gateway) instance.
            * `PayPalNativeEC` - PayPal Native Express Checkout payment method. Use this type if you are using a [PayPal Express Checkout Gateway](https://knowledgecenter.zuora.com/CB_Billing/M_Payment_Gateways/Supported_Payment_Gateways/PayPal_Express_Checkout_Gateway) instance.
            * `PayPalAdaptive` - PayPal Adaptive payment method. Use this type if you are using a [PayPal Adaptive Payment Gateway](https://knowledgecenter.zuora.com/CB_Billing/M_Payment_Gateways/Supported_Payment_Gateways/PayPal_Adaptive_Payments_Gateway) instance.
            * `CreditCard` - Credit card payment method.
            * `ACH` - ACH payment method.
            * `SEPA` - Single Euro Payments Area.
            * `Betalingsservice` - Direct Debit DK.
            * `Autogiro` - Direct Debit SE.
            * `Bacs` - Direct Debit UK.
          enum:
          - PayPalEC
          - PayPalNativeEC
          - PayPalAdaptive
          - CreditCard
          - ACH
          - SEPA
          - Betalingsservice
          - Autogiro
          - Bacs
          type: string
      required:
      - type
      type: object
    - $ref: '#/definitions/CreatePMPayPalECPayPalNativeEC'
    - $ref: '#/definitions/CreatePaymentMethodPayPalAdaptive'
    - $ref: '#/definitions/CreatePaymentMethodCreditCard'
    - $ref: '#/definitions/CreatePaymentMethodACH'
    - $ref: '#/definitions/CreatePaymentMethodCommon'
    - $ref: '#/definitions/PaymentMethodObjectCustomFields'
    - $ref: '#/definitions/CreatePaymentMethodBankTransfer'
    example:
      BAID: I-1TJ3GAGG82Y9
      accountKey: 2c92c0f95be68649015bf14e001f2760
      email: customer@example.com
      type: PayPalEC
  POSTPaymentMethodResponse:
    allOf:
    - $ref: '#/definitions/CommonResponseType'
    - properties:
        id:
          description: 'Internal ID of the payment method that was created.

            '
          type: string
        reasons:
          items:
            description: 'Error information. Only applicable if the payment method
              was not created.

              '
            properties:
              code:
                description: 'Error code.

                  '
                type: string
              message:
                description: 'Error message.

                  '
                type: string
            type: object
          type: array
      type: object
  POSTPaymentMethodResponseDecryption:
    properties:
      amount:
        description: 'The payment amount contained within the encrypted token.

          '
        type: string
      paymentId:
        description: 'The ID of newly processed payment,

          '
        type: string
      paymentMethodId:
        description: 'ID of the newly-created payment method.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  POSTPaymentMethodResponseType:
    properties:
      paymentMethodId:
        description: 'ID of the newly-created payment method.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  POSTPaymentMethodType:
    allOf:
    - properties:
        accountKey:
          description: "ID of the customer account to update.\n\n**Note:** You can\
            \ create a credit card payment method without assocating it with a customer\
            \ account if you want. To do it and change the `accountKey` field to optional\
            \ in this operation, submit a request at [Zuora Global Support](http://support.zuora.com/). "
          type: string
        cardHolderInfo:
          $ref: '#/definitions/CreatePaymentMethodCardholderInfo'
        creditCardNumber:
          description: 'Credit card number, a string of up to 16 characters. This
            field can only be set when creating a new payment method; it cannot be
            queried or updated.

            '
          type: string
        creditCardType:
          description: |
            The type of the credit card.

            Possible values  include `Visa`, `MasterCard`, `AmericanExpress`, `Discover`, `JCB`, and `Diners`. For more information about credit card types supported by different payment gateways, see [Supported Payment Gateways](https://knowledgecenter.zuora.com/CB_Billing/M_Payment_Gateways/Supported_Payment_Gateways).
          type: string
        defaultPaymentMethod:
          description: 'Specify true to make this card the default payment method;
            otherwise, omit this parameter to keep the current default payment method.

            '
          type: boolean
        expirationMonth:
          description: 'One or two digits expiration month (1-12).

            '
          type: string
        expirationYear:
          description: 'Four-digit expiration year.

            '
          type: string
        mitConsentAgreementRef:
          description: 'Specifies your reference for the stored credential consent
            agreement that you have established with the customer. Only applicable
            if you set the `mitProfileAction` field.

            '
          maxLength: 128
          type: string
        mitConsentAgreementSrc:
          description: 'Required if you set the `mitProfileAction` field.

            '
          enum:
          - External
          type: string
        mitNetworkTransactionId:
          description: 'Specifies the ID of a network transaction. Only applicable
            if you set the `mitProfileAction` field to `Persist`.

            '
          maxLength: 128
          type: string
        mitProfileAction:
          description: "If you set this field, Zuora creates a stored credential profile\
            \ within the payment method.\n\n**Note:** This feature is in **Limited\
            \ Availability**. We are actively soliciting feedback from a small set\
            \ of early adopters before releasing as generally available.\n\n* `Activate`\
            \ - Use this value if you are creating the stored credential profile after\
            \ receiving the customer's consent.\n\n  Zuora will create the stored\
            \ credential profile then send a cardholder-initiated transaction (CIT)\
            \ to the payment gateway to validate the stored credential profile. If\
            \ the CIT succeeds, the status of the stored credential profile will be\
            \ `Active`. If the CIT does not succeed, Zuora will not create a stored\
            \ credential profile.\n  \n  If the payment gateway does not support the\
            \ stored credential transaction framework, the status of the stored credential\
            \ profile will be `Agreed`.\n\n\n* `Persist` - Use this value if the stored\
            \ credential profile represents a stored credential profile in an external\
            \ system. The status of the payment method's stored credential profile\
            \ will be `Active`.\n"
          enum:
          - Activate
          - Persist
          type: string
        mitProfileAgreedOn:
          description: "The date on which the profile is agreed. Required if you set\
            \ the `mitProfileAction` field. The date format is `yyyy-mm-dd`.  \n"
          format: date
          type: string
        mitProfileType:
          description: 'Required if you set the `mitProfileAction` field.

            '
          enum:
          - Recurring
          type: string
        numConsecutiveFailures:
          description: "The number of consecutive failed payments for this payment\
            \ method. It is reset to `0` upon successful payment. \n"
          format: int32
          maximum: 100
          minimum: 0
          type: integer
        securityCode:
          description: |+
            The CVV or CVV2 security code for the credit card or debit card. Only required if changing expirationMonth, expirationYear, or cardHolderName. To ensure PCI compliance, this value isn't stored and can't be queried.

          type: string
      required:
      - accountKey
      - creditCardType
      - creditCardNumber
      - expirationMonth
      - expirationYear
      type: object
    - $ref: '#/definitions/PaymentMethodObjectCustomFields'
    example:
      accountKey: A00001115
      cardHolderInfo:
        addressLine1: 77 Fallon Glen
        addressLine2: ''
        cardHolderName: Leo
        city: Fremont
        country: USA
        email: smith@example.com
        phone: '4155551234'
        state: California
        zipCode: '94020'
      creditCardNumber: '1111222233334444'
      creditCardType: Discover
      defaultPaymentMethod: false
      expirationMonth: '10'
      expirationYear: '2015'
      numConsecutiveFailures: 3
      securityCode: '123'
  POSTPaymentRunRequest:
    example:
      accountId: 402890245f097f39015f0e9fcdd60558
      autoApplyCreditMemo: 'true'
      autoApplyUnappliedPayment: 'true'
      consolidatedPayment: 'true'
      processPaymentWithClosedPM: 'true'
      targetDate: '2017-10-10'
    properties:
      accountId:
        description: |
          The ID of the customer account associated with the payment run.

          This field conflicts with each of the `batch`, `billCycleDay`, `currency`, `paymentGatewayId`, and `billingRunId` fields. If there are such conflicts, an error occurs and an error message is returned.
        format: uuid
        type: string
      applyCreditBalance:
        description: |
          **Note:** This field is only available if you have the Credit Balance feature enabled and the Invoice Settlement feature disabled.

          Whether to apply credit balances in the payment run. This field is only available when you have Invoice Settlement feature disabled.
        type: boolean
      autoApplyCreditMemo:
        description: |
          **Note:** The Invoice Settlement feature is in **Limited Availability**. This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

          Whether to automatically apply a posted credit memo to one or more receivables in the payment run.
        type: boolean
      autoApplyUnappliedPayment:
        description: |
          **Note:** The Invoice Settlement feature is in **Limited Availability**. This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

          Whether to automatically apply unapplied payments to  one or more receivables in the payment run.
        type: boolean
      batch:
        description: "The alias name given to a batch. The batch name is a string\
          \ of 50 characters or less.\n\nThis field conflicts with the `accountId`\
          \ field. If they are both specified in the request body, an error occurs\
          \ and an error message is returned. \n"
        type: string
      billCycleDay:
        description: |
          The billing cycle day (BCD), the day of the month when a bill run generates invoices for the account. The value must be equal to or less then 31, and 31 is mean the EOM.

          This field conflicts with the `accountId` field. If they are both specified in the request body, an error occurs and an error message is returned.
        type: string
      billingRunId:
        description: |
          The ID of a bill run.

          This field conflicts with the `accountId` field. If they are both specified in the request body, an error occurs and an error message is returned.
        format: uuid
        type: string
      collectPayment:
        description: "Whether to process electronic payments during the execution\
          \ of payment runs. \n\nIf the Payment user permission \"Process Electronic\
          \ Payment\" is disabled, this field will be ignored.\n"
        type: boolean
      consolidatedPayment:
        description: "**Note:** The **Process Electronic Payment** permission also\
          \ needs to be allowed for a Manage Payment Runs role to work. See [Payments\
          \ Roles](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/e_Payments_Roles)\
          \ for more information. \n\nWhether to process a single payment for all\
          \ receivables that are due on an account.\n"
        type: boolean
      currency:
        description: |
          A currency defined in the web-based UI administrative settings.

          This field conflicts with the `accountId` field. If they are both specified in the request body, an error occurs and an error message is returned.
        type: string
      paymentGatewayId:
        description: |
          The ID of the gateway instance that processes the payment.

          This field conflicts with the `accountId` field. If they are both specified in the request body, an error occurs and an error message is returned.
        format: uuid
        type: string
      processPaymentWithClosedPM:
        description: "**Note:** The **Process Electronic Payment** permission also\
          \ needs to be allowed for a Manage Payment Runs role to work. See [Payments\
          \ Roles](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/e_Payments_Roles)\
          \ for more information. \n\nWhether to process payments even if the default\
          \ payment method is closed.\n"
        type: boolean
      runDate:
        description: "The date and time when the scheduled payment run is to be executed,\
          \ in `yyyy-mm-dd hh:mm:ss` format. The backend will ignore mintues and seconds\
          \ in the field value. For example, if you specify `2017-03-01 11:30:37`\
          \ for this value, this payment run will be run at 2017-03-01 11:00:00.\n\
          \nYou must specify either the `runDate` field or the `targetDate` field\
          \ in the request body. If you specify the `runDate` field, the scheduced\
          \ payment run is to be executed on the run date. If you specify the `targetDate`\
          \ field, the payment run is executed immediately after it is created. \n"
        format: date-time
        type: string
      targetDate:
        description: "The target date used to determine which receivables to be paid\
          \ in the payment run. The payments are collected for all receivables with\
          \ the due date no later than the target date.\n\nYou must specify either\
          \ the `runDate` field or the `targetDate` field in the request body. If\
          \ you specify the `runDate` field, the scheduced payment run is to be executed\
          \ on the run date. If you specify the `targetDate` field, the payment run\
          \ is executed immediately after it is created. \n"
        format: date
        type: string
    type: object
  POSTPublicEmailTemplateRequest:
    example:
      active: true
      bccEmailAddress: user@example.com
      ccEmailAddress: user@example.com
      ccEmailType: SpecificEmails
      description: Email when an account is edited
      emailBody: Dear user,<p>the account <Account.Name> has been edited. <p>Example
        Co. Ltd.
      emailSubject: Account <Account.Number> has been edited
      encodingType: UTF8
      eventTypeName: AccountEdit
      fromEmailAddress: null
      fromEmailType: TenantEmail
      fromName: Example Co. Ltd.
      isHtml: true
      name: Account Edit Email
      replyToEmailAddress: null
      replyToEmailType: TenantEmail
      toEmailAddress: null
      toEmailType: BillToContact
    properties:
      active:
        default: true
        description: The status of the email template. The default value is true.
        type: boolean
      bccEmailAddress:
        description: The email bcc address.
        format: email
        type: string
      ccEmailAddress:
        description: The email CC address.
        type: string
      ccEmailType:
        default: SpecificEmails
        description: "Email CC type:\n* When EventType is CDC/External and 'ReferenceObjectType'\
          \ in EventType is associated to Account, ccEmailType can be ALL values in\
          \ enum. \n* When EventType is CDC/External and 'ReferenceObjectType' in\
          \ EventType is not associated to Account, ccEmailType MUST be TenantAdmin,\
          \ RunOwner or SpecificEmail. \n* When EventType is CDC/External and 'ReferenceObjectType'\
          \ in EventType is EMPTY, ccEmailType MUST be TenantAdmin, RunOwner or SpecificEmail."
        enum:
        - BillToContact
        - SoldToContact
        - SpecificEmails
        - TenantAdmin
        - BillToAndSoldToContacts
        - RunOwner
        - AllContacts
        - InvoiceOwnerBillToContact
        - InvoiceOwnerSoldToContact
        - InvoiceOwnerBillToAndSoldToContacts
        - InvoiceOwnerAllContacts
        type: string
      description:
        description: The description of the email template.
        maxLength: 255
        type: string
      emailBody:
        description: "The email body. You can add merge fields in the email object\
          \ using angle brackets. \nYou can also embed HTML tags if 'isHtml' is true."
        type: string
      emailSubject:
        description: The email subject. Users can add merge fields in the email subject
          using angle brackets.
        type: string
      encodingType:
        default: UTF8
        description: The endcode type of the email body.
        enum:
        - UTF8
        - Shift_JIS
        - ISO_2022_JP
        - EUC_JP
        - X_SJIS_0213
        type: string
      eventTypeName:
        description: "The name of the event type. \n"
        minLength: 1
        type: string
      eventTypeNamespace:
        description: "The namespace of the `eventTypeName` field. The `eventTypeName`\
          \ has the `user.notification` namespace by default. \n\nNote that if the\
          \ `eventTypeName` is a standard event type, you must specify the `com.zuora.notification`\
          \ namespace; otherwise, you will get an error.\n\nFor example, if you want\
          \ to create an email template on the `OrderActionProcessed` event, you must\
          \ specify `com.zuora.notification` for this field.         \n"
        type: string
      fromEmailAddress:
        description: If fromEmailType is SpecificEmail, this field is required.
        type: string
      fromEmailType:
        description: The type of the email.
        enum:
        - TenantEmail
        - SpecificEmail
        type: string
      fromName:
        description: The name of the email sender.
        type: string
      isHtml:
        default: false
        description: Specifies whether the style of email body is HTML. The default
          value is false.
        type: boolean
      name:
        description: The name of the email template, a unique name in a tenant.
        maxLength: 255
        type: string
      replyToEmailAddress:
        description: If replyToEmailType is SpecificEmail, this field is required.
        type: string
      replyToEmailType:
        description: Type of the replyTo email.
        enum:
        - TenantEmail
        - SpecificEmail
        type: string
      toEmailAddress:
        description: If toEmailType is SpecificEmail, this field is required.
        type: string
      toEmailType:
        description: "Email receive type.\n* When EventType is CDC/External and 'ReferenceObjectType'\
          \ in EventType is associated to Account, toEmailType can be ALL values in\
          \ enum. \n* When EventType is CDC/External and 'ReferenceObjectType' in\
          \ EventType is not associated to Account, toEmailType MUST be TenantAdmin,\
          \ RunOwner or SpecificEmail.\n* When EventType is CDC/External and 'ReferenceObjectType'\
          \ in EventType is EMPTY, toEmailType MUST be TenantAdmin, RunOwner or SpecificEmail."
        enum:
        - BillToContact
        - SoldToContact
        - SpecificEmails
        - TenantAdmin
        - BillToAndSoldToContacts
        - RunOwner
        - AllContacts
        - InvoiceOwnerBillToContact
        - InvoiceOwnerSoldToContact
        - InvoiceOwnerBillToAndSoldToContacts
        - InvoiceOwnerAllContacts
        type: string
    required:
    - eventTypeName
    - name
    - fromEmailType
    - emailSubject
    - emailBody
    - toEmailType
    type: object
  POSTPublicNotificationDefinitionRequest:
    example:
      active: true
      callout:
        active: true
        calloutAuth:
          domain: example_domain
          password: example_password
          preemptive: true
          username: example_user
        calloutBaseurl: https://www.example.com/callout/AccountEdit
        calloutParams:
          AccountName: <Account.Name>
          AccountNumber: <Account.Number>
        calloutRetry: true
        description: Callout when an account is edited
        eventTypeName: AccountEdit
        httpMethod: POST
        name: Callout for Account Edited
        requiredAuth: true
      calloutActive: true
      communicationProfileId: 6e569e1e05f040eda51a927b140c0ac5
      description: Notification sent out when an account is edited
      emailActive: true
      emailTemplateId: 6e569e1e05f040eda51a927b140c0ac6
      eventTypeName: AccountEdit
      filterRule:
        condition: Account.Balance >= _VIP_BALANCE_AMOUNT && Account.Status == _ACCOUNT_STATUS
        description: Filter rule to test if an account is a VIP account
        parameters:
          _ACCOUNT_STATUS:
            description: The status of the VIP Account
            displayName: VIP Account Status
            options:
            - Draft
            - Active
            - Canceled
            valueType: STRING
          _VIP_BALANCE_AMOUNT:
            description: The minimum account balance
            displayName: VIP Account Balance
            options: null
            valueType: BIG_DECIMAL
      filterRuleParams:
        _EDITED_FROM: UI
        _VIP_ACCOUNT_BALANCE: '100000'
      name: Account Edit Notification
    properties:
      active:
        default: true
        description: The status of the notification definition. The default value
          is true.
        type: boolean
      callout:
        properties:
          active:
            default: true
            description: The status of the callout. The default is true.
            type: boolean
          calloutAuth:
            $ref: '#/definitions/CalloutAuth'
          calloutBaseurl:
            description: The callout URL. It must start with 'https://'
            example: https://***
            format: url
            minLength: 10
            type: string
          calloutParams:
            $ref: '#/definitions/CalloutMergeFields'
          calloutRetry:
            default: true
            description: Specified whether to retry the callout when the callout fails.
              The default is true.
            type: boolean
          description:
            description: Description for the callout.
            maxLength: 255
            type: string
          eventTypeName:
            description: The name of the event type.
            minLength: 1
            type: string
          httpMethod:
            description: The HTTP method of the callout.
            enum:
            - GET
            - PUT
            - POST
            - DELETE
            example: POST
            type: string
          name:
            description: The name of the created callout.
            maxLength: 255
            type: string
          requiredAuth:
            description: Specifies whether the callout requires auth.
            type: boolean
        required:
        - eventTypeName
        - name
        - calloutBaseurl
        - httpMethod
        - requiredAuth
        type: object
      calloutActive:
        default: false
        description: The status of the callout action. Default value is false.
        type: boolean
      communicationProfileId:
        description: "The profile that notification definition belongs to. \n\nYou\
          \ can use the [Query Action](https://www.zuora.com/developer/api-reference/#operation/Action_POSTquery)\
          \ to get the communication profile Id. See the following request sample:\n\
          \n`{\n    \"queryString\": \"select Id, ProfileName from CommunicationProfile\"\
          \n }`\n\nIf you do not pass the communicationProfileId, notification service\
          \ will be automatically added to the 'Default Profile'.\n"
        type: string
      description:
        description: The description of the notification definition.
        maxLength: 255
        type: string
      emailActive:
        default: false
        description: The status of the email action. The default value is false.
        type: boolean
      emailTemplateId:
        description: The ID of the email template. If emailActive is true, an email
          template is required. And EventType of the email template MUST be the same
          as the eventType.
        format: uuid
        type: string
      eventTypeName:
        description: "The name of the event type. \n"
        minLength: 1
        type: string
      eventTypeNamespace:
        description: "The namespace of the `eventTypeName` field. The `eventTypeName`\
          \ has the `user.notification` namespace by default. \n\nNote that if the\
          \ `eventTypeName` is a standard event type, you must specify the `com.zuora.notification`\
          \ namespace; otherwise, you will get an error.\n\nFor example, if you want\
          \ to create a notification definition on the `OrderActionProcessed` event,\
          \ you must specify `com.zuora.notification` for this field.\n"
        type: string
      filterRule:
        description: ''
        properties:
          condition:
            description: |
              The filter rule conditions, written in [JEXL](http://commons.apache.org/proper/commons-jexl/).
              The rule might contain event context merge fields and data source merge fields. Data source merge fields must be from [the base object of the event or from the joined objects of the base object](https://knowledgecenter.zuora.com/DC_Developers/M_Export_ZOQL#Data_Sources_and_Objects). Notifications with invalid merge fields will fail to evaluate, thus will not be invoked. For example, to filter an invoice posted notification to only invoices with an amount over 1000, you would define the following condition:

              ```Invoice.Amount > 1000```

              There are conventions and keywords you need to be aware of. For example:

              * `Invoice.Amount` refers to the `Amount` field of the Zuora object `Invoice`.

              * Unlike Event Triggers, there is no access to variables with the `_old` suffix. Fields with the `_old` suffix are only available on Event Trigger conditions.
            example: Account.Balance >= _VIP_BALANCE_AMOUNT && Account.Status == _ACCOUNT_STATUS
            type: string
          description:
            description: The description of the filter rule.
            maxLength: 255
            type: string
          parameters:
            $ref: '#/definitions/FilterRuleParameterDefinitions'
        required:
        - condition
        - parameters
        type: object
      filterRuleParams:
        $ref: '#/definitions/FilterRuleParameterValues'
      name:
        description: The name of the notification definition, unique per communication
          profile.
        maxLength: 255
        type: string
    required:
    - eventTypeName
    - name
    type: object
  POSTQuoteDocResponseType:
    properties:
      file:
        description: 'URL of the generated quote document if the file was successfully
          generated.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  POSTQuoteDocType:
    example:
      apiuser: contact@example.com
      documentType: pdf
      locale: en_US
      quoteId: a0Bi000000A71rp
      serverUrl: https://c.na10.visual.force.com/services/Soap/u/10.0/00DF00000008VnX
      sessionId: we764buuM03bkE0fmmc5zGMYp
      templateId: 4028925648fdb7830148fdc1246c0003
      useSFDCLocale: '1'
      zquotesMajorVersion: '7'
      zquotesMinorVersion: '0'
    properties:
      apiuser:
        description: 'If not using Salesforce locale, this API Zuora user will be
          used to retrieve the locale from Zuora.

          '
        type: string
      documentType:
        description: 'Type of the document to generate: `PDF` or `DOC`.

          '
        type: string
      locale:
        description: 'Salesforce locale value to use.

          '
        type: string
      password:
        description: ''
        type: string
      quoteId:
        description: "\uFF5C Id of the quote\u3002"
        type: string
      sandbox:
        description: ''
        type: string
      serverUrl:
        description: 'SOAP URL used to login to Salesforce to get data. You can get
          the value with the following code in a Visualforce page: `{!$Api.Partner_Server_URL_100}`

          '
        type: string
      sessionId:
        description: 'Salesforce session id used to log in to Salesforce to get data.
          You can get the value with the following code in a Visualforce page: *{!$Api.Session_ID}*

          '
        type: string
      templateId:
        description: 'Id of the quote template in Zuora.

          '
        type: string
      token:
        description: ''
        type: string
      useSFDCLocale:
        description: 'If using Salesforce org locale, set this to a value that is
          not null.

          '
        type: string
      username:
        description: ''
        type: string
      zquotesMajorVersion:
        description: |
          The major version number of Zuora Quotes you are generating the quote document in.
          You can use a quote template with hierarchy sizes bigger than 3 if this is set to 7 or higher.
        type: string
      zquotesMinorVersion:
        description: 'The minor version number of Zuora Quotes you are generating
          the quote document in.

          '
        type: string
    required:
    - documentType
    - quoteId
    - serverUrl
    - templateId
    - sessionId
    type: object
  POSTRSASignatureResponseType:
    properties:
      key:
        description: 'Public key generated for this Payment Page.

          '
        type: string
      signature:
        description: 'Digital signature generated for this Payment Page.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
      tenantId:
        description: 'ID of the Zuora tenant.

          '
        type: string
      token:
        description: 'Token generated for this Payment Page.

          '
        type: string
    type: object
  POSTRSASignatureType:
    example:
      method: POST
      pageId: 2c92c0f855e2b4630155ec9e6a1b6eec
      uri: https://apisandbox.zuora.com/apps/PublicHostedPageLite.do
    properties:
      method:
        description: 'The type of the request. Set it to POST.

          '
        type: string
      pageId:
        description: 'The page id of your Payment Pages 2.0 form. Click **Show Page
          Id** next to the Payment Page name in the Hosted Page List to retrieve the
          page id.

          '
        type: string
      uri:
        description: "The URL that the Payment Page will be served from. Set it to:\n\
          \n* https://www.zuora.com/apps/PublicHostedPageLite.do if you are on the\
          \ production environment.\n* https://apisandbox.zuora.com/apps/PublicHostedPageLite.do\
          \ if you are on the API Sandbox environment. "
        type: string
    required:
    - method
    - pageId
    - uri
    type: object
  POSTRejectPaymentRequest:
    example:
      gatewayResponse: Insufficient funds
      gatewayResponseCode: '023'
      referenceId: '825522036728874689'
      secondReferenceId: '825522036690700110'
      settledOn: '2019-05-07 20:56:32.981'
    properties:
      gatewayResponse:
        description: 'The transaction response returned by the gateway for this transaction.
          If the transaction was declined, this reason is provided in the message.

          '
        type: string
      gatewayResponseCode:
        description: 'Response message Code returned by the gateway about the transaction
          status.

          '
        type: string
      referenceId:
        description: "Unique Id generated by the gateway for each transaction. Use\
          \ this ID to find the respective Zuora Payment ID. \n"
        type: string
      secondReferenceId:
        description: 'The second reference Id. Some gateway uses two unique transaction
          IDs.

          '
        type: string
      settledOn:
        description: 'The date and time of the transaction settlement. The format
          is `yyyy-mm-dd hh:mm:ss`.

          '
        format: date-time
        type: string
    type: object
  POSTRejectPaymentResponse:
    properties:
      accountId:
        description: 'The ID of the customer account that the payment is for.

          '
        type: string
      amount:
        description: 'The total amount of the payment.

          '
        format: double
        type: number
      cancelledOn:
        description: 'The date and time when the payment was cancelled, in `yyyy-mm-dd
          hh:mm:ss` format.

          '
        format: date-time
        type: string
      comment:
        description: 'Comments about the payment.

          '
        type: string
      createdById:
        description: 'The ID of the Zuora user who created the refund.

          '
        type: string
      createdDate:
        description: 'The date and time when the chargeback is created, in `yyyy-mm-dd
          hh:mm:ss` format. For example, 2019-03-01 15:31:10.

          '
        format: date-time
        type: string
      creditMemoId:
        description: 'The ID of the credit memo that is refunded.

          '
        type: string
      financeInformation:
        description: 'Container for the finance information related to the refund.

          '
        properties:
          bankAccountAccountingCode:
            description: 'The accounting code that maps to a bank account in your
              accounting system.

              '
            maxLength: 100
            minLength: 0
            type: string
          bankAccountAccountingCodeType:
            description: "The type of the accounting code that maps to a bank account\
              \ in your accounting system.\n  \n"
            type: string
          transferredToAccounting:
            description: "Whether the refund was transferred to an external accounting\
              \ system. Use this field for integration with accounting systems, such\
              \ as NetSuite. \n"
            enum:
            - Processing
            - 'Yes'
            - 'No'
            - Error
            - Ignore
            type: string
          unappliedPaymentAccountingCode:
            description: 'The accounting code for the unapplied payment.

              '
            maxLength: 100
            minLength: 0
            type: string
          unappliedPaymentAccountingCodeType:
            description: "The type of the accounting code for the unapplied payment.\n\
              \  \n"
            type: string
        type: object
      gatewayId:
        description: 'The ID of the gateway instance that processes the payment.

          '
        type: string
      gatewayResponse:
        description: 'The message returned from the payment gateway for the payment.
          This message is gateway-dependent.

          '
        type: string
      gatewayResponseCode:
        description: 'The code returned from the payment gateway for the payment.
          This code is gateway-dependent.

          '
        type: string
      gatewayState:
        description: 'The status of the payment in the gateway; used for reconciliation.

          '
        enum:
        - MarkedForSubmission
        - Submitted
        - Settled
        - NotSubmitted
        - FailedToSettle
        type: string
      id:
        description: 'The ID of the payment chargeback.

          '
        type: string
      markedForSubmissionOn:
        description: 'The date and time when a charge was marked and waiting for batch
          submission to the payment process, in `yyyy-mm-dd hh:mm:ss` format.

          '
        format: date-time
        type: string
      methodType:
        description: "How an external refund was issued to a customer. \n"
        enum:
        - ACH
        - Cash
        - Check
        - CreditCard
        - PayPal
        - WireTransfer
        - DebitCard
        - CreditCardReferenceTransaction
        - BankTransfer
        - Other
        type: string
      number:
        description: 'The unique identification number of the payment. For example,
          P-00000001.

          '
        type: string
      paymentId:
        description: 'The ID of the payment that is refunded.

          '
        type: string
      paymentMethodId:
        description: 'The unique ID of the payment method that the customer used to
          make the payment.

          '
        type: string
      paymentMethodSnapshotId:
        description: 'The unique ID of the payment method snapshot which is a copy
          of the particular Payment Method used in a transaction.

          '
        type: string
      reasonCode:
        description: "A code identifying the reason for the transaction.      \n"
        type: string
      referenceId:
        description: 'The transaction ID returned by the payment gateway for an electronic
          refund. Use this field to reconcile refunds between your gateway and Zuora
          Payments.

          '
        type: string
      refundDate:
        description: "The date when the refund takes effect, in `yyyy-mm-dd` format.\
          \ For example, 2017-03-01.       \n"
        format: date
        type: string
      refundTransactionTime:
        description: 'The date and time when the refund was issued, in `yyyy-mm-dd
          hh:mm:ss` format.

          '
        format: date-time
        type: string
      secondRefundReferenceId:
        description: "The transaction ID returned by the payment gateway if there\
          \ is an additional refund. \n"
        type: string
      settledOn:
        description: 'The date and time when the transaction is settled, in `yyyy-mm-dd
          hh:mm:ss` format.

          '
        format: date-time
        type: string
      softDescriptor:
        description: 'A payment gateway-specific field that maps Zuora to other gateways.

          '
        type: string
      softDescriptorPhone:
        description: "A payment gateway-specific field that maps Zuora to other gateways.\
          \          \n"
        type: string
      status:
        description: 'The status of the payment.

          '
        type: string
      submittedOn:
        description: 'The date and time when the payment was submitted, in yyyy-mm-dd
          hh:mm:ss format.

          '
        format: date-time
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
      type:
        description: 'The type of the payment.

          '
        enum:
        - External
        - Electronic
        type: string
      updatedById:
        description: 'The ID of the Zuora user who last updated the payment.

          '
        type: string
      updatedDate:
        description: 'The date and time when the payment was last updated, in `yyyy-mm-dd
          hh:mm:ss` format. For example, 2019-03-02 15:36:10.

          '
        format: date-time
        type: string
    type: object
  POSTRevenueScheduleByChargeResponseType:
    properties:
      revenueScheduleNumber:
        description: 'Revenue schedule number. The revenue schedule number is always
          prefixed with "RS", for example, "RS-00000001".

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  POSTRevenueScheduleByChargeType:
    allOf:
    - properties:
        amount:
          description: 'The revenue schedule amount, which is the sum of all revenue
            items. This field cannot be null and must be formatted based on the currency,
            such as `JPY 30` or `USD 30.15`. Test out the currency to ensure you are
            using the proper formatting otherwise, the response will fail and this
            error message is returned: `Allocation amount with wrong decimal places.`

            '
          format: decimal
          type: string
        deferredRevenueAccountingCode:
          description: 'The accounting code for deferred revenue, such as Monthly
            Recurring Liability. Required only when `overrideChargeAccountingCodes`
            is `true`. Otherwise, this value is ignored.

            '
          type: string
        deferredRevenueAccountingCodeType:
          description: 'The type of the deferred revenue accounting code, such as
            Deferred Revenue. Required only when `overrideChargeAccountingCodes` is
            `true`. Otherwise, this value is ignored.

            '
          type: string
        notes:
          description: |
            Additional information about this record.

            Character Limit: 2,000
          type: string
        overrideChargeAccountingCodes:
          default: false
          description: 'When overriding accounting codes from a charge, `recognizedRevenueAccountingCode`
            and `deferredRevenue AccountingCode` must be in the request body and can
            have the empty value.

            '
          enum:
          - true
          - false
          type: boolean
        recognizedRevenueAccountingCode:
          description: 'The accounting code for recognized revenue, such as Monthly
            Recurring Charges or Overage Charges. Required only when `overrideChargeAccountingCodes`
            is `true`. Otherwise, the value is ignored.

            '
          type: string
        recognizedRevenueAccountingCodeType:
          description: 'The type of the recognized revenue accounting code, such as
            Sales Revenue or Sales Discount. Required only when `overrideChargeAccountingCodes`
            is `true`. Otherwise, this value is ignored.

            '
          type: string
        referenceId:
          description: |
            Reference ID is used only in the custom unlimited rule to create a revenue schedule. In this scenario, the revenue schedule is not linked to an invoice item or invoice item adjustment.

            Character Limit: 60
          type: string
        revenueDistributions:
          description: |
            An array of revenue distributions. Represents how you want to distribute revenue for this revenue schedule. You can distribute revenue into a maximum of 250 accounting periods with one revenue schedule.

            The sum of the newAmount fields must be equal to the amount field.
          items:
            $ref: '#/definitions/POSTDistributionItemType'
          type: array
        revenueEvent:
          $ref: '#/definitions/POSTRevenueScheduleByChargeTypeRevenueEvent'
        revenueScheduleDate:
          description: |
            The effective date of the revenue schedule. For example, the revenue schedule date for bookings-based revenue recognition is typically set to the order date or contract date.

            The date cannot be in a closed accounting period. The date must be in `yyyy-mm-dd` format.
          format: date
          type: string
      required:
      - amount
      - revenueScheduleDate
      type: object
    - $ref: '#/definitions/RevenueScheduleObjectCustomFields'
    example:
      amount: '300'
      deferredRevenueAccountingCode: Deferred Revenue
      deferredRevenueAccountingCodeType: Deferred Revenue
      overrideChargeAccountingCodes: 'true'
      recognizedRevenueAccountingCode: Subscription Revenue
      recognizedRevenueAccountingCodeType: Sales Revenue
      referenceId: rs transaction ref
      revenueDistributions:
      - accountingPeriodName: Jan'2013
        newAmount: '100'
      - accountingPeriodName: Feb'2013
        newAmount: '200'
      revenueEvent:
        eventType: Revenue Distributed
        eventTypeSystemId: '1111111'
        notes: Manually distribute revenue by usage
      revenueScheduleDate: '2013-01-01'
  POSTRevenueScheduleByChargeTypeRevenueEvent:
    allOf:
    - properties:
        eventType:
          description: |
            Label of the revenue event type. Revenue event type labels can be duplicated. You can configure your revenue event type labels by navigating to **Settings > Finance > Configure Revenue Event Types** in the Zuora UI.

            Note that `Credit Memo Posted` and `Debit Memo Posted` are only available if you enable the Invoice Settlement feature.
          enum:
          - Invoice Posted
          - Invoice Item Adjustment Created
          - Invoice Canceled
          - Invoice Item Adjustment Canceled
          - Revenue Distributed
          - Credit Memo Posted
          - Debit Memo Posted
          type: string
        eventTypeSystemId:
          description: 'System ID of the revenue event type. Each eventType has a
            unique system ID. You can configure your revenue event type system IDs
            by navigating to **Settings > Finance > Configure Revenue Event Types**
            in the Zuora UI.

            '
          type: string
        notes:
          description: 'Additional information about this record.

            '
          type: string
      required:
      - eventTypeSystemId
      - eventType
      type: object
    - $ref: '#/definitions/RevenueEventObjectCustomFields'
    description: 'Represents a change to a revenue schedule, such as posting an invoice
      or distributing revenue.

      '
    title: RevenueEvent
  POSTRevenueScheduleByDateRangeType:
    allOf:
    - properties:
        distributionType:
          description: "How you want to distribute the revenue. \n\n\n* Daily Distribution:\
            \ Distributes revenue evenly across each day between the recognitionStart\
            \ and recognitionEnd dates.\n* Monthly Distribution (Back Load): Back\
            \ loads the revenue so you distribute the monthly amount in the partial\
            \ month in the end only.\n* Monthly Distribution (Front Load): Front loads\
            \ the revenue so you distribute the monthly amount in the partial month\
            \ in the beginning only.\n* Monthly Distribution (Proration by Days):\
            \ Splits the revenue amount between the two partial months.\n\n**Note:**\
            \ To use any of the Monthly Distribution options, you must have the \"\
            Monthly recognition over time\" model enabled in **Settings > Finance\
            \ > Manage Revenue Recognition Models** in the Zuora UI.\n"
          enum:
          - Daily Distribution
          - Monthly Distribution (Back Load)
          - Monthly Distribution (Front Load)
          - Monthly Distribution (Proration by Days)
          type: string
        notes:
          description: 'Additional information about this record.

            '
          type: string
        recognitionEnd:
          description: "The end date of a recognition period in `yyyy-mm-dd` format.\
            \ \n\nThe maximum difference between the `recognitionStart` and `recognitionEnd`\
            \ date fields is equal to 250 multiplied by the length of an accounting\
            \ period.\n"
          format: date
          type: string
        recognitionStart:
          description: |
            The start date of a recognition period in `yyyy-mm-dd` format.

            If there is a closed accounting period between the `recognitionStart` and `recognitionEnd` dates, the revenue that would be placed in the closed accounting period is instead placed in the next open accounting period.
          format: date
          type: string
        revenueEvent:
          $ref: '#/definitions/POSTRevenueScheduleByDateRangeTypeRevenueEvent'
      required:
      - recognitionEnd
      - recognitionStart
      - revenueEvent
      type: object
    - $ref: '#/definitions/RevenueScheduleObjectCustomFields'
    example:
      distributionType: Daily distribution
      notes: Manually distribute revenue by usage
      recognitionEnd: '2016-12-31'
      recognitionStart: 2016-12-1
      revenueEvent:
        eventType: Revenue Distributed
        eventTypeSystemId: RevenueDistributed__z
        notes: ''
  POSTRevenueScheduleByDateRangeTypeRevenueEvent:
    allOf:
    - properties:
        eventType:
          description: |
            Label of the revenue event type. Revenue event type labels can be duplicated. You can configure your revenue event type labels by navigating to **Settings > Finance > Configure Revenue Event Types** in the Zuora UI.

            Note that `Credit Memo Posted` and `Debit Memo Posted` are only available if you enable the Invoice Settlement feature.
          enum:
          - Invoice Posted
          - Invoice Item Adjustment Created
          - Invoice Canceled
          - Invoice Item Adjustment Canceled
          - Revenue Distributed
          - Credit Memo Posted
          - Debit Memo Posted
          type: string
        eventTypeSystemId:
          description: |
            System ID of the revenue event type. Each eventType has a unique system ID. You can configure your revenue event type system IDs by navigating to **Settings > Finance > Configure Revenue Event Types** in the Zuora UI.

            Required only if there is more than one revenue event type with the same label.
          type: string
        notes:
          description: ''
          type: string
      type: object
    - $ref: '#/definitions/RevenueEventObjectCustomFields'
    description: 'Must specify at least one of `eventType` or `eventTypeSystemId`.

      '
    title: RevenueEvent
  POSTRevenueScheduleByTransactionRatablyCMType:
    allOf:
    - properties:
        distributionType:
          description: |
            How you want to distribute the revenue.

            * Daily Distribution: Distributes revenue evenly across each day between the recognitionStart and recognitionEnd dates.
            * Monthly Distribution (Back Load): Back loads the revenue so you distribute the monthly amount in the partial month in the end only.
            * Monthly Distribution (Front Load): Front loads the revenue so you distribute the monthly amount in the partial month in the beginning only.
            * Monthly Distribution (Proration by Days): Splits the revenue amount between the two partial months.

            **Note:** To use any of the Monthly Distribution options, you must have the "Monthly recognition over time" model enabled in **Settings > Finance > Manage Revenue Recognition Models** in the Zuora UI.
          type: string
        notes:
          description: 'Additional information about this record.

            '
          maxLength: 2000
          minLength: 0
          type: string
        recognitionEnd:
          description: |
            The end date of a recognition period in `yyyy-mm-dd` format.

            The maximum difference between the `recognitionStart` and `recognitionEnd` date fields is equal to 250 multiplied by the length of an accounting period.
          format: date
          type: string
        recognitionStart:
          description: |
            The start date of a recognition period in `yyyy-mm-dd` format.

            If there is a closed accounting period between the `recognitionStart` and `recognitionEnd` dates, the revenue that would be placed in the closed accounting period is instead placed in the next open accounting period.
          format: date
          type: string
        revenueEvent:
          $ref: '#/definitions/POSTRevenueScheduleByTransactionRatablyTypeRevenueEvent'
      required:
      - recognitionEnd
      - recognitionStart
      type: object
    - $ref: '#/definitions/RevenueScheduleObjectCustomFields'
    example:
      distributionType: daily distribution
      notes: notes
      recognitionEnd: '2016-12-31'
      recognitionStart: '2016-01-01'
      revenueEvent:
        eventType: Credit Memo Posted
        eventTypeSystemId: CreditMemoPosted__z
        notes: some notes
  POSTRevenueScheduleByTransactionRatablyDMType:
    allOf:
    - properties:
        distributionType:
          description: |
            How you want to distribute the revenue.

            * Daily Distribution: Distributes revenue evenly across each day between the recognitionStart and recognitionEnd dates.
            * Monthly Distribution (Back Load): Back loads the revenue so you distribute the monthly amount in the partial month in the end only.
            * Monthly Distribution (Front Load): Front loads the revenue so you distribute the monthly amount in the partial month in the beginning only.
            * Monthly Distribution (Proration by Days): Splits the revenue amount between the two partial months.

            **Note:** To use any of the Monthly Distribution options, you must have the "Monthly recognition over time" model enabled in **Settings > Finance > Manage Revenue Recognition Models** in the Zuora UI.
          type: string
        notes:
          description: 'Additional information about this record.

            '
          maxLength: 2000
          minLength: 0
          type: string
        recognitionEnd:
          description: |
            The end date of a recognition period in `yyyy-mm-dd` format.

            The maximum difference between the `recognitionStart` and `recognitionEnd` date fields is equal to 250 multiplied by the length of an accounting period.
          format: date
          type: string
        recognitionStart:
          description: |
            The start date of a recognition period in `yyyy-mm-dd` format.

            If there is a closed accounting period between the `recognitionStart` and `recognitionEnd` dates, the revenue that would be placed in the closed accounting period is instead placed in the next open accounting period.
          format: date
          type: string
        revenueEvent:
          $ref: '#/definitions/POSTRevenueScheduleByTransactionRatablyTypeRevenueEvent'
      required:
      - recognitionEnd
      - recognitionStart
      type: object
    - $ref: '#/definitions/RevenueScheduleObjectCustomFields'
    example:
      distributionType: daily distribution
      notes: notes
      recognitionEnd: '2016-12-31'
      recognitionStart: '2016-01-01'
      revenueEvent:
        eventType: Debit Memo Posted
        eventTypeSystemId: DebitMemoPosted__z
        notes: some notes
  POSTRevenueScheduleByTransactionRatablyTypeRevenueEvent:
    allOf:
    - properties:
        eventType:
          description: |
            The label of the revenue event type. Revenue event type labels can be duplicated. You can configure your revenue event type labels by navigating to **Settings > Finance > Configure Revenue Event Types** in the Zuora UI.

            Note that `Credit Memo Posted` and `Debit Memo Posted` are only available if you enable the Invoice Settlement feature.
          maxLength: 50
          minLength: 0
          type: string
        eventTypeSystemId:
          description: |
            System ID of the revenue event type. Each eventType has a unique system ID. You can configure your revenue event type system IDs by navigating to **Settings > Finance > Configure Revenue Event Types** in the Zuora UI.

            Required only if there is more than one revenue event type with the same label.
          maxLength: 50
          minLength: 0
          type: string
        notes:
          description: 'Additional information about the revenue event.

            '
          maxLength: 2000
          minLength: 0
          type: string
      type: object
    - $ref: '#/definitions/RevenueEventObjectCustomFields'
    description: 'Must specify at least one of `eventType` or `eventTypeSystemId`.

      '
    title: RevenueEvent
  POSTRevenueScheduleByTransactionResponseType:
    properties:
      revenueScheduleNumber:
        description: 'Revenue schedule number. The revenue schedule number is always
          prefixed with "RS", for example, "RS-00000001".

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  POSTRevenueScheduleByTransactionType:
    allOf:
    - properties:
        notes:
          description: |
            Additional information about this record.

            Character Limit: 2,000
          type: string
        revenueDistributions:
          description: |
            An array of revenue distributions. Represents how you want to distribute revenue for this revenue schedule. You can distribute revenue into a maximum of 250 accounting periods with one revenue schedule.

            The sum of new Amounts must equal the the Charge Amount of the specified Invoice Item.
          items:
            $ref: '#/definitions/POSTDistributionItemType'
          type: array
        revenueEvent:
          $ref: '#/definitions/POSTRevenueScheduleByTransactionTypeRevenueEvent'
      type: object
    - $ref: '#/definitions/RevenueScheduleObjectCustomFields'
    example:
      revenueDistributions:
      - accountingPeriodName: Jan '16
        newAmount: '20'
      - accountingPeriodName: Open-Ended
        newAmount: '30'
      revenueEvent:
        eventType: Revenue Distributed
        eventTypeSystemId: RevenueDistributed__z
        notes: My notes
  POSTRevenueScheduleByTransactionTypeRevenueEvent:
    allOf:
    - properties:
        eventType:
          description: |
            Label of the revenue event type. Revenue event type labels can be duplicated. You can configure your revenue event type labels by navigating to **Settings > Finance > Configure Revenue Event Types** in the Zuora UI.

            Note that `Credit Memo Posted` and `Debit Memo Posted` are only available if you enable the Invoice Settlement feature.
          enum:
          - Invoice Posted
          - Invoice Item Adjustment Created
          - Invoice Canceled
          - Invoice Item Adjustment Canceled
          - Revenue Distributed
          - Credit Memo Posted
          - Debit Memo Posted
          type: string
        eventTypeSystemId:
          description: |
            System ID of the revenue event type. Each eventType has a unique system ID. You can configure your revenue event type system IDs by navigating to **Settings > Finance > Configure Revenue Event Types** in the Zuora UI.

            Required only if there is more than one revenue event type with the same label.
          type: string
        notes:
          description: 'Additional information about this record.

            '
          type: string
      type: object
    - $ref: '#/definitions/RevenueEventObjectCustomFields'
    description: |
      Represents a change to a revenue schedule, such as posting an invoice or distributing revenue.

      You must specify the `eventType` or the `eventTypeSystemID`, or both. If you have configured more than one revenue event type with the same label, you must specify the `eventTypeSystemId`.
    title: RevenueEvent
  POSTReversePaymentRequest:
    example:
      amount: 100
      gatewayResponse: Insufficient funds
      gatewayResponseCode: '023'
      referenceId: '825522036728874689'
      secondReferenceId: '825522036690700110'
      settledOn: '2019-05-07 20:56:32.981'
    properties:
      amount:
        description: "The amount that needs to be reversed (chargeback). It cannot\
          \ be greater than the total Payment amount. \n"
        type: number
      gatewayResponse:
        description: 'The transaction response returned by the gateway for this transaction.
          If the transaction was declined, this reason is provided in the message.

          '
        type: string
      gatewayResponseCode:
        description: 'Response message Code returned by the gateway about the transaction
          status.

          '
        type: string
      referenceId:
        description: "Unique Id generated by the gateway for each transaction. Use\
          \ this ID to find the respective Zuora Payment ID. \n"
        type: string
      secondReferenceId:
        description: 'The second reference Id. Some gateways use two unique transaction
          IDs.

          '
        type: string
      settledOn:
        description: 'The date and time of the transaction settlement. The format
          is `yyyy-mm-dd hh:mm:ss`.

          '
        format: date-time
        type: string
    required:
    - amount
    type: object
  POSTReversePaymentResponse:
    properties:
      accountId:
        description: 'The ID of the customer account that the payment is for.

          '
        type: string
      amount:
        description: 'The total amount of the payment.

          '
        format: double
        type: number
      cancelledOn:
        description: 'The date and time when the payment was cancelled, in `yyyy-mm-dd
          hh:mm:ss` format.

          '
        format: date-time
        type: string
      comment:
        description: 'Comments about the payment.

          '
        type: string
      createdById:
        description: 'The ID of the Zuora user who created the refund.

          '
        type: string
      createdDate:
        description: 'The date and time when the chargeback is created, in `yyyy-mm-dd
          hh:mm:ss` format. For example, 2019-03-01 15:31:10.

          '
        format: date-time
        type: string
      creditMemoId:
        description: 'The ID of the credit memo that is refunded.

          '
        type: string
      financeInformation:
        description: 'Container for the finance information related to the refund.

          '
        properties:
          bankAccountAccountingCode:
            description: 'The accounting code that maps to a bank account in your
              accounting system.

              '
            maxLength: 100
            minLength: 0
            type: string
          bankAccountAccountingCodeType:
            description: "The type of the accounting code that maps to a bank account\
              \ in your accounting system.\n  \n"
            type: string
          transferredToAccounting:
            description: "Whether the refund was transferred to an external accounting\
              \ system. Use this field for integration with accounting systems, such\
              \ as NetSuite. \n"
            enum:
            - Processing
            - 'Yes'
            - 'No'
            - Error
            - Ignore
            type: string
          unappliedPaymentAccountingCode:
            description: 'The accounting code for the unapplied payment.

              '
            maxLength: 100
            minLength: 0
            type: string
          unappliedPaymentAccountingCodeType:
            description: "The type of the accounting code for the unapplied payment.\n\
              \  \n"
            type: string
        type: object
      gatewayId:
        description: 'The ID of the gateway instance that processes the payment.

          '
        type: string
      gatewayResponse:
        description: 'The message returned from the payment gateway for the payment.
          This message is gateway-dependent.

          '
        type: string
      gatewayResponseCode:
        description: 'The code returned from the payment gateway for the payment.
          This code is gateway-dependent.

          '
        type: string
      gatewayState:
        description: 'The status of the payment in the gateway; used for reconciliation.

          '
        enum:
        - MarkedForSubmission
        - Submitted
        - Settled
        - NotSubmitted
        - FailedToSettle
        type: string
      id:
        description: 'The ID of the payment chargeback.

          '
        type: string
      markedForSubmissionOn:
        description: 'The date and time when a charge was marked and waiting for batch
          submission to the payment process, in `yyyy-mm-dd hh:mm:ss` format.

          '
        format: date-time
        type: string
      methodType:
        description: "How an external refund was issued to a customer. \n"
        enum:
        - ACH
        - Cash
        - Check
        - CreditCard
        - PayPal
        - WireTransfer
        - DebitCard
        - CreditCardReferenceTransaction
        - BankTransfer
        - Other
        type: string
      number:
        description: 'The unique identification number of the payment. For example,
          P-00000001.

          '
        type: string
      paymentId:
        description: 'The ID of the payment that is refunded.

          '
        type: string
      paymentMethodId:
        description: 'The unique ID of the payment method that the customer used to
          make the payment.

          '
        type: string
      paymentMethodSnapshotId:
        description: 'The unique ID of the payment method snapshot which is a copy
          of the particular Payment Method used in a transaction.

          '
        type: string
      reasonCode:
        description: "A code identifying the reason for the transaction.   \n"
        type: string
      referenceId:
        description: 'The transaction ID returned by the payment gateway for an electronic
          refund. Use this field to reconcile refunds between your gateway and Zuora
          Payments.

          '
        type: string
      refundDate:
        description: 'The date when the refund takes effect, in `yyyy-mm-dd` format.
          For example, 2017-03-01.

          '
        format: date
        type: string
      refundTransactionTime:
        description: 'The date and time when the refund was issued, in `yyyy-mm-dd
          hh:mm:ss` format.

          '
        format: date-time
        type: string
      secondRefundReferenceId:
        description: "The transaction ID returned by the payment gateway if there\
          \ is an additional refund. \n"
        type: string
      settledOn:
        description: 'The date and time when the transaction is settled, in `yyyy-mm-dd
          hh:mm:ss` format.

          '
        format: date-time
        type: string
      softDescriptor:
        description: 'A payment gateway-specific field that maps Zuora to other gateways.

          '
        type: string
      softDescriptorPhone:
        description: "A payment gateway-specific field that maps Zuora to other gateways.\
          \          \n"
        type: string
      status:
        description: 'The status of the payment.

          '
        type: string
      submittedOn:
        description: 'The date and time when the payment was submitted, in yyyy-mm-dd
          hh:mm:ss format.

          '
        format: date-time
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
      type:
        description: 'The type of the payment.

          '
        enum:
        - External
        - Electronic
        type: string
      updatedById:
        description: 'The ID of the Zuora user who last updated the payment.

          '
        type: string
      updatedDate:
        description: 'The date and time when the payment was last updated, in `yyyy-mm-dd
          hh:mm:ss` format. For example, 2019-03-02 15:36:10.

          '
        format: date-time
        type: string
    type: object
  POSTScCreateType:
    allOf:
    - properties:
        applyDiscountTo:
          description: |
            Specifies the type of charges that you want a specific discount to apply to.

            Values:

            * `ONETIME`
            * `RECURRING`
            * `USAGE`
            * `ONETIMERECURRING`
            * `ONETIMEUSAGE`
            * `RECURRINGUSAGE`
            * `ONETIMERECURRINGUSAGE`
          type: string
        billCycleDay:
          description: |
            Sets the bill cycle day (BCD) for the charge. The BCD determines which day of the month the customer is billed.

            Values: `1`-`31`
          type: string
        billCycleType:
          description: |
            Specifies how to determine the billing day for the charge. When this field is set to `SpecificDayofMonth`, set the `BillCycleDay` field. When this field is set to `SpecificDayofWeek`, set the `weeklyBillCycleDay` field.

            Values:

            * `DefaultFromCustomer`
            * `SpecificDayofMonth`
            * `SubscriptionStartDay`
            * `ChargeTriggerDay`
            * `SpecificDayofWeek`
          type: string
        billingPeriod:
          description: |
            Billing period for the charge. The start day of the billing period is also called the bill cycle day (BCD).

            Values:

            * `Month`
            * `Quarter`
            * `Semi_Annual`
            * `Annual`
            * `Eighteen_Months`
            * `Two_Years`
            * `Three_Years`
            * `Five_Years`
            * `Specific_Months`
            * `Subscription_Term`
            * `Week`
            * `Specific_Weeks`
          type: string
        billingPeriodAlignment:
          description: |
            Aligns charges within the same subscription if multiple charges begin on different dates.

            Values:

            * `AlignToCharge`
            * `AlignToSubscriptionStart`
            * `AlignToTermStart`
          type: string
        billingTiming:
          description: |
            Billing timing for the charge for recurring charge types. Not avaliable for one time, usage, and discount charges.

            Values:

            * `IN_ADVANCE` (default)
            * `IN_ARREARS`
          type: string
        description:
          description: 'Description of the charge.

            '
          type: string
        discountAmount:
          description: 'Specifies the amount of fixed-amount discount.

            '
          type: number
        discountLevel:
          description: |
            Specifies if the discount applies to the product rate plan only, the entire subscription, or to any activity in the account.

            Values:

            * `rateplan`
            * `subscription`
            * `account`
          type: string
        discountPercentage:
          description: "Percentage of discount for a percentage discount. \n"
          type: number
        endDateCondition:
          description: |
            Defines when the charge ends after the charge trigger date. If the subscription ends before the charge end date, the charge ends when the subscription ends. But if the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge will end on the charge end date.

            Values:

            * `Subscription_End`
            * `Fixed_Period`
            * `Specific_End_Date`
          type: string
        includedUnits:
          description: 'Specifies the number of units in the base set of units for
            this charge. Must be >=`0`.

            '
          type: number
        listPriceBase:
          description: |
            The list price base for the product rate plan charge.

            Values:

            * `Per_Billing_Period`
            * `Per_Month`
            * `Per_Week`
          type: string
        number:
          description: 'Unique number that identifies the charge. Max 50 characters.
            System-generated if not provided.

            '
          type: string
        numberOfPeriods:
          description: 'Specifies the number of periods to use when calculating charges
            in an overage smoothing charge model.

            '
          format: int64
          type: integer
        overagePrice:
          description: 'Price for units over the allowed amount.

            '
          type: number
        overageUnusedUnitsCreditOption:
          description: |
            Determines whether to credit the customer with unused units of usage.

            Values:

            * `NoCredit`
            * `CreditBySpecificRate`
          type: string
        price:
          description: 'Price for units in the subscription rate plan.

            '
          type: number
        priceChangeOption:
          description: |
            Applies an automatic price change when a termed subscription is renewed. The Billing Admin setting **Enable Automatic Price Change When Subscriptions are Renewed?** must be set to Yes to use this field.
            Values:

            * `NoChange` (default)
            * `SpecificPercentageValue`
            * `UseLatestProductCatalogPricing`
          type: string
        priceIncreasePercentage:
          description: "Specifies the percentage to increase or decrease the price\
            \ of a termed subscription's renewal. Required if you set the `PriceChangeOption`\
            \ field to `SpecificPercentageValue`. \n\nValue must be a decimal between\
            \ `-100` and `100`.\n"
          type: number
        productRatePlanChargeId:
          description: 'ID of a product rate-plan charge for this subscription.

            '
          type: string
        quantity:
          description: "Number of units. Must be a decimal >=`0`. \n\nWhen using `chargeOverrides`\
            \ for creating subscriptions with recurring charge types, the `quantity`\
            \ field must be populated when the charge model is \"Tiered Pricing\"\
            \ or \"Volume Pricing\". It is not required for \"Flat Fee Pricing\" charge\
            \ model.\n"
          type: number
        ratingGroup:
          description: "Specifies a rating group based on which usage records are\
            \ rated.\n\n**Note:** This feature is in **Limited Availability**. If\
            \ you wish to have access to the feature, submit a request at [Zuora Global\
            \ Support](http://support.zuora.com/).\n\nPossible values:\n\n- `ByBillingPeriod`\
            \ (default): The rating is based on all the usages in a billing period.\n\
            - `ByUsageStartDate`: The rating is based on all the usages on the same\
            \ usage start date. \n- `ByUsageRecord`: The rating is based on each usage\
            \ record.\n- `ByUsageUpload`: The rating is based on all the  usages in\
            \ a uploaded usage file (`.xls` or `.csv`).\n- `ByGroupId`: The rating\
            \ is based on all the usages in a custom group.\n\n**Note:** \n- The `ByBillingPeriod`\
            \ value can be applied for all charge models. \n- The `ByUsageStartDate`,\
            \ `ByUsageRecord`, and `ByUsageUpload` values can only be applied for\
            \ per unit, volume pricing, and tiered pricing charge models. \n- The\
            \ `ByGroupId` value is only available if you have the Active Rating feature\
            \ enabled.\n- Use this field only for Usage charges. One-Time Charges\
            \ and Recurring Charges return `NULL`.\n"
          type: string
        specificBillingPeriod:
          description: 'Specifies the number of month or week for the charges billing
            period. Required if you set the value of the `billingPeriod` field to
            `Specific_Months` or `Specific_Weeks`.

            '
          format: int64
          type: integer
        specificEndDate:
          description: |
            Defines when the charge ends after the charge trigger date.

            **note:**

            * This field is only applicable when the `endDateCondition` field is set to `Specific_End_Date`.

            * If the subscription ends before the specific end date, the charge ends when the subscription ends. But if the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge will end on the specific end date.
          format: date
          type: string
        tiers:
          description: |
            Container for Volume, Tiered, or Tiered with Overage charge models. Supports the following charge types:

            * One-time
            * Recurring
            * Usage-based
          items:
            $ref: '#/definitions/POSTTierType'
          type: array
        triggerDate:
          description: 'Specifies when to start billing the customer for the charge.
            Required if the `triggerEvent` field is set to `USD`.

            '
          format: date
          type: string
        triggerEvent:
          description: |
            Specifies when to start billing the customer for the charge.

            Values:

            * `UCE`
            * `USA`
            * `UCA`
            * `USD`
          type: string
        unusedUnitsCreditRates:
          description: 'Specifies the rate to credit a customer for unused units of
            usage. This field applies only for overage charge models when the `OverageUnusedUnitsCreditOption`
            field is set to `CreditBySpecificRate`.

            '
          type: number
        upToPeriods:
          description: "Specifies the length of the period during which the charge\
            \ is active. If this period ends before the subscription ends, the charge\
            \ ends when this period ends.\n\n**Note:** You must use this field together\
            \ with the `upToPeriodsType` field to specify the time period.\n\n* This\
            \ field is applicable only when the `endDateCondition` field is set to\
            \ `Fixed_Period`. \n* If the subscription end date is subsequently changed\
            \ through a Renewal, or Terms and Conditions amendment, the charge end\
            \ date will change accordingly up to the original period end.\n"
          format: int64
          type: integer
        upToPeriodsType:
          description: "\nThe period type used to define when the charge ends. \n\n\
            Values:\n\n* `Billing_Periods`\n* `Days`\n* `Weeks`\n* `Months`\n* `Years`\n\
            \nYou must use this field together with the `upToPeriods` field to specify\
            \ the time period.\n\nThis field is applicable only when the `endDateCondition`\
            \ field is set to `Fixed_Period`. \n"
          type: string
        weeklyBillCycleDay:
          description: "Specifies which day of the week is the bill cycle day (BCD)\
            \ for the charge. \n\nValues:\n\n* `Sunday`\n* `Monday`\n* `Tuesday`\n\
            * `Wednesday`\n* `Thursday`\n* `Friday`\n* `Saturday`\n"
          type: string
      required:
      - productRatePlanChargeId
      type: object
    - $ref: '#/definitions/RatePlanChargeObjectCustomFields'
    title: chargeOverrides
  POSTSequenceSetRequest:
    description: ''
    properties:
      creditMemo:
        $ref: '#/definitions/CreditMemoEntityPrefix'
      debitMemo:
        $ref: '#/definitions/DebitMemoEntityPrefix'
      invoice:
        $ref: '#/definitions/InvoiceEntityPrefix'
      name:
        description: 'The name of the sequence set to configure for billing documents,
          payments, and refunds.

          '
        example: FRANCE
        type: string
      payment:
        $ref: '#/definitions/PaymentEntityPrefix'
      refund:
        $ref: '#/definitions/RefundEntityPrefix'
    required:
    - name
    - invoice
    - creditMemo
    - debitMemo
    title: sequenceSets
    type: object
  POSTSequenceSetsRequest:
    description: ''
    example:
      sequenceSets:
      - creditMemo:
          prefix: FCM
          startNumber: 10
        debitMemo:
          prefix: FDM
          startNumber: 10
        invoice:
          prefix: FINV
          startNumber: 10
        name: FR
        payment:
          prefix: FP-
          startNumber: 10
        refund:
          prefix: FR-
          startNumber: 10
      - creditMemo:
          prefix: ICM
          startNumber: 10
        debitMemo:
          prefix: IDM
          startNumber: 10
        invoice:
          prefix: IINV
          startNumber: 10
        name: ITA
        payment:
          prefix: IP-
          startNumber: 10
        refund:
          prefix: IR-
          startNumber: 10
    properties:
      sequenceSets:
        description: 'Array of sequence sets configured for billing documents, payments,
          and refunds.

          '
        items:
          $ref: '#/definitions/POSTSequenceSetRequest'
        type: array
    type: object
  POSTSequenceSetsResponse:
    description: ''
    properties:
      sequenceSets:
        description: 'Array of sequence sets configured for billing documents, payments,
          and refunds.

          '
        items:
          $ref: '#/definitions/GETSequenceSetResponse'
        type: array
      success:
        description: 'Indicates whether the call succeeded.

          '
        example: true
        type: boolean
    type: object
  POSTSettlePaymentRequest:
    example:
      settledOn: '2019-05-07 20:56:32.981'
    properties:
      settledOn:
        description: 'The date and time of the transaction settlement. The format
          is `yyyy-mm-dd hh:mm:ss`.

          '
        format: date-time
        type: string
    type: object
  POSTSettlePaymentResponse:
    properties:
      accountId:
        description: 'The ID of the customer account that the payment is for.

          '
        type: string
      amount:
        description: 'The total amount of the payment.

          '
        format: double
        type: number
      appliedAmount:
        description: 'The applied amount of the payment.

          '
        format: double
        type: number
      authTransactionId:
        description: 'The authorization transaction ID from the payment gateway.

          '
        type: string
      bankIdentificationNumber:
        description: 'The first six digits of the credit card or debit card used for
          the payment, when applicable.

          '
        type: string
      cancelledOn:
        description: 'The date and time when the payment was cancelled, in `yyyy-mm-dd
          hh:mm:ss` format.

          '
        format: date-time
        type: string
      comment:
        description: 'Comments about the payment.

          '
        type: string
      createdById:
        description: 'The ID of the Zuora user who created the refund.

          '
        type: string
      createdDate:
        description: 'The date and time when the chargeback is created, in `yyyy-mm-dd
          hh:mm:ss` format. For example, 2019-03-01 15:31:10.

          '
        format: date-time
        type: string
      creditBalanceAmount:
        description: 'The amount that the payment transfers to the credit balance.
          The value is not `0` only for those payments that come from legacy payment
          operations performed without the Invoice Settlement feature.

          '
        format: double
        type: number
      currency:
        description: 'A currency defined in the web-based UI administrative settings.

          '
        type: string
      effectiveDate:
        description: 'The date and time when the payment takes effect, in `yyyy-mm-dd
          hh:mm:ss` format.

          '
        format: date-time
        type: string
      financeInformation:
        description: 'Container for the finance information related to the refund.

          '
        properties:
          bankAccountAccountingCode:
            description: 'The accounting code that maps to a bank account in your
              accounting system.

              '
            maxLength: 100
            minLength: 0
            type: string
          bankAccountAccountingCodeType:
            description: "The type of the accounting code that maps to a bank account\
              \ in your accounting system.\n  \n"
            type: string
          transferredToAccounting:
            description: "Whether the refund was transferred to an external accounting\
              \ system. Use this field for integration with accounting systems, such\
              \ as NetSuite. \n"
            enum:
            - Processing
            - 'Yes'
            - 'No'
            - Error
            - Ignore
            type: string
          unappliedPaymentAccountingCode:
            description: 'The accounting code for the unapplied payment.

              '
            maxLength: 100
            minLength: 0
            type: string
          unappliedPaymentAccountingCodeType:
            description: "The type of the accounting code for the unapplied payment.\n\
              \  \n"
            type: string
        type: object
      gatewayId:
        description: 'The ID of the gateway instance that processes the payment.

          '
        type: string
      gatewayOrderId:
        description: 'A merchant-specified natural key value that can be passed to
          the electronic payment gateway when a payment is created. If not specified,
          the payment number will be passed in instead.

          '
        type: string
      gatewayResponse:
        description: 'The message returned from the payment gateway for the payment.
          This message is gateway-dependent.

          '
        type: string
      gatewayResponseCode:
        description: 'The code returned from the payment gateway for the payment.
          This code is gateway-dependent.

          '
        type: string
      gatewayState:
        description: 'The status of the payment in the gateway; used for reconciliation.

          '
        enum:
        - MarkedForSubmission
        - Submitted
        - Settled
        - NotSubmitted
        - FailedToSettle
        type: string
      id:
        description: 'The ID of the payment chargeback.

          '
        type: string
      markedForSubmissionOn:
        description: 'The date and time when a charge was marked and waiting for batch
          submission to the payment process, in `yyyy-mm-dd hh:mm:ss` format.

          '
        format: date-time
        type: string
      number:
        description: 'The unique identification number of the payment. For example,
          P-00000001.

          '
        type: string
      paymentMethodId:
        description: 'The unique ID of the payment method that the customer used to
          make the payment.

          '
        type: string
      paymentMethodSnapshotId:
        description: 'The unique ID of the payment method snapshot which is a copy
          of the particular Payment Method used in a transaction.

          '
        type: string
      referenceId:
        description: 'The transaction ID returned by the payment gateway for an electronic
          refund. Use this field to reconcile refunds between your gateway and Zuora
          Payments.

          '
        type: string
      refundAmount:
        description: 'The amount of the payment that is refunded.

          '
        format: double
        type: number
      secondPaymentReferenceId:
        description: "The transaction ID returned by the payment gateway if there\
          \ is an additional transaction for the payment. \n"
        type: string
      settledOn:
        description: 'The date and time when the transaction is settled, in `yyyy-mm-dd
          hh:mm:ss` format.

          '
        format: date-time
        type: string
      softDescriptor:
        description: 'A payment gateway-specific field that maps Zuora to other gateways.

          '
        type: string
      softDescriptorPhone:
        description: 'A payment gateway-specific field that maps Zuora to other gateways.

          '
        type: string
      status:
        description: 'The status of the payment.

          '
        type: string
      submittedOn:
        description: 'The date and time when the payment was submitted, in `yyyy-mm-dd
          hh:mm:ss` format.

          '
        format: date-time
        type: string
      success:
        description: 'Indicates if the request is processed successfully.

          '
        type: boolean
      type:
        description: 'The type of the payment.

          '
        enum:
        - External
        - Electronic
        type: string
      unappliedAmount:
        description: 'The unapplied amount of the payment.

          '
        format: double
        type: number
      updatedById:
        description: 'The ID of the Zuora user who last updated the payment.

          '
        type: string
      updatedDate:
        description: 'The date and time when the payment was last updated, in `yyyy-mm-dd
          hh:mm:ss` format. For example, 2019-03-02 15:36:10.

          '
        format: date-time
        type: string
    type: object
  POSTSrpCreateType:
    allOf:
    - properties:
        chargeOverrides:
          description: 'This optional container is used to override the quantity of
            one or more product rate plan charges for this subscription.

            '
          items:
            $ref: '#/definitions/POSTScCreateType'
          type: array
        productRatePlanId:
          description: 'ID of a product rate plan for this subscription.

            '
          type: string
      required:
      - productRatePlanId
      type: object
    - $ref: '#/definitions/RatePlanObjectCustomFields'
    title: subscribeToRatePlans
  POSTSubscriptionCancellationResponseType:
    properties:
      cancelledDate:
        description: 'The date that the subscription was canceled.

          '
        format: date
        type: string
      creditMemoId:
        description: |
          The credit memo ID, if a credit memo is generated during the subscription process.

          **Note:** This field is only available if you have the Invoice Settlements feature enabled.
        type: string
      invoiceId:
        description: 'ID of the invoice, if one is generated.

          '
        type: string
      paidAmount:
        description: 'Amount paid.

          '
        type: number
      paymentId:
        description: 'ID of the payment, if a payment is collected.

          '
        type: string
      subscriptionId:
        description: 'The subscription ID.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
      totalDeltaMrr:
        description: 'Change in the subscription monthly recurring revenue as a result
          of the update.

          '
        type: number
      totalDeltaTcv:
        description: 'Change in the total contracted value of the subscription as
          a result of the update.

          '
        type: number
    type: object
  POSTSubscriptionCancellationType:
    example:
      cancellationEffectiveDate: '2019-05-31'
      cancellationPolicy: SpecificDate
      collect: false
      runBilling: true
    properties:
      applyCreditBalance:
        description: "Applies a credit balance to an invoice.\n\nIf the value is `true`,\
          \ the credit balance is applied to the invoice. If the value is `false`,\
          \ no action is taken.\n\n\nTo view the credit balance adjustment, retrieve\
          \ the details of the invoice using the Get Invoices method.\n\nPrerequisite:\
          \ `invoice` must be `true`. \n\n**Note:** \n  - If you are using the field\
          \ `invoiceCollect` rather than the field `invoice`, the `invoiceCollect`\
          \ value must be `true`.\n  - This field is deprecated if you have the Invoice\
          \ Settlement feature enabled.\n"
        type: boolean
      cancellationEffectiveDate:
        description: 'Date the cancellation takes effect, in the format yyyy-mm-dd.  Use
          only if `cancellationPolicy` is `SpecificDate`. Should not be earlier than
          the subscription contract-effective date, later than the subscription term-end
          date, or within a period for which the customer has been invoiced.

          '
        format: date
        type: string
      cancellationPolicy:
        description: 'Cancellation method. Possible values are: `EndOfCurrentTerm`,
          `EndOfLastInvoicePeriod`, `SpecificDate`. If using `SpecificDate`, the `cancellationEffectiveDate`
          field is required.

          '
        type: string
      collect:
        default: false
        description: "Collects an automatic payment for a subscription. The collection\
          \ generated in this operation is only for this subscription, not for the\
          \ entire customer account.\n\nIf the value is `true`, the automatic payment\
          \ is collected. If the value is `false`, no action is taken.\n\nPrerequisite:\
          \ The `invoice` or `runBilling` field must be `true`. \n\n**Note**: This\
          \ field is only available if you set the `zuora-version` request header\
          \ to `196.0` or later.\n"
        type: boolean
      documentDate:
        description: "The date of the billing document, in `yyyy-mm-dd` format. It\
          \ represents the invoice date for invoices, credit memo date for credit\
          \ memos, and debit memo date for debit memos.\n\n- If this field is specified,\
          \ the specified date is used as the billing document date. \n- If this field\
          \ is not specified, the date specified in the `targetDate` is used as the\
          \ billing document date.\n"
        format: date
        type: string
      invoice:
        description: "**Note:** This field has been replaced by the `runBilling` field.\
          \ The\n`invoice` field is only available for backward compatibility.\n\n\
          \nCreates an invoice for a subscription. The invoice generated in this\n\
          operation is only for this subscription, not for the entire customer\naccount.\n\
          \n\nIf the value is `true`, an invoice is created. If the value is\n`false`,\
          \ no action is taken. The default value is `false`. \n\n\nThis field is\
          \ in Zuora REST API version control. Supported minor\nversions are `196.0`\
          \ and `207.0`. To use this field in the method, you\nmust set the zuora-version\
          \ parameter to the minor version number in\nthe request header. \n"
        type: boolean
      invoiceCollect:
        default: false
        description: |
          This field has been replaced by the `invoice` field and the
          `collect` field. `invoiceCollect` is available only for backward compatibility.

          If this field is set to `true`, an invoice is generated and payment automatically collected.

          **Note**: This field is only available if you set the `zuora-version` request header to `186.0`, `187.0`, `188.0`, or `189.0`.
        type: boolean
      invoiceTargetDate:
        description: "**Note:** This field has been replaced by the `targetDate` field.\
          \ The\n`invoiceTargetDate` field is only available for backward\ncompatibility.\n\
          \n\nDate through which to calculate charges if an invoice is generated,\
          \ as\nyyyy-mm-dd. Default is current date.\n\n\nThis field is in Zuora REST\
          \ API version control. Supported minor\nversions are `207.0` and earlier.\
          \  \n"
        format: date
        type: string
      runBilling:
        default: false
        description: "Creates an invoice for a subscription. If you have the Invoice\
          \ Settlement feature enabled, a credit memo might also be created based\
          \ on the [invoice and credit memo generation rule](https://knowledgecenter.zuora.com/CB_Billing/Invoice_Settlement/Credit_and_Debit_Memos/Rules_for_Generating_Invoices_and_Credit_Memos).\
          \  \n\n\nThe billing documents generated\nin this operation is only for\
          \ this subscription, not for the entire\ncustomer account.\n\n\nPossible\
          \ values:\n\n- `true`: An invoice is created. If you have the Invoice Settlement\
          \ feature enabled, a credit memo might also be created.\n\n\n- `false`:\
          \ No invoice is created.\n\n\n**Note:** This field is in Zuora REST API\
          \ version control. Supported\nminor versions are `211.0` or later. To use\
          \ this field in the method,\nyou must set the `zuora-version` parameter\
          \ to the minor version number\nin the request header.\n"
        enum:
        - true
        - false
        type: boolean
      targetDate:
        description: |
          Date through which to calculate charges if an invoice or a credit memo is generated, as
          yyyy-mm-dd. Default is current date.


          **Note:** The credit memo is only available if you have the Invoice Settlement feature enabled.


          This field is in Zuora REST API version control. Supported minor
          versions are `211.0` and later. To use this field in the method, you
          must set the  `zuora-version` parameter to the minor version number in
          the request header.
        format: date
        type: string
    required:
    - cancellationPolicy
    - invoiceCollect
    type: object
  POSTSubscriptionPreviewCreditMemoItemsType:
    properties:
      amountWithoutTax:
        description: 'The credit memo item amount excluding tax.

          '
        format: double
        type: number
      chargeAmount:
        description: 'The amount of the credit memo item. For tax-inclusive credit
          memo items, the amount indicates the credit memo item amount including tax.
          For tax-exclusive credit memo items, the amount indicates the credit memo
          item amount excluding tax

          '
        format: double
        type: number
      chargeDescription:
        description: 'Description of this credit memo item.

          '
        type: string
      chargeName:
        description: 'Name of this credit memo item.

          '
        type: string
      productName:
        description: 'Name of the product associated with this credit memo item.

          '
        type: string
      productRatePlanChargeId:
        description: 'ID of the product rate plan charge associated with this credit
          memo item.

          '
        type: string
      quantity:
        description: 'Quantity of the charge associated with this credit memo item.

          '
        type: integer
      serviceEndDate:
        description: 'End date of the service period for this credit memo item, as
          yyyy-mm-dd.

          '
        format: date
        type: string
      serviceStartDate:
        description: 'Service start date of this credit memo item, as yyyy-mm-dd.

          '
        format: date
        type: string
      taxAmount:
        description: 'The tax amount of the credit memo item.

          '
        format: double
        type: number
      unitOfMeasure:
        description: Unit used to measure consumption.
        type: string
    title: creditMemoItems
    type: object
  POSTSubscriptionPreviewInvoiceItemsType:
    properties:
      chargeAmount:
        description: 'The amount of the charge. This amount doesn''t include taxes
          unless the charge''s tax mode is inclusive.

          '
        type: number
      chargeDescription:
        description: 'Description of the charge.

          '
        type: string
      chargeName:
        description: 'Name of the charge.

          '
        type: string
      productName:
        description: 'Name of the product associated with this item.

          '
        type: string
      productRatePlanChargeId:
        description: 'ID of the product rate plan charge.

          '
        type: string
      quantity:
        description: 'Quantity of this item.

          '
        type: number
      serviceEndDate:
        description: 'End date of the service period for this item, i.e., the last
          day of the period, as yyyy-mm-dd.

          '
        format: date
        type: string
      serviceStartDate:
        description: 'Service start date as yyyy-mm-dd. If the charge is a one-time
          fee, this is the date of that charge.

          '
        format: date
        type: string
      taxAmount:
        description: 'The tax amount of the invoice item.

          '
        format: double
        type: number
      unitOfMeasure:
        description: ''
        type: string
    title: invoiceItems
    type: object
  POSTSubscriptionPreviewResponseType:
    properties:
      amount:
        description: 'Invoice amount.

          '
        type: number
      amountWithoutTax:
        description: 'Invoice amount minus tax.

          '
        type: number
      chargeMetrics:
        description: 'Container for charge metrics.

          '
        properties:
          dmrr:
            description: 'Change in monthly recurring revenue.

              '
            type: string
          dtcv:
            description: 'Change in total contract value.

              '
            type: string
          mrr:
            description: 'Monthly recurring revenue.

              '
            type: string
          number:
            description: 'The charge number of the subscription. Only available for
              update subscription.

              '
            type: string
          originRatePlanId:
            description: 'The origin rate plan ID. Only available for update subscription.

              '
            type: string
          originalId:
            description: 'The original rate plan charge ID. Only available for update
              subscription.

              '
            type: string
          productRatePlanChargeId:
            description: 'The product rate plan charge ID.

              '
            type: string
          productRatePlanId:
            description: 'The product rate plan ID.

              '
            type: string
          tcv:
            description: 'Total contract value.

              '
            type: string
        type: object
      contractedMrr:
        description: 'Monthly recurring revenue of the subscription.

          '
        type: number
      creditMemo:
        description: "\nContainer for credit memos.\n\n**Note:** This container is\
          \ only available if you set the Zuora REST API minor version to 207.0 or\
          \ later in the request header, and you have the Invoice Settlement feature\
          \ enabled. The Invoice Settlement feature is in **Limited Availability**.\
          \ If you wish to have access to the feature, submit a request at [Zuora\
          \ Global Support](http://support.zuora.com/). \n"
        properties:
          amount:
            description: Credit memo amount.
            format: double
            type: number
          amountWithoutTax:
            description: Credit memo amount minus tax.
            format: double
            type: number
          creditMemoItems:
            description: ''
            items:
              $ref: '#/definitions/POSTSubscriptionPreviewCreditMemoItemsType'
            type: array
          taxAmount:
            description: Tax amount on the credit memo.
            format: double
            type: number
        type: object
      invoice:
        description: "Container for invoices.\n\n\n **Note:** This field is only available\
          \ if you set the Zuora REST API minor version to 207.0 or later in the request\
          \ header. Also, the response structure is changed and the following invoice\
          \ related response fields are moved to this **invoice** container:\n  \n\
          \   * amount\n   * amountWithoutTax\n   * taxAmount\n   * invoiceItems\n\
          \   * targetDate\n   * chargeMetrics\n   \n"
        type: object
      invoiceItems:
        description: 'Container for invoice items.

          '
        items:
          $ref: '#/definitions/POSTSubscriptionPreviewInvoiceItemsType'
        type: array
      invoiceTargetDate:
        description: |
          Date through which charges are calculated on the invoice, as yyyy-mm-dd.

          **Note:** This field is only available if you do not specify the Zuora REST API minor version or specify the minor version to 186.0, 187.0, 188.0, 189.0, and 196.0. See [Zuora REST API Versions](https://www.zuora.com/developer/api-reference/#section/API-Versions) for more information.
        format: date
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
      targetDate:
        description: |
          Date through which to calculate charges if an invoice is generated, as yyyy-mm-dd. Default is current date.

          **Note:** This field is only available if you set the Zuora REST API minor version to 207.0 or later in the request header. See [Zuora REST API Versions](https://www.zuora.com/developer/api-reference/#section/API-Versions) for more information.
        format: date
        type: string
      taxAmount:
        description: 'Tax amount on the invoice.

          '
        type: number
      totalContractedValue:
        description: 'Total contracted value of the subscription.

          '
        type: number
    type: object
  POSTSubscriptionPreviewType:
    allOf:
    - properties:
        accountKey:
          description: "\nCustomer account number or ID.\n\nYou must specify the account\
            \ information either in this field or in the `previewAccountInfo` field\
            \ with the following conditions:\n         \n* If you already have a customer\
            \ account, specify the account number or ID in this field.\n* If you do\
            \ not have a customer account, provide account information in the `previewAccountInfo`\
            \ field.\n"
          type: string
        contractEffectiveDate:
          description: 'Effective contract date for this subscription, as yyyy-mm-dd.

            '
          format: date
          type: string
        customerAcceptanceDate:
          description: |
            The date on which the services or products within a subscription have been accepted by the customer, as yyyy-mm-dd.

            Default value is dependent on the value of other fields. See **Notes** section for more details.
          format: date
          type: string
        includeExistingDraftDocItems:
          description: |
            Specifies whether to include draft invoice items in subscription previews.
            Values are:

            * `true` (default). Includes draft invoice items in the preview result.
            * `false`. Excludes draft invoice items in the preview result.

            **Note:** This field is in Zuora REST API version control. Supported minor versions are 207.0 or later. To use this field in the method, you must set the **zuora-version** parameter to the minor version number in the request header. See [Zuora REST API Versions](https://www.zuora.com/developer/api-reference/#section/API-Versions) for more information.
          type: boolean
        includeExistingDraftInvoiceItems:
          description: |
            Specifies whether to include draft invoice items in previews.
            Values are:

            * `true` (default). Includes draft invoice items in the preview result.
            * `false`. Excludes draft invoice items in the preview result.

            **Note:** This field is in Zuora REST API version control. Supported minor versions are 186.0, 187.0, 188.0, 189.0, and 196.0. See [Zuora REST API Versions](https://www.zuora.com/developer/api-reference/#section/API-Versions) for more information.
          type: boolean
        initialTerm:
          description: 'Duration of the first term of the subscription, in whole months.
            Default is `0`. If `termType` is `TERMED`, then this field is required,
            and the value must be greater than `0`. If `termType` is `EVERGREEN`,
            this field is ignored.

            '
          format: int64
          type: integer
        initialTermPeriodType:
          description: "The period type of the initial term. \n\nSupported values\
            \ are:\n\n* `Month`\n* `Year`\n* `Day`\n* `Week`\n"
          type: string
        invoiceOwnerAccountKey:
          description: |
            Invoice owner account number or ID.

            **Note:** This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
          type: string
        invoiceTargetDate:
          description: |
            Date through which to calculate charges if an invoice is generated, as yyyy-mm-dd. Default is current date.

            **Note:** This field is in Zuora REST API version control. Supported minor versions are 186.0, 187.0, 188.0, 189.0, and 196.0. See [Zuora REST API Versions](https://www.zuora.com/developer/api-reference/#section/API-Versions) for more information.
          format: date
          type: string
        notes:
          description: String of up to 500 characters.
          type: string
        previewAccountInfo:
          $ref: '#/definitions/POSTSubscriptionPreviewTypePreviewAccountInfo'
        previewType:
          description: "The type of preview you will receive. \n\nThis field is in\
            \ Zuora REST API version control. The supported values of this field depend\
            \ on the REST API minor version you specified in the request header.\n\
            \n\n* If you do not specify the REST API minor version or specify the\
            \ minor version number to one of following values in the request header:\n\
            \ \n  * 186.0\n  * 187.0\n  * 188.0\n  * 189.0\n  * 196.0 \n  \n  The\
            \ following values are supported in the **previewType** field:\n\n  *\
            \ InvoiceItem\n  * ChargeMetrics\n  * InvoiceItemChargeMetrics\n  \n \
            \ The default value is InvoiceItem.\n\n* If you specify the REST API minor\
            \ version to 207.0 or later in the request header, the following values\
            \ are supported in the **previewType** field:\n\n  - LegalDoc\n  - ChargeMetrics\n\
            \  - LegalDocChargeMetrics\n\n  The default value is LegalDoc.\n\nSee\
            \ [Zuora REST API Versions](https://www.zuora.com/developer/api-reference/#section/API-Versions)\
            \ for more information.\n"
          type: string
        serviceActivationDate:
          description: |
            The date on which the services or products within a subscription have been activated and access has been provided to the customer, as yyyy-mm-dd.

            Default value is dependent on the value of other fields. See **Notes** section for more details.
          format: date
          type: string
        subscribeToRatePlans:
          description: 'Container for one or more rate plans for this subscription.

            '
          items:
            $ref: '#/definitions/POSTSrpCreateType'
          type: array
        targetDate:
          description: |
            Date through which to calculate charges if an invoice is generated, as yyyy-mm-dd. Default is current date.

            **Note:** This field is in Zuora REST API version control. Supported minor versions are 207.0 or later. To use this field in the method, you must set the **zuora-version** parameter to the minor version number in the request header. See [Zuora REST API Versions](https://www.zuora.com/developer/api-reference/#section/API-Versions) for more information.
          format: date
          type: string
        termStartDate:
          description: 'The date on which the subscription term begins, as yyyy-mm-dd.
            If this is a renewal subscription, this date is different from the subscription
            start date.

            '
          format: date
          type: string
        termType:
          description: 'Possible values are: `TERMED`, `EVERGREEN`.

            '
          type: string
      required:
      - termType
      - contractEffectiveDate
      - subscribeToRatePlans
      type: object
    - $ref: '#/definitions/SubscriptionObjectCustomFields'
    example:
      contractEffectiveDate: 2013-1-15
      initialTerm: 12
      initialTermPeriodType: Week
      invoiceTargetDate: '2013-12-31'
      previewAccountInfo:
        billCycleDay: 31
        billToContact:
          city: Walnut Creek
          country: United States
          county: Contra Consta
          state: California
          zipCode: '94549'
        currency: USD
      subscribeToRatePlans:
      - chargeOverrides:
        - productRatePlanChargeId: ff8080811ca15d19011cddad8c953b53
          quantity: 100
        productRatePlanId: ff8080811ca15d19011cdda9b0ad3b51
      termType: TERMED
  POSTSubscriptionPreviewTypePreviewAccountInfo:
    allOf:
    - properties:
        billCycleDay:
          description: 'The account''s bill cycle day (BCD), when bill runs generate
            invoices for the account. Specify any day of the month (`1`-`31`, where
            `31` = end-of-month), or `0` for auto-set.

            '
          format: int64
          type: integer
        billToContact:
          description: 'Container for bill-to contact information of this account.

            '
          properties:
            city:
              description: 'The city of the bill-to address. The value should be 40
                characters or less.

                '
              type: string
            country:
              description: |
                The country of the bill-to address. The value must be a valid country name or abbreviation.

                **Note:** You must specify this field if you are using Zuora Tax for this account.
              type: string
            county:
              description: 'The county of the bill-to address. The value should be
                32 characters or less.

                '
              type: string
            state:
              description: |
                The state of the bill-to address. The value must be a valid state or province name or 2-character abbreviation.

                **Note:** You must specify this field if you are using Zuora Tax for this account and the country is `USA` or `Canada`.
              type: string
            taxRegion:
              description: 'If using Zuora Tax, a region string as optionally defined
                in your tax rules.

                '
              type: string
            zipCode:
              description: 'The zip code of the bill-to address. The value should
                be 20 characters or less.

                '
              type: string
          type: object
        currency:
          description: 'A currency as defined in Billing Settings.

            '
          type: string
      required:
      - billCycleDay
      - billToContact
      - currency
      type: object
    - $ref: '#/definitions/AccountObjectNSFields'
    - $ref: '#/definitions/AccountObjectCustomFields'
    description: |
      A container for providing a customer account information if you do not have an existing customer account. This customer account information is only used for subscription preview.

      You must specify the account information either in this field or in the `accountKey` field with the following conditions:

      * If you already have a customer account, specify the account number or ID in the accountKey field.
      * If you do not have a customer account, provide account information in this field.
    title: previewAccountInfo
  POSTSubscriptionResponseType:
    properties:
      contractedMrr:
        description: 'Monthly recurring revenue of the subscription.

          '
        type: number
      creditMemoId:
        description: |
          The credit memo ID, if a credit memo is generated during the subscription process.

          **Note:** This field is only available if you have the Invoice Settlements feature enabled.
        type: string
      invoiceId:
        description: 'Invoice ID, if an invoice is generated during the subscription
          process.

          '
        type: string
      paidAmount:
        description: 'Payment amount, if a payment is collected.

          '
        type: number
      paymentId:
        description: 'Payment ID, if a payment is collected.

          '
        type: string
      subscriptionId:
        description: ''
        type: string
      subscriptionNumber:
        description: ''
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
      totalContractedValue:
        description: 'Total contracted value of the subscription.

          '
        type: number
    type: object
  POSTSubscriptionType:
    allOf:
    - properties:
        accountKey:
          description: 'Customer account number or ID

            '
          type: string
        applyCreditBalance:
          description: "Applies a credit balance to an invoice.\n\nIf the value is\
            \ `true`, the credit balance is applied to the invoice. If the value is\
            \ `false`, no action is taken.\n\n\nTo view the credit balance adjustment,\
            \ retrieve the details of the invoice using the Get Invoices method.\n\
            \nPrerequisite: `invoice` must be `true`. \n\n**Note:** \n  - If you are\
            \ using the field `invoiceCollect` rather than the field `invoice`, the\
            \ `invoiceCollect` value must be `true`.\n  - This field is deprecated\
            \ if you have the Invoice Settlement feature enabled.\n"
          type: boolean
        autoRenew:
          default: false
          description: |
            If true, this subscription automatically renews at the end of the subscription term.

            This field is only required if the `termType` field is set to `TERMED`.
          type: boolean
        collect:
          default: true
          description: "Collects an automatic payment for a subscription. The collection\
            \ generated in this operation is only for this subscription, not for the\
            \ entire customer account.\n\nIf the value is `true`, the automatic payment\
            \ is collected. If the value is `false`, no action is taken.\n\nPrerequisite:\
            \ The `invoice` or `runBilling` field must be `true`. \n\n**Note**: This\
            \ field is only available if you set the `zuora-version` request header\
            \ to `196.0` or later.\n"
          type: boolean
        contractEffectiveDate:
          description: 'Effective contract date for this subscription, as yyyy-mm-dd

            '
          format: date
          type: string
        customerAcceptanceDate:
          description: |
            The date on which the services or products within a subscription have been accepted by the customer, as yyyy-mm-dd.

            Default value is dependent on the value of other fields. See **Notes** section for more details.
          format: date
          type: string
        documentDate:
          description: "The date of the billing document, in `yyyy-mm-dd` format.\
            \ It represents the invoice date for invoices, credit memo date for credit\
            \ memos, and debit memo date for debit memos.\n\n- If this field is specified,\
            \ the specified date is used as the billing document date. \n- If this\
            \ field is not specified, the date specified in the `targetDate` is used\
            \ as the billing document date.\n"
          format: date
          type: string
        gatewayId:
          description: 'The ID of the payment gateway instance. For example, `2c92c0f86078c4d5016091674bcc3e92`.

            '
          type: string
        initialTerm:
          description: 'The length of the period for the first subscription term.
            Default is `0`. If `termType` is `TERMED`, then this field is required,
            and the value must be greater than `0`. If `termType` is `EVERGREEN`,
            this field is ignored.

            '
          format: int64
          type: integer
        initialTermPeriodType:
          description: |
            The period type for the first subscription term.

            This field is used with the `InitialTerm` field to specify the initial subscription term.

            Values are:

            * `Month` (default)
            * `Year`
            * `Day`
            * `Week`
          type: string
        invoice:
          description: "**Note:** This field has been replaced by the `runBilling`\
            \ field. The\n`invoice` field is only available for backward compatibility.\n\
            \n\nCreates an invoice for a subscription. The invoice generated in this\n\
            operation is only for this subscription, not for the entire customer\n\
            account.\n\n\nIf the value is `true`, an invoice is created. If the value\
            \ is\n`false`, no action is taken. The default value is `true`. \n\n\n\
            This field is in Zuora REST API version control. Supported minor\nversions\
            \ are `196.0` and `207.0`. To use this field in the method, you\nmust\
            \ set the zuora-version parameter to the minor version number in\nthe\
            \ request header. \n"
          type: boolean
        invoiceCollect:
          default: true
          description: |
            **Note:** This field has been replaced by the `invoice` field
            and the `collect` field. `invoiceCollect` is available only for backward compatibility.


            If this field is set to `true`, an invoice is generated and payment collected automatically
            during the subscription process. If `false`, no invoicing or payment takes
            place. The invoice generated in this operation is only for this subscription,
            not for the entire customer account.


            **Note**: This field is only available if you set the `zuora-version` request header to `186.0`, `187.0`, `188.0`, or `189.0`.
          type: boolean
        invoiceOwnerAccountKey:
          description: |
            Invoice owner account number or ID.

            **Note:** This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
          type: string
        invoiceSeparately:
          description: "Separates a single subscription from other subscriptions and\
            \ invoices the charge independently. \n\nIf the value is `true`, the subscription\
            \ is billed separately from other subscriptions. If the value is `false`,\
            \ the subscription is included with other subscriptions in the account\
            \ invoice.\n\nThe default value is `false`.\n\nPrerequisite: The default\
            \ subscription setting Enable Subscriptions to be Invoiced Separately\
            \ must be set to Yes.\n"
          type: boolean
        invoiceTargetDate:
          description: "**Note:** This field has been replaced by the `targetDate`\
            \ field. The\n`invoiceTargetDate` field is only available for backward\n\
            compatibility.\n\n\nDate through which to calculate charges if an invoice\
            \ is generated, as\nyyyy-mm-dd. Default is current date.\n\n\nThis field\
            \ is in Zuora REST API version control. Supported minor\nversions are\
            \ `207.0` and earlier.  \n"
          format: date
          type: string
        notes:
          description: 'String of up to 500 characters.

            '
          type: string
        paymentMethodId:
          description: 'The ID of the payment method used for the payment.

            '
          type: string
        renewalSetting:
          description: |
            Specifies whether a termed subscription will remain termed or change to evergreen when it is renewed.

            Values:

            * `RENEW_WITH_SPECIFIC_TERM` (default)
            * `RENEW_TO_EVERGREEN`
          type: string
        renewalTerm:
          description: 'The length of the period for the subscription renewal term.
            Default is `0`.

            '
          format: int64
          type: integer
        renewalTermPeriodType:
          description: |
            The period type for the subscription renewal term.

            This field is used with the `renewalTerm` field to specify the subscription renewal term.

            Values are:

            * `Month` (default)
            * `Year`
            * `Day`
            * `Week`
          type: string
        runBilling:
          default: true
          description: "Creates an invoice for a subscription. If you have the Invoice\
            \ Settlement feature enabled, a credit memo might also be created based\
            \ on the [invoice and credit memo generation rule](https://knowledgecenter.zuora.com/CB_Billing/Invoice_Settlement/Credit_and_Debit_Memos/Rules_for_Generating_Invoices_and_Credit_Memos).\
            \  \n\n\nThe billing documents generated\nin this operation is only for\
            \ this subscription, not for the entire\ncustomer account.\n\n\nPossible\
            \ values:\n\n- `true`: An invoice is created. If you have the Invoice\
            \ Settlement feature enabled, a credit memo might also be created.\n\n\
            \n- `false`: No invoice is created.\n\n\n**Note:** This field is in Zuora\
            \ REST API version control. Supported\nminor versions are `211.0` or later.\
            \ To use this field in the method,\nyou must set the `zuora-version` parameter\
            \ to the minor version number\nin the request header.\n"
          enum:
          - true
          - false
          type: boolean
        serviceActivationDate:
          description: |
            The date on which the services or products within a subscription have been activated and access has been provided to the customer, as yyyy-mm-dd.

            Default value is dependent on the value of other fields. See **Notes** section for more details.
          format: date
          type: string
        subscribeToRatePlans:
          description: 'Container for one or more rate plans for this subscription.

            '
          items:
            $ref: '#/definitions/POSTSrpCreateType'
          type: array
        subscriptionNumber:
          description: |
            Subscription Number. The value can be up to 1000 characters.

            If you do not specify a subscription number when creating a subscription, Zuora will generate a subscription number automatically.

            If the account is created successfully, the subscription number is returned in the `subscriptionNumber` response field.
          type: string
        targetDate:
          description: |
            Date through which to calculate charges if an invoice or a credit memo is generated, as
            yyyy-mm-dd. Default is current date.


            **Note:** The credit memo is only available if you have the Invoice Settlement feature enabled.


            This field is in Zuora REST API version control. Supported minor
            versions are `211.0` and later. To use this field in the method, you
            must set the  `zuora-version` parameter to the minor version number in
            the request header.
          format: date
          type: string
        termStartDate:
          description: 'The date on which the subscription term begins, as yyyy-mm-dd.
            If this is a renewal subscription, this date is different from the subscription
            start date.

            '
          format: date
          type: string
        termType:
          description: 'Possible values are: `TERMED`, `EVERGREEN`.

            '
          type: string
      required:
      - accountKey
      - contractEffectiveDate
      - subscribeToRatePlans
      - termType
      - renewalTerm
      type: object
    - $ref: '#/definitions/SubscriptionObjectQTFields'
    - $ref: '#/definitions/SubscriptionObjectNSFields'
    - $ref: '#/definitions/SubscriptionObjectCustomFields'
    example:
      accountKey: A00001115
      autoRenew: true
      contractEffectiveDate: 2015-02-1
      initialTerm: '12'
      initialTermPeriodType: Week
      notes: Test POST subscription from z-ruby-sdk
      renewalTerm: '3'
      renewalTermPeriodType: Week
      subscribeToRatePlans:
      - chargeOverrides:
        - billCycleDay: '5'
          billCycleType: SpecificDayofMonth
          billingPeriodAlignment: AlignToCharge
          billingTiming: IN_ARREARS
          description: This is rate plan charge description
          number: TestCharge
          price: 12.01
          productRatePlanChargeId: ff8080811ca15d19011cddad8c953b53
          triggerDate: '2015-09-01'
          triggerEvent: USD
        productRatePlanId: ff8080811ca15d19011cdda9b0ad3b51
      termType: TERMED
  POSTTaxationItemForCMType:
    allOf:
    - properties:
        exemptAmount:
          description: 'The amount of taxes or VAT for which the customer has an exemption.

            '
          format: double
          type: number
        financeInformation:
          description: 'Container for the finance information related to the taxation
            item.

            '
          properties:
            onAccountAccountingCode:
              description: 'The accounting code that maps to an on account in your
                accounting system.

                '
              maxLength: 100
              minLength: 0
              type: string
            salesTaxPayableAccountingCode:
              description: 'The accounting code for the sales taxes payable.

                '
              maxLength: 100
              minLength: 0
              type: string
          type: object
        jurisdiction:
          description: 'The jurisdiction that applies the tax or VAT. This value is
            typically a state, province, county, or city.

            '
          type: string
        locationCode:
          description: 'The identifier for the location based on the value of the
            `taxCode` field.

            '
          type: string
        memoItemId:
          description: 'The ID of the credit memo that the taxation item is created
            for.

            '
          type: string
        name:
          description: 'The name of the taxation item.

            '
          type: string
        sourceTaxItemId:
          description: "The ID of the taxation item of the invoice, which the credit\
            \ memo is created from. \n\nIf you want to use this REST API to create\
            \ taxation items for a credit memo created from an invoice, the taxation\
            \ items of the invoice must be created or imported through the SOAP API\
            \ call.\n\n**Note:** \n  - This field is only used if the credit memo\
            \ is created from an invoice. \n  - If you do not contain this field in\
            \ the request body, Zuora will automatically set a value for the `sourceTaxItemId`\
            \ field based on the tax location code, tax jurisdiction, and tax rate.\n"
          type: string
        taxAmount:
          description: 'The amount of the tax applied to the credit memo.

            '
          format: double
          type: number
        taxCode:
          description: 'The tax code identifies which tax rules and tax rates to apply
            to a specific credit memo.

            '
          type: string
        taxCodeDescription:
          description: 'The description of the tax code.

            '
          type: string
        taxDate:
          description: 'The date when the tax is applied to the credit memo.

            '
          format: date
          type: string
        taxRate:
          description: 'The tax rate applied to the credit memo.

            '
          format: double
          type: number
        taxRateDescription:
          description: 'The description of the tax rate.

            '
          type: string
        taxRateType:
          description: 'The type of the tax rate applied to the credit memo.

            '
          enum:
          - Percentage
          - FlatFee
          type: string
      required:
      - taxRate
      - jurisdiction
      - name
      - taxRateType
      - taxAmount
      type: object
    - $ref: '#/definitions/TaxationItemObjectCustomFields'
    title: taxationItems
  POSTTaxationItemForDMType:
    allOf:
    - properties:
        exemptAmount:
          description: 'The amount of taxes or VAT for which the customer has an exemption.

            '
          format: double
          type: number
        financeInformation:
          description: 'Container for the finance information related to the taxation
            item.

            '
          properties:
            salesTaxPayableAccountingCode:
              description: 'The accounting code for the sales taxes payable.

                '
              maxLength: 100
              minLength: 0
              type: string
          type: object
        jurisdiction:
          description: 'The jurisdiction that applies the tax or VAT. This value is
            typically a state, province, county, or city.

            '
          type: string
        locationCode:
          description: 'The identifier for the location based on the value of the
            `taxCode` field.

            '
          type: string
        memoItemId:
          description: 'The ID of the debit memo that the taxation item is created
            for.

            '
          type: string
        name:
          description: 'The name of the taxation item.

            '
          type: string
        sourceTaxItemId:
          description: "The ID of the taxation item of the invoice, which the debit\
            \ memo is created from. \n\nIf you want to use this REST API to create\
            \ taxation items for a debit memo created from an invoice, the taxation\
            \ items of the invoice must be created or imported through the SOAP API\
            \ call.\n\n**Note:** \n  - This field is only used if the debit memo is\
            \ created from an invoice. \n  - If you do not contain this field in the\
            \ request body, Zuora will automatically set a value for the `sourceTaxItemId`\
            \ field based on the tax location code, tax jurisdiction, and tax rate.\n"
          type: string
        taxAmount:
          description: 'The amount of the tax applied to the debit memo.

            '
          format: double
          type: number
        taxCode:
          description: 'The tax code identifies which tax rules and tax rates to apply
            to a specific debit memo.

            '
          type: string
        taxCodeDescription:
          description: 'The description of the tax code.

            '
          type: string
        taxDate:
          description: 'The date when the tax is applied to the debit memo.

            '
          format: date
          type: string
        taxRate:
          description: 'The tax rate applied to the debit memo.

            '
          format: double
          type: number
        taxRateDescription:
          description: 'The description of the tax rate.

            '
          type: string
        taxRateType:
          description: 'The type of the tax rate applied to the debit memo.

            '
          enum:
          - Percentage
          - FlatFee
          type: string
      required:
      - taxRate
      - jurisdiction
      - name
      - taxRateType
      - taxAmount
      type: object
    - $ref: '#/definitions/TaxationItemObjectCustomFields'
    title: taxationItems
  POSTTaxationItemListForCMType:
    example:
      taxationItems:
      - exemptAmount: 0.0
        financeInformation:
          onAccountAccountingCode: Check
          salesTaxPayableAccountingCode: Check
        jurisdiction: CALIFORNIA
        locationCode: '06'
        memoItemId: 402890555a7e9791015a879f064d0055
        name: STATE TAX
        sourceTaxItemId: 402890555a7d4022015a7db254e200c1
        taxAmount: 0.1
        taxCode: ServiceTaxCode
        taxCodeDescription: This is tax code description!
        taxDate: '2016-09-30'
        taxRate: 0.0625
        taxRateDescription: This is tax rate description!
        taxRateType: Percentage
    properties:
      taxationItems:
        description: 'Container for taxation items.

          '
        items:
          $ref: '#/definitions/POSTTaxationItemForCMType'
        type: array
    type: object
  POSTTaxationItemListForDMType:
    example:
      taxationItems:
      - exemptAmount: 0.0
        financeInformation:
          salesTaxPayableAccountingCode: Check
        jurisdiction: CALIFORNIA
        locationCode: '06'
        memoItemId: 402890555a7e9791015a87b082980068
        name: STATE TAX
        sourceTaxItemId: 402890555a7d4022015a7db254e200c2
        taxAmount: 0.01
        taxCode: ServiceTaxCode
        taxCodeDescription: This is tax code description!
        taxDate: '2016-06-05'
        taxRate: 0.0625
        taxRateDescription: This is tax rate description!
        taxRateType: Percentage
      - exemptAmount: 0.0
        financeInformation:
          salesTaxPayableAccountingCode: Check
        jurisdiction: CALIFORNIA
        locationCode: '06'
        memoItemId: 402890555a7e9791015a87b082d5006a
        name: STATE TAX
        sourceTaxItemId: 402890555a7d4022015a7db254e200c3
        taxAmount: 0.02
        taxCode: ServiceTaxCode
        taxCodeDescription: This is tax code description!
        taxDate: '2016-06-05'
        taxRate: 0.0625
        taxRateDescription: This is tax rate description!
        taxRateType: Percentage
    properties:
      taxationItems:
        description: 'Container for taxation items.

          '
        items:
          $ref: '#/definitions/POSTTaxationItemForDMType'
        type: array
    type: object
  POSTTierType:
    properties:
      endingUnit:
        description: 'End number of a range of units for the tier.

          '
        type: number
      price:
        description: 'Price of the tier if the charge is a flat fee, or the price
          of each unit in the tier if the charge model is tiered pricing.

          '
        type: number
      priceFormat:
        description: |
          Indicates if pricing is a flat fee or is per unit.

          Values:

          * `FlatFee`
          * `PerUnit`
        type: string
      startingUnit:
        description: 'Starting number of a range of units for the tier.

          '
        type: number
      tier:
        description: 'Unique number that identifies the tier that the price applies
          to.

          '
        format: int64
        type: integer
    required:
    - tier
    - price
    title: tiers
    type: object
  POSTUploadFileResponse:
    properties:
      fileId:
        description: 'The unique ID of the uploaded PDF file.

          '
        type: string
      success:
        description: 'Indicates whether the call succeeded.

          '
        type: boolean
    type: object
  POSTUsageResponseType:
    properties:
      checkImportStatus:
        description: |
          The path for checking the status of the import.

          The possible status values at this path are `Pending`, `Processing`, `Completed`, `Canceled`, and `Failed`. Only `Completed` indicates that the file contents were imported successfully.
        type: string
      size:
        description: 'The size of the uploaded file in bytes.

          '
        format: int64
        type: integer
      success:
        description: 'Indicates whether the call succeeded.

          '
        type: boolean
    type: object
  POSTVoidAuthorize:
    example:
      accountId: 402881e861bd8a7e0161c6a453750026
      accountNumber: A00000004
      gatewayOrderId: A001
      transactionId: '5205213224866613203009'
    properties:
      accountId:
        description: The ID of the customer account. This field is generally required,
          but is optional if you are using the Ingenico ePayments gateway.
        type: string
      accountNumber:
        description: The number of the customer account. This field is generally required,
          but is optional if you are using the Ingenico ePayments gateway.
        type: string
      gatewayOrderId:
        description: The order ID for the specific gateway.
        type: string
      paymentGatewayId:
        description: The ID of the payment gateway instance. This field is required
          if you do not specify the `accountId` and `accountNumber` fields.
        type: string
      transactionId:
        description: The ID of the transaction.
        type: string
    required:
    - transactionId
    - gatewayOrderId
    type: object
  POSTVoidAuthorizeResponse:
    example:
      gatewayOrderId: A001
      resultCode: 0
      resultMessage: 'Request ID: 5231719060426316203012'
      success: true
      transactionId: '5231719060426316203012'
    properties:
      gatewayOrderId:
        description: The order ID for the gateway.
        type: string
      resultCode:
        description: The result code of the request. 0 indicates the call succeeded,
          and other values indicate the call failed.
        type: string
      resultMessage:
        description: The corresponding request ID.
        type: string
      success:
        description: Indicates whether the call succeeded.
        type: boolean
      transactionId:
        description: The ID of the transaction.
        type: string
    type: object
  PUTAcceptUserAccessResponseType:
    properties:
      success:
        description: 'Returns `true` if the request is successful.

          '
        type: boolean
    type: object
  PUTAccountType:
    allOf:
    - properties:
        additionalEmailAddresses:
          description: |
            A list of additional email addresses to receive emailed invoices. Use a comma to separate each email address.

            **Note:** Invoices are emailed to the email addresses specified in this field only when the `invoiceDeliveryPrefsEmail` field is `true`.
          items:
            type: string
          type: array
        autoPay:
          description: "Whether future payments are to be automatically billed when\
            \ they are due. \n"
          type: boolean
        batch:
          description: 'The alias name given to a batch. A string of 50 characters
            or less.

            '
          type: string
        billToContact:
          $ref: '#/definitions/PUTAccountTypeBillToContact'
        communicationProfileId:
          description: 'The ID of a communication profile.

            '
          type: string
        creditMemoTemplateId:
          description: |
            **Note**: This field is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

            The unique ID of the credit memo template, configured in **Billing Settings** > **Manage Billing Document Configuration** through the Zuora UI. For example, 2c92c08a6246fdf101626b1b3fe0144b.
          type: string
        crmId:
          description: 'CRM account ID for the account, up to 100 characters.

            '
          type: string
        debitMemoTemplateId:
          description: |
            **Note**: This field is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

            The unique ID of the debit memo template, configured in **Billing Settings** > **Manage Billing Document Configuration** through the Zuora UI. For example, 2c92c08d62470a8501626b19d24f19e2.
          type: string
        invoiceDeliveryPrefsEmail:
          description: "Whether the customer wants to receive invoices through email.\
            \ \n\nThe default value is `false`.\n"
          type: boolean
        invoiceDeliveryPrefsPrint:
          description: |
            Whether the customer wants to receive printed invoices, such as through postal mail.

            The default value is `false`.
          type: boolean
        invoiceTemplateId:
          description: 'Invoice template ID, configured in Billing Settings in the
            Zuora UI.

            '
          type: string
        name:
          description: 'Account name, up to 255 characters.

            '
          type: string
        notes:
          description: 'A string of up to 65,535 characters.

            '
          type: string
        parentId:
          description: Identifier of the parent customer account for this Account
            object. The length is 32 characters. Use this field if you have customer
            hierarchy enabled.
          type: string
        paymentGateway:
          description: 'The name of the payment gateway instance. If null or left
            unassigned, the Account will use the Default Gateway.

            '
          type: string
        salesRep:
          description: The name of the sales representative associated with this account,
            if applicable. Maximum of 50 characters.
          type: string
        sequenceSetId:
          description: "The ID of the billing document sequence set to assign to the\
            \ customer account. \n\nThe billing documents to generate for this account\
            \ will adopt the prefix and starting document number configured in the\
            \ sequence set.\n\nIf a customer account has no assigned billing document\
            \ sequence set, billing documents generated for this account adopt the\
            \ prefix and starting document number from the default sequence set.\n"
          type: string
        soldToContact:
          $ref: '#/definitions/PUTAccountTypeSoldToContact'
        tagging:
          description: ''
          type: string
        taxInfo:
          description: 'Container for tax exempt information, used to establish the
            tax exempt status of a customer account.

            '
          properties:
            VATId:
              description: "EU Value Added Tax ID. \n\n**Note:** This feature is in\
                \ Limited Availability. If you wish to have access to the feature,\
                \ submit a request at [Zuora Global Support](https://support.zuora.com).\n"
              type: string
            companyCode:
              description: "Unique code that identifies a company account in Avalara.\
                \ Use this field to calculate taxes based on origin and sold-to addresses\
                \ in Avalara.\n\n**Note:** This feature is in Limited Availability.\
                \ If you wish to have access to the feature, submit a request at [Zuora\
                \ Global Support](https://support.zuora.com). \n"
              type: string
            exemptCertificateId:
              description: 'ID of the customer tax exemption certificate. Requires
                Zuora Tax.

                '
              type: string
            exemptCertificateType:
              description: 'Type of tax exemption certificate that the customer holds.
                Requires Zuora Tax.

                '
              type: string
            exemptDescription:
              description: 'Description of the tax exemption certificate that the
                customer holds. Requires Zuora Tax.

                '
              type: string
            exemptEffectiveDate:
              description: |
                Date when the customer tax exemption starts. Requires Zuora Tax.

                Format: `yyyy-mm-dd`. Defaults to the current date.
              format: date
              type: string
            exemptEntityUseCode:
              description: |
                A unique entity use code to apply exemptions in Avalara AvaTax.

                This account-level field is required only when you choose Avalara as your tax engine. See [Exempt Transactions](https://developer.avalara.com/avatax/handling-tax-exempt-customers/)for more details.
              maxLength: 64
              type: string
            exemptExpirationDate:
              description: |
                Date when the customer tax exemption expires. Requires Zuora Tax.

                Format: `yyyy-mm-dd`. Defaults to the current date.
              format: date
              type: string
            exemptIssuingJurisdiction:
              description: 'Jurisdiction in which the customer tax exemption certificate
                was issued.

                '
              type: string
            exemptStatus:
              description: |
                Status of the account tax exemption. Requires Zuora Tax.

                Required if you use Zuora Tax. This field is unavailable if Zuora Tax is not used.

                Values: `Yes`, `No`, `pendingVerification`.
              type: string
          type: object
      type: object
    - $ref: '#/definitions/AccountObjectNSFields'
    - $ref: '#/definitions/AccountObjectCustomFields'
    example:
      additionalEmailAddresses:
      - contact3@example.com
      - contact4@example.com
      paymentGateway: TestGateway
  PUTAccountTypeBillToContact:
    allOf:
    - properties:
        address1:
          description: 'First address line, 255 characters or less.

            '
          type: string
        address2:
          description: 'Second address line, 255 characters or less.

            '
          type: string
        city:
          description: 'City, 40 characters or less.

            '
          type: string
        country:
          description: 'Country; must be a valid country name or abbreviation. If
            using Zuora Tax, you must specify a country in the sold-to contact to
            calculate tax. A bill-to contact may be used if no sold-to contact is
            provided.

            '
          type: string
        county:
          description: 'County; 32 characters or less. May optionally be used by Zuora
            Tax to calculate county tax.

            '
          type: string
        fax:
          description: 'Fax phone number, 40 characters or less.

            '
          type: string
        firstName:
          description: 'First name, 100 characters or less.

            '
          type: string
        homePhone:
          description: 'Home phone number, 40 characters or less.

            '
          type: string
        lastName:
          description: 'Last name, 100 characters or less.

            '
          type: string
        mobilePhone:
          description: 'Mobile phone number, 40 characters or less.

            '
          type: string
        nickname:
          description: 'Nickname for this contact

            '
          type: string
        otherPhone:
          description: 'Other phone number, 40 characters or less.

            '
          type: string
        otherPhoneType:
          description: 'Possible values are: `Work`, `Mobile`, `Home`, `Other`.

            '
          type: string
        personalEmail:
          description: 'Personal email address, 80 characters or less.

            '
          type: string
        state:
          description: 'State; must be a valid state or province name or 2-character
            abbreviation. If using Zuora Tax, be aware that Zuora Tax requires a state
            (in the US) or province (in Canada) in this field for the sold-to contact
            to calculate tax, and that a bill-to contact may be used if no sold-to
            contact is provided.

            '
          type: string
        taxRegion:
          description: 'If using Zuora Tax, a region string as optionally defined
            in your tax rules. Not required.

            '
          type: string
        workEmail:
          description: 'Work email address, 80 characters or less.

            '
          type: string
        workPhone:
          description: 'Work phone number, 40 characters or less.

            '
          type: string
        zipCode:
          description: 'Zip code, 20 characters or less.

            '
          type: string
      required:
      - firstName
      - lastName
      type: object
    - $ref: '#/definitions/ContactObjectCustomFields'
    description: 'Container for bill-to contact information for this account.

      '
    title: Contact
  PUTAccountTypeSoldToContact:
    allOf:
    - properties:
        address1:
          description: 'First address line, 255 characters or less.

            '
          type: string
        address2:
          description: 'Second address line, 255 characters or less.

            '
          type: string
        city:
          description: 'City, 40 characters or less.

            '
          type: string
        country:
          description: 'Country; must be a valid country name or abbreviation. If
            using Zuora Tax, you must specify a country in the sold-to contact to
            calculate tax. A bill-to contact may be used if no sold-to contact is
            provided.

            '
          type: string
        county:
          description: 'County; 32 characters or less. May optionally be used by Zuora
            Tax to calculate county tax.

            '
          type: string
        fax:
          description: 'Fax phone number, 40 characters or less.

            '
          type: string
        firstName:
          description: 'First name, 100 characters or less.

            '
          type: string
        homePhone:
          description: 'Home phone number, 40 characters or less.

            '
          type: string
        lastName:
          description: 'Last name, 100 characters or less.

            '
          type: string
        mobilePhone:
          description: 'Mobile phone number, 40 characters or less.

            '
          type: string
        nickname:
          description: 'Nickname for this contact

            '
          type: string
        otherPhone:
          description: 'Other phone number, 40 characters or less.

            '
          type: string
        otherPhoneType:
          description: 'Possible values are: `Work`, `Mobile`, `Home`, `Other`.

            '
          type: string
        personalEmail:
          description: 'Personal email address, 80 characters or less.

            '
          type: string
        state:
          description: 'State; must be a valid state or province name or 2-character
            abbreviation. If using Zuora Tax, be aware that Zuora Tax  requires a
            state (in the US) or province (in Canada) in this field for the sold-to
            contact to calculate tax, and that a bill-to contact may be used if no
            sold-to contact is provided.

            '
          type: string
        taxRegion:
          description: 'If using Zuora Tax, a region string as optionally defined
            in your tax rules. Not required.

            '
          type: string
        workEmail:
          description: 'Work email address, 80 characters or less.

            '
          type: string
        workPhone:
          description: 'Work phone number, 40 characters or less.

            '
          type: string
        zipCode:
          description: 'Zip code, 20 characters or less.

            '
          type: string
      required:
      - firstName
      - lastName
      type: object
    - $ref: '#/definitions/ContactObjectCustomFields'
    description: 'Container for optional sold-to contact.

      '
    title: Contact
  PUTAccountingCodeType:
    allOf:
    - properties:
        glAccountName:
          description: |
            Name of the account in your general ledger.

            Field only available if you have Zuora Finance enabled. Maximum of 255 characters.
          type: string
        glAccountNumber:
          description: |
            Account number in your general ledger.

            Field only available if you have Zuora Finance enabled. Maximum of 255 characters.
          type: string
        name:
          description: |
            Name of the accounting code.

            Accounting code name must be unique. Maximum of 100 characters.
          type: string
        notes:
          description: 'Maximum of 2,000 characters.

            '
          type: string
        type:
          description: "Accounting code type. You cannot change the type of an accounting\
            \ code from `AccountsReceivable` to a different type. \n\nNote that `On-Account\
            \ Receivable` is only available if you enable the Invoice Settlement feature.\
            \ \n"
          enum:
          - AccountsReceivable
          - On-Account Receivable
          - Cash
          - OtherAssets
          - CustomerCashOnAccount
          - DeferredRevenue
          - SalesTaxPayable
          - OtherLiabilities
          - SalesRevenue
          - SalesDiscounts
          - OtherRevenue
          - OtherEquity
          - BadDebt
          - OtherExpenses
          type: string
      type: object
    - $ref: '#/definitions/AccountingCodeObjectCustomFields'
    example:
      name: CASH
      type: Cash
  PUTAccountingPeriodType:
    allOf:
    - properties:
        endDate:
          description: 'The end date of the accounting period in yyyy-mm-dd format,
            for example, "2016-02-19".

            '
          format: date
          type: string
        fiscalYear:
          description: 'Fiscal year of the accounting period in yyyy format, for example,
            "2016".

            '
          type: string
        fiscal_quarter:
          description: ''
          format: int64
          type: integer
        name:
          description: |
            Name of the accounting period.

            Accounting period name must be unique. Maximum of 100 characters.
          type: string
        notes:
          description: |
            Notes about the accounting period.

            Maximum of 255 characters.
          type: string
        startDate:
          description: 'The start date of the accounting period in yyyy-mm-dd format,
            for example, "2016-02-19".

            '
          format: date
          type: string
      type: object
    - $ref: '#/definitions/AccountingPeriodObjectCustomFields'
    example:
      endDate: '2016-01-31'
      fiscalYear: 2016
      name: Jan 2016
      startDate: '2016-01-01'
  PUTAllocateManuallyType:
    allOf:
    - properties:
        eventType:
          description: |
            Label of the revenue event type. Revenue event type labels can be duplicated. You can configure your revenue event type labels by navigating to **Settings > Finance > Configure Revenue Event Types** in the Zuora UI.

            Note that `Credit Memo Posted` and `Debit Memo Posted` are only available if you enable the Invoice Settlement feature.
          enum:
          - Invoice Posted
          - Invoice Item Adjustment Created
          - Invoice Canceled
          - Invoice Item Adjustment Canceled
          - Revenue Distributed
          - Credit Memo Posted
          - Debit Memo Posted
          type: string
        eventTypeSystemId:
          description: |
            System ID of the revenue event type. Each eventType has a unique system ID. You can configure your revenue event type system IDs by navigating to **Settings > Finance > Configure Revenue Event Types** in the Zuora UI.

            Cannot be duplicated.
          type: string
        notes:
          description: 'Additional information about this record.

            '
          type: string
        revenueDistributions:
          description: 'An array of revenue distributions. Represents how you want
            to distribute revenue for this revenue schedule. You can distribute revenue
            into a maximum of 250 accounting periods with one revenue schedule.

            '
          items:
            $ref: '#/definitions/POSTDistributionItemType'
          type: array
      type: object
    - $ref: '#/definitions/RevenueEventObjectCustomFields'
    example:
      eventType: Revenue Distributed
      eventTypeSystemId: RevenueDistributed__z
      notes: Manually distribute revenue for Phase 1
      revenueDistributions:
      - accountingPeriodName: Jan'2013
        newAmount: '500'
      - accountingPeriodName: Feb'2013
        newAmount: '600'
  PUTAttachmentType:
    example:
      description: Updated image
      fileName: Image123.png
    properties:
      description:
        description: 'Description of the attachment.

          '
        type: string
      fileName:
        description: 'File name of the attachment. The value should not contain the
          file extension. Only the file name without the extension can be edited.

          '
        type: string
    type: object
  PUTBatchDebitMemosRequest:
    example:
      debitMemos:
      - dueDate: '2017-12-28'
        id: 402890d25f9f083f015f9f28041d0008
      - dueDate: '2017-12-20'
        id: 402890555a87d7f5015a892f2ba10057
    properties:
      debitMemos:
        description: 'Container for debit memo update details.

          '
        items:
          $ref: '#/definitions/BatchDebitMemoType'
        type: array
    type: object
  PUTCreditMemoItemType:
    allOf:
    - properties:
        amount:
          description: 'The amount of the credit memo item. For tax-inclusive credit
            memo items, the amount indicates the credit memo item amount including
            tax. For tax-exclusive credit memo items, the amount indicates the credit
            memo item amount excluding tax

            '
          format: double
          type: number
        comment:
          description: 'Comments about the credit memo item.

            '
          type: string
        financeInformation:
          description: 'Container for the finance information related to the credit
            memo item.

            '
          properties:
            deferredRevenueAccountingCode:
              description: 'The accounting code for the deferred revenue, such as
                Monthly Recurring Liability.

                '
              maxLength: 100
              minLength: 0
              type: string
            onAccountAccountingCode:
              description: 'The accounting code that maps to an on account in your
                accounting system.

                '
              maxLength: 100
              minLength: 0
              type: string
            recognizedRevenueAccountingCode:
              description: 'The accounting code for the recognized revenue, such as
                Monthly Recurring Charges or Overage Charges.

                '
              maxLength: 100
              minLength: 0
              type: string
            revenueRecognitionRuleName:
              description: 'The name of the revenue recognition rule governing the
                revenue schedule.

                '
              maxLength: 100
              minLength: 0
              type: string
          type: object
        id:
          description: 'The ID of the credit memo item.

            '
          maxLength: 32
          minLength: 32
          type: string
        quantity:
          description: 'The number of units for the credit memo item.

            '
          format: double
          type: number
        serviceEndDate:
          description: 'The service end date of the credit memo item.

            '
          format: date
          type: string
        serviceStartDate:
          description: 'The service start date of the credit memo item.

            '
          format: date
          type: string
        skuName:
          description: 'The name of the SKU.

            '
          type: string
        taxItems:
          description: 'Container for credit memo taxation items.

            '
          items:
            $ref: '#/definitions/PutCreditMemoTaxItemType'
          type: array
        unitOfMeasure:
          description: 'The definable unit that you measure when determining charges.

            '
          type: string
      required:
      - id
      type: object
    - $ref: '#/definitions/CreditMemoItemObjectCustomFields'
    title: items
  PUTCreditMemoType:
    allOf:
    - properties:
        autoApplyUponPosting:
          description: 'Whether the credit memo automatically applies to the invoice
            upon posting.

            '
          type: boolean
        comment:
          description: 'Comments about the credit memo.

            '
          maxLength: 255
          minLength: 0
          type: string
        effectiveDate:
          description: 'The date when the credit memo takes effect.

            '
          format: date
          type: string
        excludeFromAutoApplyRules:
          description: 'Whether the credit memo is excluded from the rule of automatically
            applying credit memos to invoices.

            '
          type: boolean
        items:
          description: 'Container for credit memo items.

            '
          items:
            $ref: '#/definitions/PUTCreditMemoItemType'
          type: array
        reasonCode:
          description: 'A code identifying the reason for the transaction. The value
            must be an existing reason code or empty. If you do not specify a value,
            Zuora uses the default reason code.

            '
          type: string
        transferredToAccounting:
          description: "Whether the credit memo is transferred to an external accounting\
            \ system. Use this field for integration with accounting systems, such\
            \ as NetSuite. \n"
          enum:
          - Processing
          - 'Yes'
          - 'No'
          - Error
          - Ignore
          type: string
      type: object
    - $ref: '#/definitions/CreditMemoObjectNSFields'
    - $ref: '#/definitions/CreditMemoObjectCustomFields'
    example:
      autoApplyUponPosting: false
      comment: new comment
      effectiveDate: '2017-04-17'
      excludeFromAutoApplyRules: false
      items:
      - amount: 1
        comment: This is comment!
        id: 402890555b797b57015b7986fc1a001c
        quantity: 1
        serviceEndDate: '2016-11-30'
        serviceStartDate: '2016-11-01'
        skuName: SKU-1
        taxItems:
        - amount: 0.03
          id: 402890555b797b57015b7986fc3c001d
          jurisdiction: CALIFORNIA
          locationCode: '06'
          taxCode: null
          taxCodeDescription: This is tax code description!
          taxDate: '2016-11-30'
          taxExemptAmount: 0.0
          taxName: STATE TAX1
          taxRate: 0.0625
          taxRateDescription: This is tax rate description!
          taxRateType: Percentage
        unitOfMeasure: Test_UOM
      - amount: 2
        comment: This is comment!
        id: 402890555b797b57015b7986fc41001e
        serviceEndDate: '2016-11-30'
        serviceStartDate: '2016-11-01'
        skuName: SKU-2
        taxItems:
        - amount: 0.06
          id: 402890555b797b57015b7986fc4c001f
          jurisdiction: CALIFORNIA
          locationCode: '06'
          taxCode: null
          taxCodeDescription: This is tax code description!
          taxDate: '2016-11-30'
          taxExemptAmount: 0.0
          taxName: STATE TAX2
          taxRate: 0.0625
          taxRateDescription: This is tax rate description!
          taxRateType: Percentage
        unitOfMeasure: Test_UOM
      reasonCode: Correcting invoice error
  PUTDebitMemoItemType:
    allOf:
    - properties:
        amount:
          description: 'The amount of the debit memo item. For tax-inclusive debit
            memo items, the amount indicates the debit memo item amount including
            tax. For tax-exclusive debit memo items, the amount indicates the debit
            memo item amount excluding tax.

            '
          format: double
          type: number
        comment:
          description: 'Comments about the debit memo item.

            '
          type: string
        financeInformation:
          description: 'Container for the finance information related to the debit
            memo item.

            '
          properties:
            deferredRevenueAccountingCode:
              description: 'The accounting code for the deferred revenue, such as
                Monthly Recurring Liability.

                '
              maxLength: 100
              minLength: 0
              type: string
            recognizedRevenueAccountingCode:
              description: 'The accounting code for the recognized revenue, such as
                Monthly Recurring Charges or Overage Charges.

                '
              maxLength: 100
              minLength: 0
              type: string
            revenueRecognitionRuleName:
              description: 'The name of the revenue recognition rule governing the
                revenue schedule.

                '
              maxLength: 100
              minLength: 0
              type: string
          type: object
        id:
          description: 'The ID of the debit memo item.

            '
          maxLength: 32
          minLength: 32
          type: string
        quantity:
          description: 'The number of units for the debit memo item.

            '
          format: double
          type: number
        serviceEndDate:
          description: 'The service end date of the debit memo item.

            '
          format: date
          type: string
        serviceStartDate:
          description: "The service start date of the debit memo item. \n"
          format: date
          type: string
        skuName:
          description: 'The name of the SKU.

            '
          type: string
        taxItems:
          description: 'Container for debit memo taxation items.

            '
          items:
            $ref: '#/definitions/PutDebitMemoTaxItemType'
          type: array
        unitOfMeasure:
          description: 'The definable unit that you measure when determining charges.

            '
          type: string
      required:
      - id
      type: object
    - $ref: '#/definitions/DebitMemoItemObjectCustomFields'
    title: items
  PUTDebitMemoType:
    allOf:
    - properties:
        autoPay:
          description: "Whether debit memos are automatically picked up for processing\
            \ in the corresponding payment run. \n\nBy default, debit memos are automatically\
            \ picked up for processing in the corresponding payment run.\n"
          type: boolean
        comment:
          description: 'Comments about the debit memo.

            '
          maxLength: 255
          minLength: 0
          type: string
        dueDate:
          description: 'The date by which the payment for the debit memo is due, in
            `yyyy-mm-dd` format.

            '
          format: date
          type: string
        effectiveDate:
          description: 'The date when the debit memo takes effect.

            '
          format: date
          type: string
        items:
          description: 'Container for debit memo items.

            '
          items:
            $ref: '#/definitions/PUTDebitMemoItemType'
          type: array
        reasonCode:
          description: 'A code identifying the reason for the transaction. The value
            must be an existing reason code or empty. If you do not specify a value,
            Zuora uses the default reason code

            '
          type: string
        transferredToAccounting:
          description: "Whether the debit memo is transferred to an external accounting\
            \ system. Use this field for integration with accounting systems, such\
            \ as NetSuite. \n"
          enum:
          - Processing
          - 'Yes'
          - 'No'
          - Error
          - Ignore
          type: string
      type: object
    - $ref: '#/definitions/DebitMemoObjectNSFields'
    - $ref: '#/definitions/DebitMemoObjectCustomFields'
    example:
      autoPay: true
      comment: new comment
      dueDate: '2017-05-20'
      effectiveDate: '2017-04-17'
      items:
      - amount: 1
        comment: This is comment!
        id: 402890555b797b57015b7986fc1a001c
        quantity: 1
        serviceEndDate: '2016-11-30'
        serviceStartDate: '2016-11-01'
        skuName: SKU-1
        taxItems:
        - amount: 0.03
          id: 402890555b797b57015b7986fc3c001d
          jurisdiction: CALIFORNIA
          locationCode: '06'
          taxCode: null
          taxCodeDescription: This is tax code description!
          taxDate: '2016-11-30'
          taxExemptAmount: 0.0
          taxName: STATE TAX1
          taxRate: 0.0625
          taxRateDescription: This is tax rate description!
          taxRateType: Percentage
        unitOfMeasure: Test_UOM
      - amount: 2
        comment: This is comment!
        id: 402890555b797b57015b7986fc41001e
        serviceEndDate: '2016-11-30'
        serviceStartDate: '2016-11-01'
        skuName: SKU-2
        taxItems:
        - amount: 0.06
          id: 402890555b797b57015b7986fc4c001f
          jurisdiction: CALIFORNIA
          locationCode: '06'
          taxCode: null
          taxCodeDescription: This is tax code description!
          taxDate: '2016-11-30'
          taxExemptAmount: 0.0
          taxName: STATE TAX2
          taxRate: 0.0625
          taxRateDescription: This is tax rate description!
          taxRateType: Percentage
        unitOfMeasure: Test_UOM
      reasonCode: Correcting invoice error
  PUTDenyUserAccessResponseType:
    properties:
      success:
        description: 'Returns `true` if the request is successful.

          '
        type: boolean
    type: object
  PUTDocumentPropertiesType:
    example:
      customFileName: exampleCreditMemo
    properties:
      customFileName:
        description: 'The custom file name to use to generate new Word or PDF files
          for the billing document.

          '
        type: string
    type: object
  PUTEntityConnectionsAcceptResponseType:
    properties:
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  PUTEntityConnectionsDenyResponseType:
    properties:
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  PUTEntityConnectionsDisconnectResponseType:
    properties:
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  PUTEventRIDetailType:
    example:
      revenueItems:
      - accountingPeriodName: Oct'2014
      - accountingPeriodName: Nov'2014
    properties:
      revenueItems:
        description: |
          Revenue items are listed in ascending order by the accounting period start date.

          Include at least one custom field.
        items:
          $ref: '#/definitions/EventRevenueItemType'
        type: array
    required:
    - revenueItems
    type: object
  PUTJournalEntryItemType:
    allOf:
    - properties:
        accountingCodeName:
          description: |
            Name of the accounting code.

            If the Journal Entry Item has a blank accounting code, enter the empty string.
          type: string
        accountingCodeType:
          description: "Accounting code type.\n\nNote that `On-Account Receivable`\
            \ is only available if you enable the Invoice Settlement feature. \n"
          enum:
          - AccountsReceivable
          - On-Account Receivable
          - Cash
          - OtherAssets
          - CustomerCashOnAccount
          - DeferredRevenue
          - SalesTaxPayable
          - OtherLiabilities
          - SalesRevenue
          - SalesDiscounts
          - OtherRevenue
          - OtherEquity
          - BadDebt
          - OtherExpenses
          type: string
        type:
          description: 'Type of journal entry item. '
          enum:
          - Credit
          - Debit
          type: string
      required:
      - accountingCodeName
      - type
      type: object
    - $ref: '#/definitions/JournalEntryItemObjectCustomFields'
    title: journalEntryItems
  PUTOrderActionTriggerDatesRequestType:
    example:
      subscriptions:
      - orderActions:
        - charges:
          - chargeNumber: C-0000001
            specificTriggerDate: '2016-09-01'
          sequence: 0
          triggerDates:
          - name: CustomerAcceptance
            triggerDate: '2016-09-01'
        subscriptionNumber: A-S00000009
    properties:
      subscriptions:
        items:
          properties:
            orderActions:
              items:
                properties:
                  charges:
                    items:
                      properties:
                        chargeNumber:
                          description: Charge number of the charge which needs the
                            triggering date to be provided. The charge's `triggerEvent`
                            must have been set as `SpecificDate`.
                          type: string
                        specificTriggerDate:
                          description: Date in YYYY-MM-DD format. The specific trigger
                            date you are to set for the charge.
                          format: date
                          type: string
                      type: object
                    type: array
                  sequence:
                    description: "Identifies which order action will have its triggering\
                      \ dates updated. \n"
                    type: integer
                  triggerDates:
                    description: Container for the service activation and customer
                      acceptance dates of the order action.
                    items:
                      properties:
                        name:
                          description: Name of the trigger date of the order action.
                          enum:
                          - ServiceActivation
                          - CustomerAcceptance
                          type: string
                        triggerDate:
                          description: 'Trigger date in YYYY-MM-DD format. The date
                            you are to set as the service activation date or the customer
                            acceptance date.

                            '
                          format: date
                          type: string
                      type: object
                    type: array
                required:
                - sequence
                type: object
              type: array
            subscriptionNumber:
              description: 'Subscription number of a subscription in the `Pending`
                order for which you are to update the triggering dates. For example,
                A-S00000001.

                '
              maxLength: 100
              type: string
          required:
          - subscriptionNumber
          type: object
        type: array
    type: object
  PUTOrderPatchRequestType:
    example:
      customFields:
        order_cf__c: order custom fields
      subscriptions:
      - orderActions:
        - customFields:
            order_action_cf__c: Order action custom fields
            order_action_undex__c: Order action custom fields
          sequence: 0
        subscriptionNumber: S-00005
    properties:
      customFields:
        $ref: '#/definitions/OrderObjectCustomFields'
      subscriptions:
        items:
          properties:
            orderActions:
              items:
                properties:
                  customFields:
                    $ref: '#/definitions/OrderActionObjectCustomFields'
                  sequence:
                    description: The sequence number of the order action in the order.
                    type: integer
                type: object
              type: array
            subscriptionNumber:
              type: string
          type: object
        type: array
    type: object
  PUTOrderTriggerDatesResponseType:
    allOf:
    - $ref: '#/definitions/CommonResponseType'
    - properties:
        accountNumber:
          description: The account number for the order.
          type: string
        orderNumber:
          description: The order number of the order updated.
          type: string
        status:
          description: Status of the order.
          enum:
          - Completed
          - Pending
          type: string
        subscriptions:
          description: The subscriptions updated.
          items:
            properties:
              status:
                description: Status of the subscription. `Pending Activation` and
                  `Pending Acceptance` are only applicable for an order that contains
                  a `CreateSubscription` order action.
                enum:
                - Active
                - Pending Activation
                - Pending Acceptance
                type: string
              subscriptionNumber:
                description: Subscription number of the subscription updated.
                type: string
            type: object
          type: array
      type: object
  PUTPaymentMethodResponseType:
    properties:
      paymentMethodId:
        description: 'ID of the updated payment method.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  PUTPaymentMethodType:
    allOf:
    - properties:
        addressLine1:
          description: 'First address line, 255 characters or less.

            '
          type: string
        addressLine2:
          description: 'Second address line, 255 characters or less.

            '
          type: string
        cardHolderName:
          description: 'The full name as it appears on the card, e.g., "John J Smith",
            50 characters or less.

            '
          type: string
        city:
          description: 'City, 40 characters or less.

            '
          type: string
        country:
          description: 'Country; must be a valid country name or abbreviation.

            '
          type: string
        defaultPaymentMethod:
          description: 'Specify "true" to make this card the default payment method;
            otherwise, omit this parameter to keep the current default payment method.

            '
          type: boolean
        email:
          description: 'Card holder''s email address, 80 characters or less.

            '
          type: string
        expirationMonth:
          description: 'One or two digit(s) expiration month (1-12).

            '
          type: string
        expirationYear:
          description: 'Four-digit expiration year.

            '
          type: string
        numConsecutiveFailures:
          description: "The number of consecutive failed payments for this payment\
            \ method. It is reset to `0` upon successful payment. \n"
          format: int32
          maximum: 100
          minimum: 0
          type: integer
        phone:
          description: 'Phone number, 40 characters or less.

            '
          type: string
        securityCode:
          description: |+
            The CVV or CVV2 security code for the credit card or debit card. Only required if changing expirationMonth, expirationYear, or cardHolderName. To ensure PCI compliance, this value isn't stored and can't be queried.

          type: string
        state:
          description: 'State; must be a valid state name or 2-character abbreviation.

            '
          type: string
        zipCode:
          description: 'Zip code, 20 characters or less.

            '
          type: string
      type: object
    - $ref: '#/definitions/PaymentMethodObjectCustomFields'
    example:
      cardHolderName: Leo
      expirationMonth: 8
      expirationYear: 2015
      numConsecutiveFailures: 5
      securityCode: '111'
  PUTPaymentRunRequest:
    example:
      autoApplyCreditMemo: 'true'
      autoApplyUnappliedPayment: 'true'
      consolidatedPayment: 'true'
      processPaymentWithClosedPM: 'true'
      targetDate: '2017-10-12'
    properties:
      accountId:
        description: |
          The ID of the customer account associated with the payment run.

          This field conflicts with each of the `batch`, `billCycleDay`, `currency`, `paymentGatewayId`, and `billingRunId` fields. If there are such conflicts, an error occurs and an error message is returned.
        format: uuid
        type: string
      applyCreditBalance:
        description: |
          **Note:** This field is only available if you have the Credit Balance feature enabled and the Invoice Settlement feature disabled.

          Whether to apply credit balances in the payment run. This field is only available when you have Invoice Settlement feature disabled.
        type: boolean
      autoApplyCreditMemo:
        description: |
          **Note:** The Invoice Settlement feature is in **Limited Availability**. This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

          Whether to automatically apply a posted credit memo to one or more receivables in the payment run.
        type: boolean
      autoApplyUnappliedPayment:
        description: |
          **Note:** The Invoice Settlement feature is in **Limited Availability**. This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

          Whether to automatically apply unapplied payments to  one or more receivables in the payment run.
        type: boolean
      batch:
        description: "The alias name given to a batch. The batch name is a string\
          \ of 50 characters or less.\n\nThis field conflicts with the `accountId`\
          \ field. If they are both specified in the request body, an error occurs\
          \ and an error message is returned. \n"
        type: string
      billCycleDay:
        description: |
          The billing cycle day (BCD), the day of the month when a bill run generates invoices for the account. The value must be equal to or less then 31, and 31 is mean the EOM.

          This field conflicts with the `accountId` field. If they are both specified in the request body, an error occurs and an error message is returned.
        type: string
      billingRunId:
        description: |
          The ID of a bill run.

          This field conflicts with the `accountId` field. If they are both specified in the request body, an error occurs and an error message is returned.
        format: uuid
        type: string
      collectPayment:
        description: "Whether to process electronic payments during the execution\
          \ of payment runs. \n\nIf the Payment user permission \"Process Electronic\
          \ Payment\" is disabled, this field will be ignored.\n"
        type: boolean
      consolidatedPayment:
        description: "**Note:** The **Process Electronic Payment** permission also\
          \ needs to be allowed for a Manage Payment Runs role to work. See [Payments\
          \ Roles](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/e_Payments_Roles)\
          \ for more information. \n\nWhether to process a single payment for all\
          \ receivables that are due on an account.\n"
        type: boolean
      currency:
        description: |
          A currency defined in the web-based UI administrative settings.

          This field conflicts with the `accountId` field. If they are both specified in the request body, an error occurs and an error message is returned.
        type: string
      paymentGatewayId:
        description: |
          The ID of the gateway instance that processes the payment.

          This field conflicts with the `accountId` field. If they are both specified in the request body, an error occurs and an error message is returned.
        format: uuid
        type: string
      processPaymentWithClosedPM:
        description: "**Note:** The **Process Electronic Payment** permission also\
          \ needs to be allowed for a Manage Payment Runs role to work. See [Payments\
          \ Roles](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/e_Payments_Roles)\
          \ for more information. \n\nWhether to process payments even if the default\
          \ payment method is closed.\n"
        type: boolean
      runDate:
        description: 'The date and time when the scheduled payment run is to be executed,
          in `yyyy-mm-dd hh:mm:ss` format. The backend will ignore mintues and seconds
          in the field value. For example, if you specify `2017-03-01 11:30:37` for
          this value, this payment run will be run at 2017-03-01 11:00:00.

          '
        format: date-time
        type: string
      targetDate:
        description: 'The target date used to determine which receivables to be paid
          in the payment run. The payments are collected for all receivables with
          the due date no later than the target date.

          '
        format: date
        type: string
    type: object
  PUTPublicCalloutOptionsRequest:
    example:
      confirmSucFromResContent: false
      intervalTime: 30
      retryNumber: 3
    properties:
      confirmSucFromResContent:
        description: If the value is `false`, callout is successful when response
          code is 200. If value is `true`, when the response code is 200, and ONLY
          when response `Content-Type` is `application/json` and body payload is `{success:true}`,
          the callout is succesful.
        type: boolean
      intervalTime:
        description: The interval, in minutes, between callout retries.
        format: int32
        minimum: 1
        type: integer
      retryNumber:
        description: The number of retries when the callout fails.
        format: int32
        minimum: 1
        type: integer
    type: object
  PUTPublicEmailTemplateRequest:
    example:
      active: true
      bccEmailAddress: user@example.com
      ccEmailAddress: user@example.com
      ccEmailType: SpecificEmails
      description: Email when an account is edited
      emailBody: Dear user,<p>the account <Account.Name> has been edited. <p>Example
        Co. Ltd.
      emailSubject: Account <Account.Number> has been edited
      encodingType: UTF8
      fromEmailAddress: null
      fromEmailType: TenantEmail
      fromName: Example Co. Ltd.
      isHtml: true
      name: Account Edit Email
      replyToEmailAddress: null
      replyToEmailType: TenantEmail
      toEmailAddress: null
      toEmailType: BillToContact
    properties:
      active:
        description: The status of the email template.
        type: boolean
      bccEmailAddress:
        description: Email bcc address.
        format: email
        type: string
      ccEmailAddress:
        description: Email cc address.
        type: string
      ccEmailType:
        default: SpecificEmails
        description: "Email cc type.\n* When EventType is CDC/External and 'ReferenceObjectType'\
          \ in EventType is associated to Account, ccEmailType can be ALL values in\
          \ enum. \n* When EventType is CDC/External and 'ReferenceObjectType' in\
          \ EventType is not associated to Account, ccEmailType MUST be TenantAdmin,\
          \ RunOwner or SpecificEmail.\n* When EventType is CDC/External and 'ReferenceObjectType'\
          \ in EventType is EMPTY, ccEmailType MUST be TenantAdmin, RunOwner or SpecificEmail."
        enum:
        - BillToContact
        - SoldToContact
        - SpecificEmails
        - TenantAdmin
        - BillToAndSoldToContacts
        - RunOwner
        - AllContacts
        - InvoiceOwnerBillToContact
        - InvoiceOwnerSoldToContact
        - InvoiceOwnerBillToAndSoldToContacts
        - InvoiceOwnerAllContacts
        type: string
      description:
        description: The description of the email template.
        maxLength: 255
        type: string
      emailBody:
        description: "The email body. You can add merge fields in the email object\
          \ using angle brackets. \nUser can also embed html tags if 'isHtml' is true."
        type: string
      emailSubject:
        description: The email subject. You can add merge fields in the email subject
          using angle brackets.
        type: string
      encodingType:
        description: The endcode type of the email body.
        enum:
        - UTF8
        - Shift_JIS
        - ISO_2022_JP
        - EUC_JP
        - X_SJIS_0213
        type: string
      fromEmailAddress:
        description: If fromEmailType is SpecificEmail, this field is required
        type: string
      fromEmailType:
        description: The type of fromEmail.
        enum:
        - TenantEmail
        - SpecificEmail
        type: string
      fromName:
        description: The name of email sender.
        type: string
      isHtml:
        description: Specifies whether the style of email body is HTML.
        type: boolean
      name:
        description: The name of the email template.
        maxLength: 255
        type: string
      replyToEmailAddress:
        description: If replyToEmailType is SpecificEmail, this field is required.
        type: string
      replyToEmailType:
        description: The type of the reply email.
        enum:
        - TenantEmail
        - SpecificEmail
        type: string
      toEmailAddress:
        description: If toEmailType is SpecificEmail, this field is required.
        type: string
      toEmailType:
        description: "Email receive type.\n* When EventType is CDC/External and 'ReferenceObjectType'\
          \ in EventType is associated to Account, toEmailType can be ALL values in\
          \ enum. \n* When EventType is CDC/External and 'ReferenceObjectType' in\
          \ EventType is not associated to Account, toEmailType MUST be TenantAdmin,\
          \ RunOwner or SpecificEmail. \n* When EventType is CDC/External and 'ReferenceObjectType'\
          \ in EventType is EMPTY, toEmailType MUST be TenantAdmin, RunOwner or SpecificEmail."
        enum:
        - BillToContact
        - SoldToContact
        - SpecificEmails
        - TenantAdmin
        - BillToAndSoldToContacts
        - RunOwner
        - AllContacts
        - InvoiceOwnerBillToContact
        - InvoiceOwnerSoldToContact
        - InvoiceOwnerBillToAndSoldToContacts
        - InvoiceOwnerAllContacts
        type: string
    type: object
  PUTPublicNotificationDefinitionRequest:
    example:
      active: true
      callout:
        active: true
        calloutAuth:
          domain: example_domain
          password: example_password
          preemptive: true
          username: example_user
        calloutBaseurl: https://www.example.com/callout/AccountEdit
        calloutParams:
          AccountName: <Account.Name>
          AccountNumber: <Account.Number>
        calloutRetry: true
        description: Callout when an account is edited
        httpMethod: POST
        name: Callout for Account Edited
        requiredAuth: true
      calloutActive: true
      communicationProfileId: 6e569e1e05f040eda51a927b140c0ac5
      description: Notification sent out when an account is edited
      emailActive: true
      emailTemplateId: 6e569e1e05f040eda51a927b140c0ac6
      filterRule:
        condition: Account.Balance >= _VIP_BALANCE_AMOUNT && Account.Status == _ACCOUNT_STATUS
        description: Filter rule to test if an account is a VIP account
        parameters:
          _ACCOUNT_STATUS:
            description: The status of the VIP Account
            displayName: VIP Account Status
            options:
            - Draft
            - Active
            - Canceled
            valueType: STRING
          _VIP_BALANCE_AMOUNT:
            description: The minimum account balance
            displayName: VIP Account Balance
            options: null
            valueType: BIG_DECIMAL
      filterRuleParams:
        _EDITED_FROM: UI
        _VIP_ACCOUNT_BALANCE: '100000'
      name: Account Edit Notification
    properties:
      active:
        default: true
        description: The status of the notification definition. The default value
          is true.
        type: boolean
      callout:
        properties:
          active:
            default: true
            description: The status of the callout. The default is true.
            type: boolean
          calloutAuth:
            $ref: '#/definitions/CalloutAuth'
          calloutBaseurl:
            description: The callout URL. It must start with 'https://'
            example: https://***
            format: url
            minLength: 10
            type: string
          calloutParams:
            $ref: '#/definitions/CalloutMergeFields'
          calloutRetry:
            default: true
            description: Specified whether to retry the callout when the callout fails.
              The default is true.
            type: boolean
          description:
            description: Description for the callout.
            maxLength: 255
            type: string
          httpMethod:
            description: The HTTP method of the callout.
            enum:
            - GET
            - PUT
            - POST
            - DELETE
            example: POST
            type: string
          name:
            description: The name of the created callout.
            maxLength: 255
            type: string
          requiredAuth:
            description: Specifies whether the callout requires auth.
            type: boolean
        required:
        - eventTypeName
        - name
        - calloutBaseurl
        - httpMethod
        - requiredAuth
        type: object
      calloutActive:
        default: false
        description: The status of the callout action. The default value is false.
        type: boolean
      communicationProfileId:
        description: "The profile that notification definition belongs to. If you\
          \ want to\nupdate the notification to a system notification, you should\
          \ pass\n'SystemNotification'. '\n\n* When EventType is CDC/External and\
          \ 'ReferenceObjectType' in EventType is associated to Account, comunicationProfileId\
          \ can be 'SystemNotification'/Empty/UUID. \n\n* When EventType is CDC/External\
          \ and 'ReferenceObjectType' in EventType is not  associated to Account,\
          \ comunicationProfileId can be 'SystemNotification'/Empty. \n\n* When EventType\
          \ is CDC/External and 'ReferenceObjectType' in EventType is EMPTY, comunicationProfileId\
          \ can be 'SystemNotification'/Empty.\n"
        format: uuid
        type: string
      description:
        description: The description of the notification definition.
        maxLength: 255
        type: string
      emailActive:
        default: false
        description: The status of the email action. The default is false.
        type: boolean
      emailTemplateId:
        description: |
          The ID of the email template. If emailActive is updated from
          false to true, an email template is required, and the EventType of
          the email template MUST be the same as the EventType of the notification definition.
        format: uuid
        type: string
      filterRule:
        description: ''
        properties:
          condition:
            description: "The filter rule conditions, written in [JEXL](http://commons.apache.org/proper/commons-jexl/).\n\
              The rule might contain event context merge fields and data source merge\
              \ fields. Data source merge fields must be from [the base object of\
              \ the event or from the joined objects of the base object](https://knowledgecenter.zuora.com/DC_Developers/M_Export_ZOQL#Data_Sources_and_Objects).\
              \ Notifications with invalid merge fields will fail to evaluate, thus\
              \ will not be invoked. For example, to trigger an event when an invoice\
              \ is posted with the amount over 1000, you would define the following\
              \ condition on the `Invoice` object:\n\n```changeType == 'UPDATE' &&\
              \ Invoice.Status == 'Posted' && Invoice.Status_old != 'Posted' && Invoice.Amount\
              \ > 1000```\n\nThere are conventions and keywords you need to be aware\
              \ of. For example:\n\n* `changeType` is a keyword to specify what kind\
              \ of change happened to the object. Allowed values are `INSERT`, `UPDATE`\
              \ or `DELETE`.\n\n* `Invoice.Status` refers to field `Status` of the\
              \ Zuora object `Invoice`.\n\n* A variable with the `_old` suffix means\
              \ it\u2019s a previous value of the corresponding object field. The\
              \ \"_old\" fields are only available on the base objects.\n"
            example: Account.Balance >= _VIP_BALANCE_AMOUNT && Account.Status == _ACCOUNT_STATUS
            type: string
          description:
            description: The description of the filter rule.
            maxLength: 255
            type: string
          parameters:
            $ref: '#/definitions/FilterRuleParameterDefinitions'
        required:
        - eventTypeName
        - condition
        - parameters
        type: object
      filterRuleParams:
        $ref: '#/definitions/FilterRuleParameterValues'
      name:
        description: The name of the notification definition, which is unique in the
          profile.
        maxLength: 255
        type: string
    type: object
  PUTRSBasicInfoType:
    allOf:
    - properties:
        notes:
          description: 'Additional information about this record.

            '
          type: string
        referenceId:
          description: |
            Reference ID is used only in the custom unlimited rule to create a revenue schedule. In this scenario, the revenue schedule is not linked to an invoice item or invoice item adjustment.

            Use this field only when the revenue schedule is not linked to an invoice item or invoice item adjustment, such as for revenue schedules based on the Custom - Unlimited recognition model.
          type: string
      type: object
    - $ref: '#/definitions/RevenueScheduleObjectCustomFields'
    example:
      notes: change recognition term
      referenceId: Reference ID
  PUTRSTermType:
    allOf:
    - properties:
        distributionType:
          description: "How you want to distribute the revenue. \n\n\n* Daily Distribution:\
            \ Distributes revenue evenly across each day between the recognitionStart\
            \ and recognitionEnd dates.\n* Monthly Distribution (Back Load): Back\
            \ loads the revenue so you distribute the monthly amount in the partial\
            \ month in the end only.\n* Monthly Distribution (Front Load): Front loads\
            \ the revenue so you distribute the monthly amount in the partial month\
            \ in the beginning only.\n* Monthly Distribution (Proration by Days):\
            \ Splits the revenue amount between the two partial months.\n\n**Note:**\
            \ To use any of the Monthly Distribution options, you must have the \"\
            Monthly recognition over time\" model enabled in **Settings > Finance\
            \ > Manage Revenue Recognition Models** in the Zuora UI.\n"
          enum:
          - Daily Distribution
          - Monthly Distribution (Back Load)
          - Monthly Distribution (Front Load)
          - Monthly Distribution (Proration by Days)
          type: string
        eventType:
          description: |
            Label of the revenue event type. Revenue event type labels can be duplicated. You can configure your revenue event type labels by navigating to **Settings > Finance > Configure Revenue Event Types** in the Zuora UI.

            Note that `Credit Memo Posted` and `Debit Memo Posted` are only available if you enable the Invoice Settlement feature.
          enum:
          - Invoice Posted
          - Invoice Item Adjustment Created
          - Invoice Canceled
          - Invoice Item Adjustment Canceled
          - Revenue Distributed
          - Credit Memo Posted
          - Debit Memo Posted
          type: string
        eventTypeSystemId:
          description: 'System ID of the revenue event type. Each eventType has a
            unique system ID. You can configure your revenue event type system IDs
            by navigating to **Settings > Finance > Configure Revenue Event Types**
            in the Zuora UI.

            '
          type: string
        notes:
          description: 'Additional information about this record.

            '
          type: string
        recognitionEnd:
          description: "The end date of a recognition period in `yyyy-mm-dd` format.\
            \ \n\nThe maximum difference between the `recognitionStart` and `recognitionEnd`\
            \ date fields is equal to 250 multiplied by the length of an accounting\
            \ period.\n"
          format: date
          type: string
        recognitionStart:
          description: |
            The start date of a recognition period in `yyyy-mm-dd` format.

            If there is a closed accounting period between the `recognitionStart` and `recognitionEnd` dates, the revenue that would be placed in the closed accounting period is instead placed in the next open accounting period.
          format: date
          type: string
      required:
      - recognitionEnd
      - recognitionStart
      type: object
    - $ref: '#/definitions/RevenueEventObjectCustomFields'
    example:
      distributionType: Daily distribution
      eventType: Revenue Distributed
      eventTypeSystemId: RevenueDistributed__z
      notes: manual distribute revenue by usage
      recognitionEnd: '2015-12-31'
      recognitionStart: 2015-12-1
  PUTRefundType:
    allOf:
    - properties:
        comment:
          description: 'Comments about the refund.

            '
          maxLength: 255
          minLength: 0
          type: string
        financeInformation:
          description: 'Container for the finance information related to the refund.

            '
          properties:
            bankAccountAccountingCode:
              description: 'The accounting code that maps to a bank account in your
                accounting system.

                '
              maxLength: 100
              minLength: 0
              type: string
            transferredToAccounting:
              description: "Whether the payment was transferred to an external accounting\
                \ system. Use this field for integration with accounting systems,\
                \ such as NetSuite. \n"
              enum:
              - Processing
              - 'Yes'
              - 'No'
              - Error
              - Ignore
              type: string
            unappliedPaymentAccountingCode:
              description: 'The accounting code for the unapplied payment.

                '
              maxLength: 100
              minLength: 0
              type: string
          type: object
        reasonCode:
          description: 'A code identifying the reason for the transaction. The value
            must be an existing reason code or empty. If you do not specify a value,
            Zuora uses the default reason code.

            '
          type: string
        referenceId:
          description: |
            The transaction ID returned by the payment gateway. Use this field to reconcile refunds between your gateway and Zuora Payments.

            You can only update the reference ID for external refunds.
          maxLength: 60
          minLength: 0
          type: string
      type: object
    - $ref: '#/definitions/RefundObjectNSFields'
    - $ref: '#/definitions/RefundObjectCustomFields'
    example:
      comment: update comment
      financeInformation:
        transferredToAccounting: 'No'
  PUTRenewSubscriptionResponseType:
    properties:
      creditMemoId:
        description: |
          The credit memo ID, if a credit memo is generated during the subscription process.

          **Note:** This field is only available if you have the Invoice Settlements feature enabled.
        type: string
      invoiceId:
        description: 'Invoice ID, if one is generated.

          '
        type: string
      paidAmount:
        description: 'Payment amount, if payment is collected.

          '
        type: number
      paymentId:
        description: 'Payment ID, if payment is collected.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
      termEndDate:
        description: 'Date the new subscription term ends, as yyyy-mm-dd.

          '
        format: date
        type: string
      termStartDate:
        description: 'Date the new subscription term begins, as yyyy-mm-dd.

          '
        format: date
        type: string
      totalDeltaMrr:
        description: 'Change in the subscription monthly recurring revenue as a result
          of the update. For a renewal, this is the MRR of the subscription in the
          new term.

          '
        type: number
      totalDeltaTcv:
        description: 'Change in the total contracted value of the subscription as
          a result of the update. For a renewal, this is the TCV of the subscription
          in the new term.

          '
        type: number
    type: object
  PUTRenewSubscriptionType:
    example:
      collect: false
      runBilling: true
    properties:
      applyCreditBalance:
        description: "Applies a credit balance to an invoice.\n\nIf the value is `true`,\
          \ the credit balance is applied to the invoice. If the value is `false`,\
          \ no action is taken.\n\n\nTo view the credit balance adjustment, retrieve\
          \ the details of the invoice using the Get Invoices method.\n\nPrerequisite:\
          \ `invoice` must be `true`. \n\n**Note:** \n  - If you are using the field\
          \ `invoiceCollect` rather than the field `invoice`, the `invoiceCollect`\
          \ value must be `true`.\n  - This field is deprecated if you have the Invoice\
          \ Settlement feature enabled.\n"
        type: boolean
      collect:
        default: false
        description: "Collects an automatic payment for a subscription. The collection\
          \ generated in this operation is only for this subscription, not for the\
          \ entire customer account.\n\nIf the value is `true`, the automatic payment\
          \ is collected. If the value is `false`, no action is taken.\n\nPrerequisite:\
          \ The `invoice` or `runBilling` field must be `true`. \n\n**Note**: This\
          \ field is only available if you set the `zuora-version` request header\
          \ to `196.0` or later.\n"
        type: boolean
      documentDate:
        description: "The date of the billing document, in `yyyy-mm-dd` format. It\
          \ represents the invoice date for invoices, credit memo date for credit\
          \ memos, and debit memo date for debit memos.\n\n- If this field is specified,\
          \ the specified date is used as the billing document date. \n- If this field\
          \ is not specified, the date specified in the `targetDate` is used as the\
          \ billing document date.\n"
        format: date
        type: string
      invoice:
        description: "**Note:** This field has been replaced by the `runBilling` field.\
          \ The\n`invoice` field is only available for backward compatibility.\n\n\
          \nCreates an invoice for a subscription. The invoice generated in this\n\
          operation is only for this subscription, not for the entire customer\naccount.\n\
          \n\nIf the value is `true`, an invoice is created. If the value is\n`false`,\
          \ no action is taken. The default value is `false`. \n\n\nThis field is\
          \ in Zuora REST API version control. Supported minor\nversions are `196.0`\
          \ and `207.0`. To use this field in the method, you\nmust set the zuora-version\
          \ parameter to the minor version number in\nthe request header. \n"
        type: boolean
      invoiceCollect:
        default: true
        description: |
          **Note:** This field has been replaced by the `invoice` field
          and the `collect` field. `invoiceCollect` is available only for backward compatibility.


          If this field is set to `true`, an invoice is generated and payment collected automatically during the subscription process. If `false`, no invoicing or payment takes place. The invoice generated in this operation is only for this subscription, not for the entire customer account.


          **Note**: This field is only available if you set the `zuora-version` request header to `186.0`, `187.0`, `188.0`, or `189.0`.
        type: boolean
      invoiceTargetDate:
        description: "**Note:** This field has been replaced by the `targetDate` field.\
          \ The\n`invoiceTargetDate` field is only available for backward\ncompatibility.\n\
          \n\nDate through which to calculate charges if an invoice is generated,\
          \ as\nyyyy-mm-dd. Default is current date.\n\n\nThis field is in Zuora REST\
          \ API version control. Supported minor\nversions are `207.0` and earlier.\
          \  \n"
        format: date
        type: string
      runBilling:
        default: false
        description: "Creates an invoice for a subscription. If you have the Invoice\
          \ Settlement feature enabled, a credit memo might also be created based\
          \ on the [invoice and credit memo generation rule](https://knowledgecenter.zuora.com/CB_Billing/Invoice_Settlement/Credit_and_Debit_Memos/Rules_for_Generating_Invoices_and_Credit_Memos).\
          \  \n\n\nThe billing documents generated\nin this operation is only for\
          \ this subscription, not for the entire\ncustomer account.\n\n\nPossible\
          \ values:\n\n- `true`: An invoice is created. If you have the Invoice Settlement\
          \ feature enabled, a credit memo might also be created.\n\n\n- `false`:\
          \ No invoice is created.\n\n\n**Note:** This field is in Zuora REST API\
          \ version control. Supported\nminor versions are `211.0` or later. To use\
          \ this field in the method,\nyou must set the `zuora-version` parameter\
          \ to the minor version number\nin the request header.\n"
        enum:
        - true
        - false
        type: boolean
      targetDate:
        description: |
          Date through which to calculate charges if an invoice or a credit memo is generated, as
          yyyy-mm-dd. Default is current date.


          **Note:** The credit memo is only available if you have the Invoice Settlement feature enabled.


          This field is in Zuora REST API version control. Supported minor
          versions are `211.0` and later. To use this field in the method, you
          must set the  `zuora-version` parameter to the minor version number in
          the request header.
        format: date
        type: string
    type: object
  PUTRevenueScheduleResponseType:
    properties:
      revenueEventNumber:
        description: 'The revenue event number created when a revenue event occurs.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  PUTRevproAccCodeResponse:
    properties:
      success:
        description: ''
        type: boolean
    type: object
  PUTScAddType:
    allOf:
    - properties:
        applyDiscountTo:
          description: |
            Specifies the type of charges that you want a specific discount to apply to.

            Values:

            * `ONETIME`
            * `RECURRING`
            * `USAGE`
            * `ONETIMERECURRING`
            * `ONETIMEUSAGE`
            * `RECURRINGUSAGE`
            * `ONETIMERECURRINGUSAGE`

            Available for the following charge type for the Discount-Fixed Amount and Discount-Percentage charge models:

            * Recurring
          type: string
        billCycleDay:
          description: |
            Sets the bill cycle day (BCD) for the charge. The BCD determines which day of the month customer is billed.

            Values: `1`-`31`

            Available for the following charge types:

            * Recurring
            * Usage-based
          type: string
        billCycleType:
          description: |
            Specifies how to determine the billing day for the charge. When this field is set to `SpecificDayofMonth`, set the `BillCycleDay` field. When this field is set to `SpecificDayofWeek`, set the `weeklyBillCycleDay` field.

            Values:

            * `DefaultFromCustomer`
            * `SpecificDayofMonth`
            * `SubscriptionStartDay`
            * `ChargeTriggerDay`
            * `SpecificDayofWeek`

            Available for the following charge types:

            * Recurring
            * Usage-based
          type: string
        billingPeriod:
          description: |
            Billing period for the charge. The start day of the billing period is also called the bill cycle day (BCD).

            Values:

            * `Month`
            * `Quarter`
            * `Semi_Annual`
            * `Annual`
            * `Eighteen_Months`
            * `Two_Years`
            * `Three_Years`
            * `Five_Years`
            * `Specific_Months`
            * `Subscription_Term`
            * `Week`
            * `Specific_Weeks`

            Available for the following charge types:

            * Recurring
            * Usage-based
          type: string
        billingPeriodAlignment:
          description: |
            Aligns charges within the same subscription if multiple charges begin on different dates.

            Values:

            * `AlignToCharge`
            * `AlignToSubscriptionStart`
            * `AlignToTermStart`

            Available for the following charge types:

            * Recurring
            * Usage-based
          type: string
        billingTiming:
          description: |
            Billing timing for the charge for recurring charge types. Not avaliable for one time, usage and discount charges.

            Values:

            * `IN_ADVANCE` (default)
            * `IN_ARREARS`
          type: string
        description:
          description: 'Description of the charge.

            '
          type: string
        discountAmount:
          description: |
            Specifies the amount of fixed-amount discount.

            Available for the following charge type for the Discount-Fixed Amount charge model:

            * Recurring
          type: number
        discountLevel:
          description: |
            Specifies if the discount applies to the product rate plan only , the entire subscription, or to any activity in the account.

            Values:

            * `rateplan`
            * `subscription`
            * `account`

            Available for the following charge type for the Discount-Fixed Amount and Discount-Percentage charge models:

            * Recurring
          type: string
        discountPercentage:
          description: "Specifies the percentage of a percentage discount. \n\nAvailable\
            \ for the following charge type for the Discount-Percentage charge model:\n\
            \n* Recurring\n"
          type: number
        endDateCondition:
          description: |
            Defines when the charge ends after the charge trigger date. If the subscription ends before the charge end date, the charge ends when the subscription ends. But if the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge will end on the charge end date.

            Values:

            * `Subscription_End`
            * `Fixed_Period`
            * `Specific_End_Date`
          type: string
        includedUnits:
          description: |
            Specifies the number of units in the base set of units for this charge. Must be >=`0`.

            Available for the following charge types for the Overage charge model:

            * Recurring
            * Usage-based
          type: number
        listPriceBase:
          description: |
            The list price base for the product rate plan charge.

            Values:

            * `Per_Billing_Period`
            * `Per_Month`
            * `Per_Week`

            Available for the following charge type for the Flat Fee, Per Unit, Volume Pricing, and Tiered Pricing charge models:

            * Recurring
          type: string
        number:
          description: 'Unique number that identifies the charge. System-generated
            if not provided.

            '
          type: string
        numberOfPeriods:
          description: |
            Specifies the number of periods to use when calculating charges in an overage smoothing charge model.

            Available for the following charge type for the Overage and Tiered with Overage charge models:

            * Usage-based
          format: int64
          type: integer
        overagePrice:
          description: "Price for units over the allowed amount. \n\nAvailable for\
            \ the following charge type for the Overage and Tiered with Overage charge\
            \ models:\n\n* Usage-based\n"
          type: number
        overageUnusedUnitsCreditOption:
          description: |
            Determines whether to credit the customer with unused units of usage.

            Values:

            * `NoCredit`
            * `CreditBySpecificRate`

            Available for the following charge type for the Overage and Tiered with Overage charge models:

            * Usage-based
          type: string
        price:
          description: |
            Price for units in the subscription rate plan.

            Supports all charge types for the Flat Fee and Per Unit charge models
          type: number
        priceChangeOption:
          description: |
            Applies an automatic price change when a termed subscription is renewed. The Zuora Billing Admin setting Enable Automatic Price Change When Subscriptions are Renewed?  must be set to Yes to use this field.  See Define Default Subscription Settings for more information on setting this option.

            Values:

            * `NoChange` (default)
            * `SpecificPercentageValue`
            * `UseLatestProductCatalogPricing`

            Available for the following charge types:

            * Recurring
            * Usage-based
            * Not available for the Fixed-Amount Discount charge model.
          type: string
        priceIncreasePercentage:
          description: |
            Specifies the percentage to increase or decrease the price of a termed subscription's renewal. Required if you set the `PriceChangeOption` field to `SpecificPercentageValue`.

            Decimal between -100 and 100.

            Available for the following charge types:

            * Recurring
            * Usage-based

            Not available for the Fixed-Amount Discount charge model.
          type: number
        productRatePlanChargeId:
          description: ''
          type: string
        quantity:
          description: |
            Number of units. Must be >=`0`.

            Available for the following charge types for the Per Unit, Volume Pricing, and Tiered Pricing charge models:

            * One-time
            * Recurring
          type: number
        ratingGroup:
          description: "Specifies a rating group based on which usage records are\
            \ rated.\n\n**Note:** This feature is in **Limited Availability**. If\
            \ you wish to have access to the feature, submit a request at [Zuora Global\
            \ Support](http://support.zuora.com/).\n\nPossible values:\n\n- `ByBillingPeriod`\
            \ (default): The rating is based on all the usages in a billing period.\n\
            - `ByUsageStartDate`: The rating is based on all the usages on the same\
            \ usage start date. \n- `ByUsageRecord`: The rating is based on each usage\
            \ record.\n- `ByUsageUpload`: The rating is based on all the  usages in\
            \ a uploaded usage file (`.xls` or `.csv`).\n- `ByGroupId`: The rating\
            \ is based on all the usages in a custom group.\n\n**Note:** \n- The `ByBillingPeriod`\
            \ value can be applied for all charge models. \n- The `ByUsageStartDate`,\
            \ `ByUsageRecord`, and `ByUsageUpload` values can only be applied for\
            \ per unit, volume pricing, and tiered pricing charge models. \n- The\
            \ `ByGroupId` value is only available if you have the Active Rating feature\
            \ enabled.\n- Use this field only for Usage charges. One-Time Charges\
            \ and Recurring Charges return `NULL`.\n"
          type: string
        specificBillingPeriod:
          description: |
            Specifies the number of month or week for the charges billing period. Required if you set the value of the `billingPeriod` field to `Specific_Months` or `Specific_Weeks`.

            Available for the following charge types:

            * Recurring
            * Usage-based
          format: int64
          type: integer
        specificEndDate:
          description: |
            Defines when the charge ends after the charge trigger date.

            This field is only applicable when the `endDateCondition` field is set to `Specific_End_Date`.

            If the subscription ends before the specific end date, the charge ends when the subscription ends. But if the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge will end on the specific end date.
          format: date
          type: string
        tiers:
          description: |
            Container for Volume, Tiered or Tiered with Overage charge models. Supports the following charge types:

            * One-time
            * Recurring
            * Usage-based
          items:
            $ref: '#/definitions/POSTTierType'
          type: array
        triggerDate:
          description: 'Specifies when to start billing the customer for the charge.
            Required if the `triggerEvent` field is set to `USD`.

            '
          format: date
          type: string
        triggerEvent:
          description: |
            Specifies when to start billing the customer for the charge.

            Values:

            * `UCE`
            * `USA`
            * `UCA`
            * `USD`
          type: string
        unusedUnitsCreditRates:
          description: |
            Specifies the rate to credit a customer for unused units of usage. This field applies only for overage charge models when the `OverageUnusedUnitsCreditOption` field is set to `CreditBySpecificRate`.

            Available for the following charge type for the Overage and Tiered with Overage charge models:

            * Usage-based
          type: number
        upToPeriods:
          description: "The period type used to define when the charge ends. \n\n\
            Values:\n\n* `Billing_Periods`\n* `Days`\n* `Weeks`\n* `Months`\n* `Years`\n\
            \nYou must use this field together with the `upToPeriods` field to specify\
            \ the time period.\n\nThis field is applicable only when the `endDateCondition`\
            \ field is set to `Fixed_Period`. \n"
          format: int64
          type: integer
        upToPeriodsType:
          description: "The period type used to define when the charge ends. \n\n\
            Values:\n\n* `Billing_Periods`\n* `Days`\n* `Weeks`\n* `Months`\n* `Years`\n\
            \nYou must use this field together with the `upToPeriods` field to specify\
            \ the time period.\n\nThis field is applicable only when the `endDateCondition`\
            \ field is set to `Fixed_Period`. \n"
          type: string
      required:
      - productRatePlanChargeId
      type: object
    - $ref: '#/definitions/RatePlanChargeObjectCustomFields'
    title: chargeOverrides
  PUTScUpdateType:
    allOf:
    - properties:
        billingPeriodAlignment:
          description: |
            Aligns charges within the same subscription if multiple charges begin on different dates.

            Values:

            * `AlignToCharge`
            * `AlignToSubscriptionStart`
            * `AlignToTermStart`

            Available for the following charge types:

            * Recurring
            * Usage-based
          type: string
        description:
          description: 'Description of the charge.

            '
          type: string
        includedUnits:
          description: |
            Specifies the number of units in the base set of units for this charge. Must be >=0.

            Available for the following charge types for the Overage charge model:

            * `Recurring`
            * `Usage-based`
          type: number
        overagePrice:
          description: "Price for units over the allowed amount. \n\nAvailable for\
            \ the following charge type for the Overage and Tiered with Overage charge\
            \ models:\n\n* Usage-based\n"
          type: number
        price:
          description: |
            Price for units in the subscription rate plan.

            Supports all charge types for the Flat Fee and Per Unit charge models
          type: number
        priceChangeOption:
          description: |
            Applies an automatic price change when a termed subscription is renewed. The Billing Admin setting **Enable Automatic Price Change When Subscriptions are Renewed?** must be set to Yes to use this field.

            Values:

            * `NoChange` (default)
            * `SpecificPercentageValue`
            * `UseLatestProductCatalogPricing`

            Available for the following charge types:

            * Recurring
            * Usage-based

            Not available for the Fixed-Amount Discount charge model.
          type: string
        priceIncreasePercentage:
          description: |
            Specifies the percentage to increase or decrease the price of a termed subscription's renewal. Required if you set the `PriceChangeOption` field to `SpecificPercentageValue`.

            Decimal between `-100` and `100`.

            Available for the following charge types:

            * Recurring
            * Usage-based

            Not available for the Fixed-Amount Discount charge model.
          type: number
        quantity:
          description: 'Quantity of units; must be greater than zero.

            '
          type: number
        ratePlanChargeId:
          description: 'ID of a rate-plan charge for this subscription.

            '
          type: string
        tiers:
          description: |
            Container for Volume, Tiered or Tiered with Overage charge models. Supports the following charge types:

            * One-time
            * Recurring
            * Usage-based
          items:
            $ref: '#/definitions/POSTTierType'
          type: array
        triggerDate:
          description: |
            Specifies when to start billing the customer for the charge. Required if the `triggerEvent` field is set to USD.

            `triggerDate` cannot be updated for the following using the REST update subscription call:

            * One-time charge type
            * Discount-Fixed Amount charge model
            * Discount-Percentage charge model
          format: date
          type: string
        triggerEvent:
          description: |
            Specifies when to start billing the customer for the charge.

            Values:

            * `UCE`
            * `USA`
            * `UCA`
            * `USD`

            This is the date when charge changes in the REST request become effective.

            `triggerEvent` cannot be updated for the following using the REST update subscription call:

            * One-time charge type
            * Discount-Fixed Amount charge model
            * Discount-Percentage charge model
          type: string
      required:
      - ratePlanChargeId
      type: object
    - $ref: '#/definitions/RatePlanChargeObjectCustomFields'
    title: chargeUpdateDetails
  PUTScheduleRIDetailType:
    example:
      revenueItems:
      - accountingPeriodName: Oct'2014
      - accountingPeriodName: Nov'2014
    properties:
      revenueItems:
        description: |
          Revenue items are listed in ascending order by the accounting period start date.

          Include at least one custom field.
        items:
          $ref: '#/definitions/RevenueScheduleItemType'
        type: array
    required:
    - revenueItems
    type: object
  PUTSendUserAccessRequestResponseType:
    properties:
      success:
        description: 'Returns `true` if the request is successful.

          '
        type: boolean
    type: object
  PUTSendUserAccessRequestType:
    example:
      targetEntityIds:
      - 8a80825555a3c7a10155b46120d058e7
      - 8a80825556ff28a4015708b93df82ba7
    properties:
      targetEntityIds:
        description: 'The ID of the entities that the user wants to access.

          '
        items:
          title: Entity IDs
          type: string
        type: array
    required:
    - targetEntityIds
    type: object
  PUTSequenceSetRequest:
    description: ''
    example:
      creditMemo:
        prefix: FR-CM
      invoice:
        startNumber: 100
      name: FR
      payment:
        prefix: FR-P-
    properties:
      creditMemo:
        $ref: '#/definitions/CreditMemoEntityPrefix'
      debitMemo:
        $ref: '#/definitions/DebitMemoEntityPrefix'
      invoice:
        $ref: '#/definitions/InvoiceEntityPrefix'
      name:
        description: 'The name of the sequence set configured for billing documents,
          payments, and refunds.

          '
        type: string
      payment:
        $ref: '#/definitions/PaymentEntityPrefix'
      refund:
        $ref: '#/definitions/RefundEntityPrefix'
    type: object
  PUTSequenceSetResponse:
    description: ''
    properties:
      success:
        description: 'Indicates whether the call succeeded.

          '
        type: boolean
    type: object
  PUTSpecificDateAllocationType:
    allOf:
    - properties:
        amount:
          description: 'The revenue schedule amount, which is the sum of all revenue
            items. This field cannot be null and must be formatted based on the currency,
            such as `JPY 30` or `USD 30.15`. Test out the currency to ensure you are
            using the proper formatting otherwise, the response will fail and this
            error message is returned: `Allocation amount with wrong decimal places.`

            '
          format: decimal
          type: string
        distributeOn:
          description: |
            The recognition date on which to distribute revenue for milestone-based recognition.

            Type: date in `yyyy-mm-dd` format.
          format: date
          type: string
        distributionType:
          description: 'How to distribute the revenue for milestone-based recognition. '
          enum:
          - specific date (delta fixed amount)
          - specific date (delta percent total)
          - specific date (delta percent undistributed)
          type: string
        eventType:
          description: |
            Label of the revenue event type. Revenue event type labels can be duplicated. You can configure your revenue event type labels by navigating to **Settings > Finance > Configure Revenue Event Types** in the Zuora UI.

            Note that `Credit Memo Posted` and `Debit Memo Posted` are only available if you enable the Invoice Settlement feature.
          enum:
          - Invoice Posted
          - Invoice Item Adjustment Created
          - Invoice Canceled
          - Invoice Item Adjustment Canceled
          - Revenue Distributed
          - Credit Memo Posted
          - Debit Memo Posted
          type: string
        eventTypeSystemId:
          description: 'System ID of the revenue event type. Each eventType has a
            unique system ID. You can configure your revenue event type system IDs
            by navigating to **Settings > Finance > Configure Revenue Event Types**
            in the Zuora UI.

            '
          type: string
        notes:
          description: 'Additional information about this record.

            '
          type: string
        percentage:
          description: |
            Percentage of the total recognition amount or total undistributed to distribute.

            Required if distributionType is either:
            * specific date (delta percent total)
            * specific date (delta percent undistributed)
          format: decimal
          type: string
      required:
      - distributionType
      - distributeOn
      type: object
    - $ref: '#/definitions/RevenueEventObjectCustomFields'
    example:
      amount: '1000.00'
      distributeOn: '2016-02-03'
      distributionType: specific date (delta fixed amount)
      eventType: Revenue Distributed
      eventTypeSystemId: RevenueDistributed__z
      notes: service delivered and accepted by customer
  PUTSrpAddType:
    allOf:
    - properties:
        chargeOverrides:
          description: 'This optional container is used to override the quantity of
            one or more product rate plan charges for this subscription.

            '
          items:
            $ref: '#/definitions/PUTScAddType'
          type: array
        contractEffectiveDate:
          description: |
            The date when the amendment changes take effect. The format of the date is yyyy-mm-dd.

            If there is already a future-dated Update Product amendment on the subscription, the `specificUpdateDate` field will be used instead of this field to specify when the Update Product amendment takes effect.
          format: date
          type: string
        customerAcceptanceDate:
          description: |
            The date when the customer accepts the contract in yyyy-mm-dd format.

            If this field is not set:

            * If the `serviceActivationDate` field is not set, the value of this field is set to be the contract effective date.
            * If the `serviceActivationDate` field is set, the value of this field is set to be the service activation date.

            The billing trigger dates must follow this rule:

            contractEffectiveDate <= serviceActivationDate <= contractAcceptanceDate
          format: date
          type: string
        productRatePlanId:
          description: 'ID of a product rate plan for this subscription

            '
          type: string
        serviceActivationDate:
          description: |
            The date when the new product in the subscription is activated in yyyy-mm-dd format.

            You must specify a Service Activation date if the Customer Acceptance date is set. If the Customer Acceptance date is not set, the value of the `serviceActivationDate` field defaults to be the Contract Effective Date.

            The billing trigger dates must follow this rule:

            contractEffectiveDate <= serviceActivationDate <= contractAcceptanceDate
          format: date
          type: string
      required:
      - productRatePlanId
      - contractEffectiveDate
      type: object
    - $ref: '#/definitions/RatePlanObjectCustomFields'
    title: add
  PUTSrpRemoveType:
    properties:
      contractEffectiveDate:
        description: 'Effective date of the new subscription, as yyyy-mm-dd.

          '
        format: date
        type: string
      customerAcceptanceDate:
        description: |
          The date when the customer accepts the contract in yyyy-mm-dd format.

          If this field is not set:

          * If the `serviceActivationDate` field is not set, the value of this field is set to be the contract effective date.
          * If the `serviceActivationDate` field is set, the value of this field is set to be the service activation date.

          The billing trigger dates must follow this rule:

          contractEffectiveDate <= serviceActivationDate <= contractAcceptanceDate
        format: date
        type: string
      ratePlanId:
        description: 'ID of a rate plan for this subscription.

          '
        type: string
      serviceActivationDate:
        description: |
          The date when the remove amendment is activated in yyyy-mm-dd format.

          You must specify a Service Activation date if the Customer Acceptance date is set. If the Customer Acceptance date is not set, the value of the `serviceActivationDate` field defaults to be the Contract Effective Date.

          The billing trigger dates must follow this rule:

          contractEffectiveDate <= serviceActivationDate <= contractAcceptanceDate
        format: date
        type: string
    required:
    - contractEffectiveDate
    - ratePlanId
    title: remove
    type: object
  PUTSrpUpdateType:
    allOf:
    - properties:
        chargeUpdateDetails:
          description: "Container for one or more product rate plan charges. \n"
          items:
            $ref: '#/definitions/PUTScUpdateType'
          type: array
        contractEffectiveDate:
          description: |
            The date when the amendment changes take effect. The format of the date is yyyy-mm-dd.

            If there is already a future-dated Update Product amendment on the subscription, the `specificUpdateDate` field will be used instead of this field to specify when the Update Product amendment takes effect.
          format: date
          type: string
        customerAcceptanceDate:
          description: |
            The date when the customer accepts the contract in yyyy-mm-dd format.

            If this field is not set:

            * If the `serviceActivationDate` field is not set, the value of this field is set to be the contract effective date.
            * If the `serviceActivationDate` field is set, the value of this field is set to be the service activation date.

            The billing trigger dates must follow this rule:

            contractEffectiveDate <= serviceActivationDate <= contractAcceptanceDate
          format: date
          type: string
        ratePlanId:
          description: 'ID of a rate plan for this subscription.

            '
          type: string
        serviceActivationDate:
          description: |
            The date when the update amendment is activated in yyyy-mm-dd format.

            You must specify a Service Activation date if the Customer Acceptance date is set. If the Customer Acceptance date is not set, the value of the `serviceActivationDate` field defaults to be the Contract Effective Date.

            The billing trigger dates must follow this rule:

            contractEffectiveDate <= serviceActivationDate <= contractAcceptanceDate
          format: date
          type: string
        specificUpdateDate:
          description: |
            The date when the Update Product amendment takes effect. This field is only applicable if there is already a future-dated Update Product amendment on the subscription. The format of the date is yyyy-mm-dd.

            Required only for Update Product amendments if there is already a future-dated Update Product amendment on the subscription.
          format: date
          type: string
      required:
      - ratePlanId
      - contractEffectiveDate
      type: object
    - $ref: '#/definitions/RatePlanObjectCustomFields'
    title: update
  PUTSubscriptionPatchRequestType:
    example:
      customFields:
        sub_cf__c: subscription custom field
      ratePlans:
      - charges:
        - chargeNumber: C-00000016
          customFields:
            sub_rpc__c: rate plan charge custom field
        customFields:
          sub_rate_plan__c: rate plan custom field
        ratePlanId: 8a8081085d834928015da220da08207f
    properties:
      customFields:
        $ref: '#/definitions/SubscriptionObjectCustomFields'
      ratePlans:
        items:
          properties:
            charges:
              items:
                properties:
                  chargeNumber:
                    type: string
                  customFields:
                    $ref: '#/definitions/RatePlanChargeObjectCustomFields'
                type: object
              type: array
            customFields:
              $ref: '#/definitions/RatePlanObjectCustomFields'
            ratePlanId:
              description: The rate plan id in any version of the subscription. This
                will be linked to the only one rate plan in the current version.
              type: string
          type: object
        type: array
    type: object
  PUTSubscriptionPreviewInvoiceItemsType:
    properties:
      chargeAmount:
        description: 'The amount of the charge. This amount doesn''t include taxes
          unless the charge''s tax mode is inclusive.

          '
        type: number
      chargeDescription:
        description: 'Description of the charge.

          '
        type: string
      chargeName:
        description: 'Name of the charge

          '
        type: string
      productName:
        description: 'Name of the product associated with this item.

          '
        type: string
      productRatePlanChargeId:
        description: ''
        type: string
      quantity:
        description: 'Quantity of this item.

          '
        type: number
      serviceEndDate:
        description: 'End date of the service period for this item, i.e., the last
          day of the period, as yyyy-mm-dd.

          '
        format: date
        type: string
      serviceStartDate:
        description: 'Service start date as yyyy-mm-dd. If the charge is a one-time
          fee, this is the date of that charge.

          '
        format: date
        type: string
      unitOfMeasure:
        description: ''
        type: string
    title: invoiceItems
    type: object
  PUTSubscriptionResponseType:
    properties:
      amount:
        description: 'Invoice amount. Preview mode only.

          '
        type: number
      amountWithoutTax:
        description: 'Invoice amount minus tax. Preview mode only.

          '
        type: number
      chargeMetrics:
        description: 'Container for charge metrics.

          '
        properties:
          dmrr:
            description: 'Change in total contract value.

              '
            type: string
          dtcv:
            description: 'Change in monthly recurring revenue.

              '
            type: string
          mrr:
            description: 'Monthly recurring revenue.

              '
            type: string
          number:
            description: 'The charge number of the subscription. Only available for
              update subscription.

              '
            type: string
          originRatePlanId:
            description: 'The origin rate plan ID. Only available for update subscription.

              '
            type: string
          originalId:
            description: 'The original rate plan charge ID. Only available for update
              subscription.

              '
            type: string
          productRatePlanChargeId:
            description: ''
            type: string
          productRatePlanId:
            description: ''
            type: string
          tcv:
            description: 'Total contract value.

              '
            type: string
        type: object
      creditMemo:
        description: "Container for credit memos.\n\n**Note:** This container is only\
          \ available if you set the Zuora REST API minor version to 207.0 or later\
          \ in the request header, and you have the Invoice Settlement feature enabled.\
          \ The Invoice Settlement feature is in **Limited Availability**. If you\
          \ wish to have access to the feature, submit a request at [Zuora Global\
          \ Support](http://support.zuora.com/). \n"
        properties:
          amount:
            description: Credit memo amount.
            format: double
            type: number
          amountWithoutTax:
            description: Credit memo amount minus tax.
            format: double
            type: number
          creditMemoItems:
            description: ''
            items:
              $ref: '#/definitions/POSTSubscriptionPreviewCreditMemoItemsType'
            type: array
          taxAmount:
            description: Tax amount on the credit memo.
            format: double
            type: number
        type: object
      creditMemoId:
        description: |
          The credit memo ID, if a credit memo is generated during the subscription process.

          **Note:** This field is only available if you have the Invoice Settlements feature enabled.
        type: string
      invoice:
        description: "Container for invoices.\n\n\n **Note:** This field is only available\
          \ if you set the Zuora REST API minor version to 207.0 or later in the request\
          \ header. Also, the response structure is changed and the following invoice\
          \ related response fields are moved to this **invoice** container:\n  \n\
          \   * amount\n   * amountWithoutTax\n   * taxAmount\n   * invoiceItems\n\
          \   * targetDate\n   * chargeMetrics\n"
        type: object
      invoiceId:
        description: 'Invoice ID, if an invoice is generated during the update.

          '
        type: string
      invoiceItems:
        description: 'Container for invoice items.

          '
        items:
          $ref: '#/definitions/PUTSubscriptionPreviewInvoiceItemsType'
        type: array
      invoiceTargetDate:
        description: |
          Date through which charges are calculated on the invoice, as yyyy-mm-dd. Preview mode only.

          **Note:** This field is only available if you do not specify the Zuora REST API minor version or specify the minor version to 186.0, 187.0, 188.0, 189.0, and 196.0. See [Zuora REST API Versions](https://www.zuora.com/developer/api-reference/#section/API-Versions) for more information.
        format: date
        type: string
      paidAmount:
        description: 'Payment amount, if a payment is collected

          '
        type: number
      paymentId:
        description: 'Payment ID, if a payment is collected.

          '
        type: string
      subscriptionId:
        description: 'The ID of the resulting new subscription.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
      targetDate:
        description: |
          Date through which to calculate charges if an invoice is generated, as yyyy-mm-dd. Default is current date.

          **Note:** This field is only available if you set the Zuora REST API minor version to 207.0 or later in the request header. See [Zuora REST API Versions](https://www.zuora.com/developer/api-reference/#section/API-Versions) for more information.
        format: date
        type: string
      taxAmount:
        description: 'Tax amount on the invoice.

          '
        type: number
      totalDeltaMrr:
        description: 'Change in the subscription monthly recurring revenue as a result
          of the update.

          '
        type: number
      totalDeltaTcv:
        description: 'Change in the total contracted value of the subscription as
          a result of the update.

          '
        type: number
    type: object
  PUTSubscriptionResumeResponseType:
    properties:
      creditMemoId:
        description: |
          The credit memo ID, if a credit memo is generated during the subscription process.

          **Note:** This field is only available if you have the Invoice Settlements feature enabled.
        type: string
      invoiceId:
        description: 'Invoice ID, if an invoice is generated during the subscription
          process.

          '
        type: string
      paidAmount:
        description: 'Payment amount, if a payment is collected.

          '
        type: number
      paymentId:
        description: 'Payment ID, if a payment is collected.

          '
        type: string
      resumeDate:
        description: 'The date when subscription resumption takes effect, as yyyy-mm-dd.

          '
        format: date
        type: string
      subscriptionId:
        description: 'The subscription ID.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
      termEndDate:
        description: 'The date when the new subscription term ends, as yyyy-mm-dd.

          '
        format: date
        type: string
      totalDeltaTcv:
        description: 'Change in the total contracted value of the subscription as
          a result of the update.

          '
        type: number
    type: object
  PUTSubscriptionResumeType:
    example:
      collect: false
      contractEffectiveDate: '2019-02-01'
      extendsTerm: true
      resumePolicy: SpecificDate
      resumeSpecificDate: '2019-10-01'
      runBilling: true
    properties:
      applyCreditBalance:
        description: "Applies a credit balance to an invoice.\n\nIf the value is `true`,\
          \ the credit balance is applied to the invoice. If the value is `false`,\
          \ no action is taken.\n\n\nTo view the credit balance adjustment, retrieve\
          \ the details of the invoice using the Get Invoices method.\n\nPrerequisite:\
          \ `invoice` must be `true`. \n\n**Note:** \n  - If you are using the field\
          \ `invoiceCollect` rather than the field `invoice`, the `invoiceCollect`\
          \ value must be `true`.\n  - This field is deprecated if you have the Invoice\
          \ Settlement feature enabled.\n"
        type: boolean
      collect:
        default: false
        description: "Collects an automatic payment for a subscription. The collection\
          \ generated in this operation is only for this subscription, not for the\
          \ entire customer account.\n\nIf the value is `true`, the automatic payment\
          \ is collected. If the value is `false`, no action is taken.\n\nPrerequisite:\
          \ The `invoice` or `runBilling` field must be `true`. \n\n**Note**: This\
          \ field is only available if you set the `zuora-version` request header\
          \ to `196.0` or later.\n"
        type: boolean
      contractEffectiveDate:
        description: 'The date when the customer notifies you that they want to resume
          their subscription.

          '
        format: date
        type: string
      documentDate:
        description: "The date of the billing document, in `yyyy-mm-dd` format. It\
          \ represents the invoice date for invoices, credit memo date for credit\
          \ memos, and debit memo date for debit memos.\n\n- If this field is specified,\
          \ the specified date is used as the billing document date. \n- If this field\
          \ is not specified, the date specified in the `targetDate` is used as the\
          \ billing document date.\n"
        format: date
        type: string
      extendsTerm:
        description: |
          Whether to extend the subscription term by the length of time the suspension is in effect.

          Values: `true`, `false`.
        type: boolean
      invoice:
        description: "**Note:** This field has been replaced by the `runBilling` field.\
          \ The\n`invoice` field is only available for backward compatibility.\n\n\
          \nCreates an invoice for a subscription. The invoice generated in this\n\
          operation is only for this subscription, not for the entire customer\naccount.\n\
          \n\nIf the value is `true`, an invoice is created. If the value is\n`false`,\
          \ no action is taken. The default value is `false`.\n\n\nThis field is in\
          \ Zuora REST API version control. Supported minor\nversions are `196.0`\
          \ and `207.0`. To use this field in the method, you\nmust set the `zuora-version`\
          \ parameter to the minor version number in\nthe request header. \n"
        type: boolean
      invoiceCollect:
        default: false
        description: |
          **Note:** This field has been replaced by the `invoice` field
          and the `collect` field. `invoiceCollect` is available only for backward
          compatibility.


          If `true`, an invoice is generated and payment collected automatically during
          the subscription process. If `false`, no invoicing or payment
          takes place.  The invoice generated in this operation is only for this subscription,
          not for the entire customer account.


          **Note**: This field is only available if you set the `zuora-version` request header to `186.0`, `187.0`, `188.0`, or `189.0`.
        type: boolean
      invoiceTargetDate:
        description: "**Note:** This field has been replaced by the `targetDate` field.\
          \ The\n`invoiceTargetDate` field is only available for backward\ncompatibility.\n\
          \n\nDate through which to calculate charges if an invoice is generated,\
          \ as\nyyyy-mm-dd. Default is current date.\n\n\nThis field is in Zuora REST\
          \ API version control. Supported minor\nversions are `207.0` and earlier.\
          \  \n"
        format: date
        type: string
      resumePeriods:
        description: |
          The length of the period used to specify when the subscription is resumed. The subscription resumption takes effect after a specified period based on the suspend date or today's date. You must use this field together with the `resumePeriodsType` field to specify the period.

          **Note:** This field is only applicable when the `suspendPolicy` field is set to `FixedPeriodsFromToday` or `FixedPeriodsFromSuspendDate`.
        type: string
      resumePeriodsType:
        description: |
          The period type used to define when the subscription resumption takes effect. The subscription resumption takes effect after a specified period based on the suspend date or today's date. You must use this field together with the `resumePeriods` field to specify the period.

          Values: `Day`, `Week`, `Month`, `Year`

          **Note:** This field is only applicable when the `suspendPolicy` field is set to `FixedPeriodsFromToday` or `FixedPeriodsFromSuspendDate`.
        type: string
      resumePolicy:
        description: |
          Resume methods. Specify a way to resume a subscription.

          Values:

          * `Today`: The subscription resumption takes effect on today's date.

          * `FixedPeriodsFromSuspendDate`: The subscription resumption takes effect after a specified period based on the suspend date. You must specify the `resumePeriods` and `resumePeriodsType` fields to define the period.

          * `SpecificDate`: The subscription resumption takes effect on a specific date. You must define the specific date in the `resumeSpecificDate` field.

          * `FixedPeriodsFromToday`: The subscription resumption takes effect after a specified period based on the today's date. You must specify the `resumePeriods` and `resumePeriodsType` fields to define the period.
        type: string
      resumeSpecificDate:
        description: |
          A specific date when the subscription resumption takes effect, in the format yyyy-mm-dd.

          **Note:** This field is only applicable only when the `resumePolicy` field is set to `SpecificDate`.

          The value should not be earlier than the subscription suspension date.
        format: date
        type: string
      runBilling:
        default: false
        description: "Creates an invoice for a subscription. If you have the Invoice\
          \ Settlement feature enabled, a credit memo might also be created based\
          \ on the [invoice and credit memo generation rule](https://knowledgecenter.zuora.com/CB_Billing/Invoice_Settlement/Credit_and_Debit_Memos/Rules_for_Generating_Invoices_and_Credit_Memos).\
          \  \n\n\nThe billing documents generated\nin this operation is only for\
          \ this subscription, not for the entire\ncustomer account.\n\n\nPossible\
          \ values:\n\n- `true`: An invoice is created. If you have the Invoice Settlement\
          \ feature enabled, a credit memo might also be created.\n\n\n- `false`:\
          \ No invoice is created.\n\n\n**Note:** This field is in Zuora REST API\
          \ version control. Supported\nminor versions are `211.0` or later. To use\
          \ this field in the method,\nyou must set the `zuora-version` parameter\
          \ to the minor version number\nin the request header.\n"
        enum:
        - true
        - false
        type: boolean
      targetDate:
        description: |
          Date through which to calculate charges if an invoice or a credit memo is generated, as
          yyyy-mm-dd. Default is current date.


          **Note:** The credit memo is only available if you have the Invoice Settlement feature enabled.


          This field is in Zuora REST API version control. Supported minor
          versions are `211.0` and later. To use this field in the method, you
          must set the  `zuora-version` parameter to the minor version number in
          the request header.
        format: date
        type: string
    required:
    - resumePolicy
    type: object
  PUTSubscriptionSuspendResponseType:
    properties:
      creditMemoId:
        description: |
          The credit memo ID, if a credit memo is generated during the subscription process.

          **Note:** This field is only available if you have the Invoice Settlements feature enabled.
        type: string
      invoiceId:
        description: 'Invoice ID, if an invoice is generated during the subscription
          process.

          '
        type: string
      paidAmount:
        description: 'Payment amount, if a payment is collected.

          '
        type: number
      paymentId:
        description: 'Payment ID, if a payment is collected.

          '
        type: string
      resumeDate:
        description: 'The date when subscription resumption takes effect, in the format
          yyyy-mm-dd.

          '
        format: date
        type: string
      subscriptionId:
        description: 'The subscription ID.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
      suspendDate:
        description: 'The date when subscription suspension takes effect, in the format
          yyyy-mm-dd.

          '
        format: date
        type: string
      termEndDate:
        description: 'The date when the new subscription term ends, in the format
          yyyy-mm-dd.

          '
        format: date
        type: string
      totalDeltaTcv:
        description: 'Change in the total contracted value of the subscription as
          a result of the update.

          '
        type: number
    type: object
  PUTSubscriptionSuspendType:
    example:
      collect: false
      contractEffectiveDate: '2019-02-01'
      extendsTerm: true
      resume: true
      resumePolicy: SpecificDate
      resumeSpecificDate: '2019-06-01'
      runBilling: true
      suspendPeriods: 10
      suspendPeriodsType: Day
      suspendPolicy: FixedPeriodsFromToday
    properties:
      applyCreditBalance:
        description: "Applies a credit balance to an invoice.\n\nIf the value is `true`,\
          \ the credit balance is applied to the invoice. If the value is `false`,\
          \ no action is taken.\n\n\nTo view the credit balance adjustment, retrieve\
          \ the details of the invoice using the Get Invoices method.\n\nPrerequisite:\
          \ `invoice` must be `true`. \n\n**Note:** \n  - If you are using the field\
          \ `invoiceCollect` rather than the field `invoice`, the `invoiceCollect`\
          \ value must be `true`.\n  - This field is deprecated if you have the Invoice\
          \ Settlement feature enabled.\n"
        type: boolean
      collect:
        default: false
        description: "Collects an automatic payment for a subscription. The collection\
          \ generated in this operation is only for this subscription, not for the\
          \ entire customer account.\n\nIf the value is `true`, the automatic payment\
          \ is collected. If the value is `false`, no action is taken.\n\nPrerequisite:\
          \ The `invoice` or `runBilling` field must be `true`. \n\n**Note**: This\
          \ field is only available if you set the `zuora-version` request header\
          \ to `196.0` or later.\n"
        type: boolean
      contractEffectiveDate:
        description: 'The date when the customer notifies you that they want to amend
          their subscription.

          '
        format: date
        type: string
      documentDate:
        description: "The date of the billing document, in `yyyy-mm-dd` format. It\
          \ represents the invoice date for invoices, credit memo date for credit\
          \ memos, and debit memo date for debit memos.\n\n- If this field is specified,\
          \ the specified date is used as the billing document date. \n- If this field\
          \ is not specified, the date specified in the `targetDate` is used as the\
          \ billing document date.\n"
        format: date
        type: string
      extendsTerm:
        description: 'Whether to extend the subscription term by the length of time
          the suspension is in effect. Values: `true`, `false`.

          '
        type: boolean
      invoice:
        description: "**Note:** This field has been replaced by the `runBilling` field.\
          \ The\n`invoice` field is only available for backward compatibility.\n\n\
          \nCreates an invoice for a subscription. The invoice generated in this\n\
          operation is only for this subscription, not for the entire customer\naccount.\n\
          \n\nIf the value is `true`, an invoice is created. If the value is\n`false`,\
          \ no action is taken. The default value is `false`. \n\n\nThis field is\
          \ in Zuora REST API version control. Supported minor\nversions are `196.0`\
          \ and `207.0`. To use this field in the method, you\nmust set the zuora-version\
          \ parameter to the minor version number in\nthe request header. \n"
        type: boolean
      invoiceCollect:
        description: |
          **Note:** This field has been replaced by the `invoice` field
          and the `collect` field. `invoiceCollect` is available only for backward
          compatibility.


          **Note**: This field is only available if you set the `zuora-version` request header to `186.0`, `187.0`, `188.0`, or `189.0`.
        type: boolean
      invoiceTargetDate:
        description: "**Note:** This field has been replaced by the `targetDate` field.\
          \ The\n`invoiceTargetDate` field is only available for backward\ncompatibility.\n\
          \n\nDate through which to calculate charges if an invoice is generated,\
          \ as\nyyyy-mm-dd. Default is current date.\n\n\nThis field is in Zuora REST\
          \ API version control. Supported minor\nversions are `207.0` and earlier.\
          \  \n"
        format: date
        type: string
      resume:
        description: 'Whether to set when to resume a subscription when creating a
          suspend amendment. Values: `true`, `false`.

          '
        type: boolean
      resumePeriods:
        description: |
          The length of the period used to specify when the subscription is resumed. The subscription resumption takes effect after a specified period based on the suspend date or today's date. You must use this field together with the `resumePeriodsType` field to specify the period.

          **Note:** This field is only applicable when the `suspendPolicy` field is set to `FixedPeriodsFromToday` or `FixedPeriodsFromSuspendDate`.
        type: string
      resumePeriodsType:
        description: |
          The period type used to define when the subscription resumption takes effect. The subscription resumption takes effect after a specified period based on the suspend date or today's date. You must use this field together with the resumePeriods field to specify the period.

          Values: `Day`, `Week`, `Month`, `Year`

          **Note:** This field is only applicable when the `suspendPolicy` field is set to `FixedPeriodsFromToday` or `FixedPeriodsFromSuspendDate`.
        type: string
      resumePolicy:
        description: |
          Resume methods. Specify a way to resume a subscription. Values:

          * `Today`: The subscription resumption takes effect on today's date.

          * `FixedPeriodsFromSuspendDate`: The subscription resumption takes effect after a specified period based on the suspend date. You must specify the `resumePeriods` and `resumePeriodsType` fields to define the period.

          * `SpecificDate`: The subscription resumption takes effect on a specific date. You must define the specific date in the `resumeSpecificDate` field.

          * `FixedPeriodsFromToday`: The subscription resumption takes effect after a specified period based on the today's date. You must specify the `resumePeriods` and `resumePeriodsType` fields to define the period.
        type: string
      resumeSpecificDate:
        description: |
          A specific date when the subscription resumption takes effect, in the format yyyy-mm-dd.

          **Note:** This field is only applicable only when the `resumePolicy` field is set to `SpecificDate`.

          The value should not be earlier than the subscription suspension date.
        format: date
        type: string
      runBilling:
        default: false
        description: "Creates an invoice for a subscription. If you have the Invoice\
          \ Settlement feature enabled, a credit memo might also be created based\
          \ on the [invoice and credit memo generation rule](https://knowledgecenter.zuora.com/CB_Billing/Invoice_Settlement/Credit_and_Debit_Memos/Rules_for_Generating_Invoices_and_Credit_Memos).\
          \  \n\n\nThe billing documents generated\nin this operation is only for\
          \ this subscription, not for the entire\ncustomer account.\n\n\nPossible\
          \ values:\n\n- `true`: An invoice is created. If you have the Invoice Settlement\
          \ feature enabled, a credit memo might also be created.\n\n\n- `false`:\
          \ No invoice is created.\n\n\n**Note:** This field is in Zuora REST API\
          \ version control. Supported\nminor versions are `211.0` or later. To use\
          \ this field in the method,\nyou must set the `zuora-version` parameter\
          \ to the minor version number\nin the request header.\n"
        enum:
        - true
        - false
        type: boolean
      suspendPeriods:
        description: |
          The length of the period used to specify when the subscription suspension takes effect. The subscription suspension takes effect after a specified period based on today's date. You must use this field together with the `suspendPeriodsType` field to specify the period.

          **Note:** This field is only applicable only when the suspendPolicy field is set to FixedPeriodsFromToday.
        type: string
      suspendPeriodsType:
        description: |
          The period type used to define when the subscription suspension takes effect. The subscription suspension takes effect after a specified period based on today's date. You must use this field together with the suspendPeriods field to specify the period.

          Type: string (enum)

          Values: `Day`, `Week`, `Month`, `Year`

          **Note:** This field is only applicable only when the suspendPolicy field is set to FixedPeriodsFromToday.
        type: string
      suspendPolicy:
        description: "Suspend methods. Specify a way to suspend a subscription. \n\
          \nValue:\n\n* `Today`: The subscription suspension takes effect on today's\
          \ date.\n* `EndOfLastInvoicePeriod`: The subscription suspension takes effect\
          \ at the end of the last invoice period. The suspend date defaults to a\
          \ date that is one day after the last invoiced period. You can choose this\
          \ option to avoid any negative invoices (credits) issued back to the customer\
          \ after the subscription suspension. \n* `SpecificDate`: The subscription\
          \ suspension takes effect on a specific date. You must define the specific\
          \ date in the `suspendSpecificDate` field.\n* `FixedPeriodsFromToday`: The\
          \ subscription suspension takes effect after a specified period based on\
          \ today's date. You must specify the `suspendPeriods` and `suspendPeriodsType`\
          \ fields to define the period.\n"
        type: string
      suspendSpecificDate:
        description: |
          A specific date when the subscription suspension takes effect, in the format yyyy-mm-dd.

          **Note:** This field is only applicable only when the suspendPolicy field is set to SpecificDate.

          The value should not be earlier than the subscription contract effective date, later than the subscription term end date, or within a period for which the customer has been invoiced.
        format: date
        type: string
      targetDate:
        description: |
          Date through which to calculate charges if an invoice or a credit memo is generated, as
          yyyy-mm-dd. Default is current date.


          **Note:** The credit memo is only available if you have the Invoice Settlement feature enabled.


          This field is in Zuora REST API version control. Supported minor
          versions are `211.0` and later. To use this field in the method, you
          must set the  `zuora-version` parameter to the minor version number in
          the request header.
        format: date
        type: string
    required:
    - suspendPolicy
    type: object
  PUTSubscriptionType:
    allOf:
    - properties:
        add:
          description: 'Container for adding one or more rate plans.

            '
          items:
            $ref: '#/definitions/PUTSrpAddType'
          type: array
        applyCreditBalance:
          description: "Applies a credit balance to an invoice.\n\nIf the value is\
            \ `true`, the credit balance is applied to the invoice. If the value is\
            \ `false`, no action is taken.\n\n\nTo view the credit balance adjustment,\
            \ retrieve the details of the invoice using the Get Invoices method.\n\
            \nPrerequisite: `invoice` must be `true`. \n\n**Note:** \n  - If you are\
            \ using the field `invoiceCollect` rather than the field `invoice`, the\
            \ `invoiceCollect` value must be `true`.\n  - This field is deprecated\
            \ if you have the Invoice Settlement feature enabled.\n"
          type: boolean
        autoRenew:
          description: 'If `true`, this subscription automatically renews at the end
            of the subscription term. Default is `false`.

            '
          type: boolean
        collect:
          default: false
          description: "Collects an automatic payment for a subscription. The collection\
            \ generated in this operation is only for this subscription, not for the\
            \ entire customer account.\n\nIf the value is `true`, the automatic payment\
            \ is collected. If the value is `false`, no action is taken.\n\nPrerequisite:\
            \ The `invoice` or `runBilling` field must be `true`. \n\n**Note**: This\
            \ field is only available if you set the `zuora-version` request header\
            \ to `196.0` or later.\n"
          type: boolean
        currentTerm:
          description: 'The length of the period for the current subscription term.
            If `termType` is `TERMED`, this field is required and must be greater
            than `0`. If `termType` is `EVERGREEN`, this value is ignored. Default
            is `0`.

            '
          format: int64
          type: integer
        currentTermPeriodType:
          description: |
            The period type for the current subscription term.

            This field is used with the `CurrentTerm` field to specify the current subscription term.

            Values are:

            * `Month` (default)
            * `Year`
            * `Day`
            * `Week`
          type: string
        documentDate:
          description: "The date of the billing document, in `yyyy-mm-dd` format.\
            \ It represents the invoice date for invoices, credit memo date for credit\
            \ memos, and debit memo date for debit memos.\n\n- If this field is specified,\
            \ the specified date is used as the billing document date. \n- If this\
            \ field is not specified, the date specified in the `targetDate` is used\
            \ as the billing document date.\n"
          format: date
          type: string
        includeExistingDraftDocItems:
          description: |
            Specifies whether to include draft invoice items in subscription previews.
            Values are:

            * `true` (default). Includes draft invoice items in the preview result.
            * `false`. Excludes draft invoice items in the preview result.

            **Note:** This field is in Zuora REST API version control. Supported minor versions are 207.0 or later. To use this field in the method, you must set the **zuora-version** parameter to the minor version number in the request header. See [Zuora REST API Versions](https://www.zuora.com/developer/api-reference/#section/API-Versions) for more information.
          type: boolean
        includeExistingDraftInvoiceItems:
          description: |
            Specifies whether to include draft invoice items in subscription previews.
            Values are:

            * `true` (default). Includes draft invoice items in the preview result.
            * `false`. Excludes draft invoice items in the preview result.

            **Note:** This field is in Zuora REST API version control. Supported minor versions are 186.0, 187.0, 188.0, 189.0, and 196.0. See [Zuora REST API Versions](https://www.zuora.com/developer/api-reference/#section/API-Versions) for more information.
          type: boolean
        invoice:
          description: "**Note:** This field has been replaced by the `runBilling`\
            \ field. The\n`invoice` field is only available for backward compatibility.\n\
            \n\nCreates an invoice for a subscription. The invoice generated in this\n\
            operation is only for this subscription, not for the entire customer\n\
            account.\n\n\nIf the value is `true`, an invoice is created. If the value\
            \ is\n`false`, no action is taken. The default value is `false`. \n\n\n\
            This field is in Zuora REST API version control. Supported minor\nversions\
            \ are `196.0` and `207.0`. To use this field in the method, you\nmust\
            \ set the zuora-version parameter to the minor version number in\nthe\
            \ request header. \n"
          type: boolean
        invoiceCollect:
          default: false
          description: |
            **Note:** This field has been replaced by the `invoice` field
            and the `collect` field. `invoiceCollect` is available only for backward
            compatibility.


            If `true`, an invoice is generated and payment collected automatically during
            the subscription process. If `false`, no invoicing or payment
            takes place.  The invoice generated in this operation is only for this subscription,
            not for the entire customer account.

            **Note**: This field is only available if you set the `zuora-version` request header to `186.0`, `187.0`, `188.0`, or `189.0`.
          type: boolean
        invoiceSeparately:
          description: "Separates a single subscription from other subscriptions and\
            \ invoices the charge independently. \n\nIf the value is `true`, the subscription\
            \ is billed separately from other subscriptions. If the value is `false`,\
            \ the subscription is included with other subscriptions in the account\
            \ invoice.\n\nThe default value is `false`.\nPrerequisite: The default\
            \ subscription setting Enable Subscriptions to be Invoiced Separately\
            \ must be set to Yes.\n"
          type: boolean
        invoiceTargetDate:
          description: "**Note:** This field has been replaced by the `targetDate`\
            \ field. The\n`invoiceTargetDate` field is only available for backward\n\
            compatibility.\n\n\nDate through which to calculate charges if an invoice\
            \ is generated, as\nyyyy-mm-dd. Default is current date.\n\n\nThis field\
            \ is in Zuora REST API version control. Supported minor\nversions are\
            \ `207.0` and earlier.  \n"
          format: date
          type: string
        notes:
          description: 'String of up to 500 characters.

            '
          type: string
        preview:
          description: 'If `true` the update is made in preview mode. The default
            setting is `false`.

            '
          type: boolean
        previewType:
          description: "The type of preview you will receive. \n\nThis field is in\
            \ Zuora REST API version control. The supported values of this field depend\
            \ on the REST API minor version you specified in the request header.\n\
            \n\n* If you do not specify the REST API minor version or specify the\
            \ minor version number to one of following values in the request header:\n\
            \n  * 186.0\n  * 187.0\n  * 188.0\n  * 189.0\n  * 196.0 \n\n  The following\
            \ values are supported in the **previewType** field:\n\n  * InvoiceItem\n\
            \  * ChargeMetrics\n  * InvoiceItemChargeMetrics\n\n  The default value\
            \ is InvoiceItem.\n\n* If you specify the REST API minor version to 207.0\
            \ or later in the request header, the following values are supported in\
            \ the **previewType** field:\n\n  - LegalDoc\n  - ChargeMetrics\n  - LegalDocChargeMetrics\n\
            \n  The default value is LegalDoc.\n\nSee [Zuora REST API Versions](https://www.zuora.com/developer/api-reference/#section/API-Versions)\
            \ for more information.\n"
          type: string
        remove:
          description: 'Container for removing one or more rate plans.

            '
          items:
            $ref: '#/definitions/PUTSrpRemoveType'
          type: array
        renewalSetting:
          description: "Specifies whether a termed subscription will remain `TERMED`\
            \ or change to `EVERGREEN` when it is renewed. \n\nValues are:\n\n* `RENEW_WITH_SPECIFIC_TERM`\
            \ (default)\n* `RENEW_TO_EVERGREEN`\n"
          type: string
        renewalTerm:
          description: 'The length of the period for the subscription renewal term.
            Default is `0`.

            '
          format: int64
          type: integer
        renewalTermPeriodType:
          description: |2

            The period type for the subscription renewal term.

            This field is used with the `renewalTerm` field to specify the subscription renewal term.

            Values are:

            * `Month` (default)
            * `Year`
            * `Day`
            * `Week`
          type: string
        runBilling:
          default: false
          description: "Creates an invoice for a subscription. If you have the Invoice\
            \ Settlement feature enabled, a credit memo might also be created based\
            \ on the [invoice and credit memo generation rule](https://knowledgecenter.zuora.com/CB_Billing/Invoice_Settlement/Credit_and_Debit_Memos/Rules_for_Generating_Invoices_and_Credit_Memos).\
            \  \n\n\nThe billing documents generated\nin this operation is only for\
            \ this subscription, not for the entire\ncustomer account.\n\n\nPossible\
            \ values:\n\n- `true`: An invoice is created. If you have the Invoice\
            \ Settlement feature enabled, a credit memo might also be created.\n\n\
            \n- `false`: No invoice is created.\n\n\n**Note:** This field is in Zuora\
            \ REST API version control. Supported\nminor versions are `211.0` or later.\
            \ To use this field in the method,\nyou must set the `zuora-version` parameter\
            \ to the minor version number\nin the request header.\n"
          enum:
          - true
          - false
          type: boolean
        targetDate:
          description: |
            Date through which to calculate charges if an invoice or a credit memo is generated, as
            yyyy-mm-dd. Default is current date.


            **Note:** The credit memo is only available if you have the Invoice Settlement feature enabled.


            This field is in Zuora REST API version control. Supported minor
            versions are `211.0` and later. To use this field in the method, you
            must set the  `zuora-version` parameter to the minor version number in
            the request header.
          format: date
          type: string
        termStartDate:
          description: "Date the subscription term begins, as yyyy-mm-dd. If this\
            \ is a renewal subscription, this date is different from the subscription\
            \ start date. \n"
          format: date
          type: string
        termType:
          description: 'Possible values are: `TERMED`, `EVERGREEN`.

            '
          type: string
        update:
          description: 'Container for updating one or more rate plans.

            '
          items:
            $ref: '#/definitions/PUTSrpUpdateType'
          type: array
      type: object
    - $ref: '#/definitions/SubscriptionObjectQTFields'
    - $ref: '#/definitions/SubscriptionObjectNSFields'
    - $ref: '#/definitions/SubscriptionObjectCustomFields'
    example:
      autoRenew: false
      collect: false
      currentTerm: '10'
      currentTermPeriodType: Month
      notes: Test UPDATE subscription from z-ruby-sdk
      renewalSetting: RENEW_WITH_SPECIFIC_TERM
      renewalTerm: '4'
      renewalTermPeriodType: Month
      runBilling: true
      termType: TERMED
      update:
      - chargeUpdateDetails:
        - quantity: 12
          ratePlanChargeId: 2c92c8f83dcbd8b1013dcce0eb510075
        contractEffectiveDate: '2013-04-28'
        ratePlanId: 2c92c8f83dcbd8b1013dcce0ea7e006f
  PUTTaxationItemType:
    allOf:
    - properties:
        exemptAmount:
          description: 'The amount of taxes or VAT for which the customer has an exemption.

            '
          format: double
          type: number
        financeInformation:
          description: 'Container for the finance information related to the taxation
            item.

            '
          properties:
            onAccountAccountingCode:
              description: 'The accounting code that maps to an on account in your
                accounting system.

                '
              maxLength: 100
              minLength: 0
              type: string
            salesTaxPayableAccountingCode:
              description: 'The accounting code for the sales taxes payable.

                '
              maxLength: 100
              minLength: 0
              type: string
          type: object
        jurisdiction:
          description: 'The jurisdiction that applies the tax or VAT. This value is
            typically a state, province, county, or city.

            '
          type: string
        locationCode:
          description: "The identifier for the location based on the value of the\
            \ `taxCode` field. \n"
          type: string
        name:
          description: 'The name of the taxation item to be updated.

            '
          type: string
        taxAmount:
          description: 'The amount of the tax applied to the credit or debit memo.

            '
          format: double
          type: number
        taxCode:
          description: 'The tax code identifies which tax rules and tax rates to apply
            to a specific credit or debit memo.

            '
          type: string
        taxCodeDescription:
          description: 'The description of the tax code.

            '
          type: string
        taxDate:
          description: 'The date when the tax is applied to the credit or debit memo.

            '
          format: date
          type: string
        taxRate:
          description: 'The tax rate applied to the credit or debit memo.

            '
          format: double
          type: number
        taxRateDescription:
          description: "The description of the tax rate. \n"
          type: string
        taxRateType:
          description: 'The type of the tax rate applied to the credit or debit memo.

            '
          enum:
          - Percentage
          - FlatFee
          type: string
      required:
      - taxRate
      - jurisdiction
      - name
      - taxRateType
      - taxAmount
      type: object
    - $ref: '#/definitions/TaxationItemObjectCustomFields'
    example:
      exemptAmount: 0.0
      financeInformation:
        onAccountAccountingCode: Check
        salesTaxPayableAccountingCode: ''
      jurisdiction: CALIFORNIA
      locationCode: '06'
      name: STATE TAX
      taxAmount: 1.0
      taxCode: ServiceTaxCode
      taxCodeDescription: This is tax code description!
      taxDate: '2016-06-05'
      taxRate: 0.0625
      taxRateDescription: This is tax rate description!
      taxRateType: Percentage
  PUTVerifyPaymentMethodResponseType:
    properties:
      paymentMethodId:
        description: 'The ID of the verified payment method.

          '
        type: string
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  PUTVerifyPaymentMethodType:
    example:
      gatewayOptions:
        Comments: test
        IPAddress: 192.168.1.1
      paymentGatewayName: Adyen
      securityCode: '737'
    properties:
      gatewayOptions:
        description: 'The field used to pass gateway-specific parameters and parameter
          values.

          '
        properties:
          key:
            description: 'The name of a gateway-specific parameter.

              '
            type: string
          value:
            description: 'The value of the gateway-specific parameter.

              '
            type: string
        type: object
      paymentGatewayName:
        description: 'The name of the payment gateway instance. If no value is specified
          for this field, the default payment gateway of the customer account will
          be used.

          '
        type: string
      securityCode:
        description: 'The CVV or CVV2 security code for the credit card or debit card.
          To ensure PCI compliance, the value of this field is not stored and cannot
          be queried.

          '
        type: string
    type: object
  PUTWriteOffInvoiceRequest:
    allOf:
    - properties:
        comment:
          description: 'Comments about the write-off. The comment is used as the comment
            of the credit memo generated by writing off the specified invoice.

            '
          maxLength: 255
          minLength: 0
          type: string
        items:
          description: 'Container for items.

            '
          items:
            $ref: '#/definitions/CreditMemoItemFromWriteOffInvoice'
          type: array
        memoDate:
          description: |
            The date when the credit memo was created, in `yyyy-mm-dd` format. The memo date must be later than or equal to the invoice date.

            The default value is the date when you write off the invoice.
          format: date
          type: string
        reasonCode:
          description: 'A code identifying the reason for the transaction. The value
            must be an existing reason code or empty. If you do not specify a value,
            Zuora uses the default reason code `Write-off`.

            '
          type: string
      type: object
    - $ref: '#/definitions/CreditMemoObjectCustomFields'
    example:
      memoDate: '2019-01-02'
    type: object
  PUTWriteOffInvoiceResponse:
    properties:
      creditMemo:
        description: 'Container for the credit memo that is automatically generated
          when writing off invoices.

          '
        properties:
          id:
            description: 'The ID of the credit memo that is created when the invoice
              is written off.

              '
            type: string
        type: object
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  PUT_BasicSummaryJournalEntryType:
    allOf:
    - properties:
        journalEntryItems:
          description: 'Key name that represents the list of journal entry items.

            '
          items:
            $ref: '#/definitions/PUTJournalEntryItemType'
          type: array
        notes:
          description: |
            Additional information about this record.

            ***Character limit:*** 2,000
          type: string
        transferredToAccounting:
          description: "Status shows whether the journal entry has been transferred\
            \ to an accounting system. \n\nThis field cannot be changed after the\
            \ summary journal entry has been canceled.\n\n**Note:** The Zuora Finance\
            \ ***Override Transferred to Accounting*** permission is required to change\
            \ `transferredToAccounting` from `Yes` to any other value.\n"
          enum:
          - 'No'
          - Processing
          - 'Yes'
          - Error
          - Ignore
          type: string
      type: object
    - $ref: '#/definitions/JournalEntryObjectCustomFields'
    example:
      journalEntryItems:
      - accountingCodeName: Accounts Receivable
        type: Credit
      - accountingCodeName: ''
        type: Debit
      notes: Transfer to accounting system
      transferredToAccounting: 'Yes'
  PaymentCollectionResponseType:
    properties:
      nextPage:
        description: 'URL to retrieve the next page of the response if it exists;
          otherwise absent.

          '
        format: URL
        type: string
      payments:
        description: 'Container for payments.

          '
        items:
          $ref: '#/definitions/GETARPaymentTypewithSuccess'
        type: array
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
    type: object
  PaymentDebitMemoApplicationApplyRequestType:
    properties:
      amount:
        description: 'The amount that is applied from the payment to the debit memo.

          '
        format: double
        type: number
      debitMemoId:
        description: 'The unique ID of the debit memo that the payment is applied
          to.

          '
        type: string
      items:
        description: |
          Container for debit memo items.

          **Note:** The Invoice Item Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
        items:
          $ref: '#/definitions/PaymentDebitMemoApplicationItemApplyRequestType'
        type: array
    required:
    - amount
    title: debitMemos
    type: object
  PaymentDebitMemoApplicationCreateRequestType:
    properties:
      amount:
        description: 'The amount of the payment associated with the debit memo.

          '
        format: double
        type: number
      debitMemoId:
        description: 'The unique ID of the debit memo that the payment is created
          on.

          '
        type: string
      items:
        description: |
          Container for debit memo items.

          **Note:** The Invoice Item Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
        items:
          $ref: '#/definitions/PaymentDebitMemoApplicationItemCreateRequestType'
        type: array
    required:
    - amount
    title: debitMemos
    type: object
  PaymentDebitMemoApplicationItemApplyRequestType:
    properties:
      amount:
        description: 'The amount of the payment that is applied to the specific debit
          memo or taxation item.

          '
        format: double
        type: number
      debitMemoItemId:
        description: 'The ID of the specific debit memo item.

          '
        type: string
      taxItemId:
        description: 'The ID of the specific taxation item.

          '
        type: string
    required:
    - amount
    title: items
    type: object
  PaymentDebitMemoApplicationItemCreateRequestType:
    properties:
      amount:
        description: 'The amount of the payment associated with the specific debit
          memo or taxation item.

          '
        format: double
        type: number
      debitMemoItemId:
        description: 'The ID of the specific debit memo item.

          '
        type: string
      taxItemId:
        description: 'The ID of the specific taxation item.

          '
        type: string
    required:
    - amount
    title: items
    type: object
  PaymentDebitMemoApplicationItemUnapplyRequestType:
    properties:
      amount:
        description: 'The amount of the payment that is unapplied from the specific
          debit mem or taxation item.

          '
        format: double
        type: number
      debitMemoItemId:
        description: 'The ID of the specific debit memo item.

          '
        type: string
      taxItemId:
        description: 'The ID of the specific taxation item.

          '
        type: string
    required:
    - amount
    title: items
    type: object
  PaymentDebitMemoApplicationUnapplyRequestType:
    properties:
      amount:
        description: 'The amount of the payment that is unapplied from the debit memo.

          '
        format: double
        type: number
      debitMemoId:
        description: 'The unique ID of the debit memo that the payment is unapplied
          from.

          '
        type: string
      items:
        description: |
          Container for debit memo items.

          **Note:** The Invoice Item Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
        items:
          $ref: '#/definitions/PaymentDebitMemoApplicationItemUnapplyRequestType'
        type: array
    required:
    - amount
    title: debitMemos
    type: object
  PaymentEntityPrefix:
    description: 'Container for the prefix and starting number of payments.

      '
    properties:
      prefix:
        description: 'The prefix of payments.

          '
        example: P-
        type: string
      startNumber:
        description: 'The starting number of payments.

          '
        example: 10
        type: integer
    title: payment
    type: object
  PaymentInvoiceApplicationApplyRequestType:
    properties:
      amount:
        description: 'The amount that is applied from the payment to the invoice.

          '
        format: double
        type: number
      invoiceId:
        description: 'The unique ID of the invoice that the payment is applied to.

          '
        type: string
      items:
        description: |
          Container for invoice items.

          **Note:** The Invoice Item Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
        items:
          $ref: '#/definitions/PaymentInvoiceApplicationItemApplyRequestType'
        type: array
    required:
    - amount
    title: invoices
    type: object
  PaymentInvoiceApplicationCreateRequestType:
    properties:
      amount:
        description: 'The amount of the payment associated with the invoice.

          '
        format: double
        type: number
      invoiceId:
        description: 'The unique ID of the invoice that the payment is created on.

          '
        type: string
      items:
        description: |
          Container for invoice items.

          **Note:** The Invoice Item Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
        items:
          $ref: '#/definitions/PaymentInvoiceApplicationItemCreateRequestType'
        type: array
    required:
    - amount
    title: invoices
    type: object
  PaymentInvoiceApplicationItemApplyRequestType:
    properties:
      amount:
        description: 'The amount of the payment that is applied to the specific invoice
          or taxation item.

          '
        format: double
        type: number
      invoiceItemId:
        description: 'The ID of the specific invoice item.

          '
        type: string
      taxItemId:
        description: 'The ID of the specific taxation item.

          '
        type: string
    required:
    - amount
    title: items
    type: object
  PaymentInvoiceApplicationItemCreateRequestType:
    properties:
      amount:
        description: 'The amount of the payment associated with the specific invoice
          or taxation item.

          '
        format: double
        type: number
      invoiceItemId:
        description: 'The ID of the specific invoice item.

          '
        type: string
      taxItemId:
        description: 'The ID of the specific taxation item.

          '
        type: string
    required:
    - amount
    title: items
    type: object
  PaymentInvoiceApplicationItemUnapplyRequestType:
    properties:
      amount:
        description: 'The amount of the payment that is unapplied from the specific
          invoice or taxation item.

          '
        format: double
        type: number
      invoiceItemId:
        description: 'The ID of the specific invoice item.

          '
        type: string
      taxItemId:
        description: 'The ID of the specific taxation item.

          '
        type: string
    required:
    - amount
    title: items
    type: object
  PaymentInvoiceApplicationUnapplyRequestType:
    properties:
      amount:
        description: 'The amount of the payment that is unapplied from the invoice.

          '
        format: double
        type: number
      invoiceId:
        description: 'The unique ID of the invoice that the payment is unapplied from.

          '
        type: string
      items:
        description: |
          Container for invoice items.

          **Note:** The Invoice Item Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
        items:
          $ref: '#/definitions/PaymentInvoiceApplicationItemUnapplyRequestType'
        type: array
    required:
    - amount
    title: invoices
    type: object
  PaymentMethod:
    allOf:
    - properties:
        type:
          description: |
            Type of payment method. The following types of the payment method are supported:

            * `PayPalEC` - PayPal Express Checkout payment method. Use this type if you are using a [PayPal Payflow Pro Gateway](https://knowledgecenter.zuora.com/CB_Billing/M_Payment_Gateways/Supported_Payment_Gateways/PayPal_Payflow_Pro%2C_Website_Payments_Payflow_Edition%2C_Website_Pro_Payment_Gateway) instance.
            * `PayPalNativeEC` - PayPal Native Express Checkout payment method. Use this type if you are using a [PayPal Express Checkout Gateway](https://knowledgecenter.zuora.com/CB_Billing/M_Payment_Gateways/Supported_Payment_Gateways/PayPal_Express_Checkout_Gateway) instance.
            * `PayPalAdaptive` - PayPal Adaptive payment method. Use this type if you are using a [PayPal Adaptive Payment Gateway](https://knowledgecenter.zuora.com/CB_Billing/M_Payment_Gateways/Supported_Payment_Gateways/PayPal_Adaptive_Payments_Gateway) instance.
            * `CreditCard` - Credit card payment method.
            * `ACH` - ACH payment method.
            * `SEPA` - Single Euro Payments Area.
            * `Betalingsservice` - Direct Debit DK.
            * `Autogiro` - Direct Debit SE.
            * `Bacs` - Direct Debit UK.
          enum:
          - PayPalEC
          - PayPalNativeEC
          - PayPalAdaptive
          - CreditCard
          - ACH
          - SEPA
          - Betalingsservice
          - Autogiro
          - Bacs
          type: string
      required:
      - type
      type: object
    - $ref: '#/definitions/CreatePMPayPalECPayPalNativeEC'
    - $ref: '#/definitions/CreatePaymentMethodPayPalAdaptive'
    - $ref: '#/definitions/CreatePaymentMethodCreditCard'
    - $ref: '#/definitions/CreatePaymentMethodACH'
    - $ref: '#/definitions/CreatePaymentMethodCommon'
    - $ref: '#/definitions/PaymentMethodObjectCustomFields'
    - $ref: '#/definitions/CreatePaymentMethodBankTransfer'
    description: 'Payment method to create for this new account. Supports all the
      payment methods that are supported in the "Create payment method" operation.
      See for more information about how to use this field in [Create payment method](https://www.zuora.com/developer/api-reference/#operation/POST_PaymentMethods).

      '
  PaymentMethodObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the payment method. The name of each custom field
        has the form <code>*customField*__c</code>. Custom field names are case sensitive.
        See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a payment method object.

      '
    title: paymentMethodFieldsCustom
    type: object
  PaymentObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Payment object. The name of each custom field
        has the form <code>*customField*__c</code>. Custom field names are case sensitive.
        See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Payment object.

      '
    title: paymentFieldsCustom
    type: object
  PaymentObjectNSFields:
    description: 'Container for Payment fields provided by the [Zuora Connector for
      NetSuite](https://www.zuora.com/connect/app/?appId=265).

      '
    properties:
      IntegrationId__NS:
        description: 'ID of the corresponding object in NetSuite. Only available if
          you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      IntegrationStatus__NS:
        description: 'Status of the payment''s synchronization with NetSuite. Only
          available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      Origin__NS:
        description: 'Origin of the corresponding object in NetSuite. Only available
          if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      SyncDate__NS:
        description: 'Date when the payment was synchronized with NetSuite. Only available
          if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      Transaction__NS:
        description: 'Related transaction in NetSuite. Only available if you have
          installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
    title: paymentFieldsNS
    type: object
  PostBillingPreviewParam:
    example:
      accountId: 402890b75972406c0159724cd4d00011
      assumeRenewal: None
      chargeTypeToExclude: ''
      includingEvergreenSubscription: 'true'
      targetDate: '2017-05-10'
    properties:
      accountId:
        description: 'ID of the customer account to which the billing preview applies.

          '
        maxLength: 255
        type: string
      assumeRenewal:
        description: "Indicates whether to generate a preview of future invoice items\
          \ and credit memo items with the assumption that the subscriptions are renewed.\n\
          \nSet one of the following values in this field to decide how the assumption\
          \ is applied in the billing preview.\n\n  * **All:** The assumption is applied\
          \ to all the subscriptions. Zuora generates preview invoice item data and\
          \ credit memo item data from the first day of the customer's next billing\
          \ period to the target date.\n  \n  * **None:** (Default) The assumption\
          \ is not applied to the subscriptions. Zuora generates preview invoice item\
          \ data and credit memo item data based on the current term end date and\
          \ the target date.\n  \n    * If the target date is later than the current\
          \ term end date, Zuora generates preview invoice item data and credit memo\
          \ item data from the first day of the customer's next billing period to\
          \ the current term end date.\n\n    * If the target date is earlier than\
          \ the current term end date, Zuora generates preview invoice item data and\
          \ credit memo item data from the first day of the customer's next billing\
          \ period to the target date.\n\n  * **Autorenew:** The assumption is applied\
          \ to the subscriptions that have auto-renew enabled. Zuora generates preview\
          \ invoice item data and credit memo item data from the first day of the\
          \ customer's next billing period to the target date.\n\n**Note:** \n  -\
          \ This field can only be used if the subscription renewal term is not set\
          \ to 0.  \n  \n  \n  - The credit memo item data is only available if you\
          \ have Invoice Settlement feature enabled. The Invoice Settlement feature\
          \ is in **Limited Availability**. If you wish to have access to the feature,\
          \ submit a request at [Zuora Global Support](http://support.zuora.com/).\n"
        type: string
      chargeTypeToExclude:
        description: |
          The charge types to exclude from the billing preview.

          **Possible values:** OneTime, Recurring, Usage, and any combination of these values.
        type: string
      includingEvergreenSubscription:
        description: 'Indicates if evergreen subscriptions are included in the billingPreview
          call.

          '
        type: boolean
      targetDate:
        description: "The target date for the billingPreview call. The billingPreview\
          \ call generates preview invoice item data and credit memo item data from\
          \ the first day of the customer's next billing period to the TargetDate.\
          \ \n\nIf the TargetDate is later than the subscription current term end\
          \ date, the preview invoice item data and credit memo item data is generated\
          \ from the first day of the customer's next billing period to the current\
          \ term end date. If you want to generate preview invoice item data and credit\
          \ memo item data past the end of the subscription current term, specify\
          \ the `AssumeRenewal` field in the request.\n\n\n**Note:** The credit memo\
          \ item data is only available if you have Invoice Settlement feature enabled.\
          \ The Invoice Settlement feature is in **Limited Availability**. If you\
          \ wish to have access to the feature, submit a request at [Zuora Global\
          \ Support](http://support.zuora.com/).\n"
        format: date
        type: string
    required:
    - accountId
    - targetDate
    type: object
  PostBillingPreviewRunParam:
    example:
      assumeRenewal: None
      batch: ''
      chargeTypeToExclude: ''
      includingEvergreenSubscription: 'true'
      targetDate: '2017-01-10'
    properties:
      assumeRenewal:
        description: "Indicates whether to generate a preview of future invoice items\
          \ and credit memo items with the assumption that the subscriptions are renewed.\n\
          \nSet one of the following values in this field to decide how the assumption\
          \ is applied in the billing preview.\n\n  * **All:** The assumption is applied\
          \ to all the subscriptions. Zuora generates preview invoice item data and\
          \ credit memo item data from the first day of the customer's next billing\
          \ period to the target date.\n  \n  * **None:** (Default) The assumption\
          \ is not applied to the subscriptions. Zuora generates preview invoice item\
          \ data and credit memo item data based on the current term end date and\
          \ the target date.\n  \n    * If the target date is later than the current\
          \ term end date, Zuora generates preview invoice item data and credit memo\
          \ item data from the first day of the customer's next billing period to\
          \ the current term end date.\n\n    * If the target date is earlier than\
          \ the current term end date, Zuora generates preview invoice item data and\
          \ credit memeo item data from the first day of the customer's next billing\
          \ period to the target date.\n\n  * **Autorenew:** The assumption is applied\
          \ to the subscriptions that have auto-renew enabled. Zuora generates preview\
          \ invoice item data and credit memo item data from the first day of the\
          \ customer's next billing period to the target date.\n  \n**Note:** \n \
          \ - This field can only be used if the subscription renewal term is not\
          \ set to 0.  \n  \n  \n  - The credit memo item data is only available if\
          \ you have Invoice Settlement feature enabled. The Invoice Settlement feature\
          \ is in **Limited Availability**. If you wish to have access to the feature,\
          \ submit a request at [Zuora Global Support](http://support.zuora.com/).\
          \ \n  \n"
        type: string
      batch:
        description: 'The customer batch to include in the billing preview run. If
          not specified, all customer batches are included.

          '
        maxLength: 255
        type: string
      chargeTypeToExclude:
        description: |
          The charge types to exclude from the forecast run.

          **Possible values:** OneTime, Recurring, Usage, and any comma-separated combination of these values.
        type: string
      includingEvergreenSubscription:
        description: 'Indicates if evergreen subscriptions are included in the billing
          preview run. By default, evergreen subscriptions are not included.

          '
        type: boolean
      targetDate:
        description: "The target date for the billing preview run. The billing preview\
          \ run generates preview invoice item data and credit memo item data from\
          \ the first day of the customer's next billing period to the TargetDate.\
          \ \n\nIf the TargetDate is later than the subscription current term end\
          \ date, the preview invoice item data and credit memo item data is generated\
          \ from the first day of the customer's next billing period to the current\
          \ term end date. If you want to generate preview invoice item data and credit\
          \ memo item data past the end of the subscription current term, specify\
          \ the AssumeRenewal field in the request.\n\n**Note:** The credit memo item\
          \ data is only available if you have Invoice Settlement feature enabled.\
          \ The Invoice Settlement feature is in **Limited Availability**. If you\
          \ wish to have access to the feature, submit a request at [Zuora Global\
          \ Support](http://support.zuora.com/).\n"
        format: date
        type: string
    required:
    - targetDate
    type: object
  PostCreditMemoEmailRequestType:
    example:
      emailAddresses: contact1@example.com,contact2@example.com
      includeAdditionalEmailAddresses: false
      useEmailTemplateSetting: false
    properties:
      emailAddresses:
        description: |
          The valid email addresses you want to email a credit memo to. Use commas to separate email addresses.

          **Note:** This field is only applicable if you set the `useEmailTemplateSetting` field to `false`.
        type: string
      includeAdditionalEmailAddresses:
        default: false
        description: "Indicates whether to send a credit memo to the additional email\
          \ addresses of the memo account. \n\n\nYou can set the additional email\
          \ addresses in the **Additional Email Addresses** field on the account detail\
          \ page from the Zuora UI. See [Create a Customer Account](https://knowledgecenter.zuora.com/BC_Subscription_Management/Customer_Accounts/B_Create_a_Customer_Account#section_2)\
          \ for more information.\n"
        enum:
        - true
        - false
        type: boolean
      useEmailTemplateSetting:
        default: false
        description: "Indicates whether to email a credit memo based on the email\
          \ template setting. \n\nIf you set this field to `true`, the credit memo\
          \ is sent to the email addresses specified in the **To Email** field of\
          \ the email template. The email template is the one you set in the **Delivery\
          \ Options** panel of the **Edit notification** dialog from the Zuora UI.\
          \ See [Edit Email Templates](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/Notifications/Create_Email_Templates)\
          \ for more information about how to edit the **To Email** field in the email\
          \ template.\n"
        enum:
        - true
        - false
        type: boolean
    type: object
  PostCustomObjectDefinitionFieldDefinitionRequest:
    properties:
      format:
        description: The data format of the custom field
        type: string
      label:
        description: The UI label of the custom field
        type: string
      type:
        description: The data type of the custom field
        type: string
    required:
    - type
    - label
    title: customObjectCustomFieldDefinition
    type: object
  PostCustomObjectDefinitionFieldsDefinitionRequest:
    additionalProperties:
      $ref: '#/definitions/PostCustomObjectDefinitionFieldDefinitionRequest'
    title: customObjectCustomFieldDefinitions
    type: object
  PostCustomObjectDefinitionRequest:
    example:
      label: Birth Place Custom Object
      object: birth_place_custom_object
      properties:
        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:
          city__c: Id
        namespace: default
        object: city
      - cardinality: manyToOne
        fields:
          state__c: Id
        namespace: default
        object: state
      required:
      - city__c
      - state__c
      - country__c
      type: object
    properties:
      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
          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
    required:
    - object
    - label
    type: object
  PostCustomObjectRecordsRequest:
    properties:
      records:
        description: A list of custom object records to be created
        example:
        - age__c: 32
          email__c: smith123@example.com
          home_address__c: 59b38ad1-27d4-40e8-af66-8c138bc382ee
          last_name__c: Smith
          marital_status__c: Married
          work_address__c: 8a19f16a-2b5e-4a26-bb20-c79cd6984714
        items:
          $ref: '#/definitions/CustomObjectRecordWithOnlyCustomFields'
        type: array
    required:
    - records
    type: object
  PostCustomObjectRecordsResponse:
    properties:
      records:
        description: The custom object records that are succesfully created and stored
        example:
        - CreatedById: 58bcc694-0b01-4c38-83d9-679891aee4dc
          CreatedDate: '2017-06-07T17:26:47.501Z'
          Id: f4f3d0a8-9d45-43d6-956c-4820f2de7559
          UpdatedById: 58bcc694-0b01-4c38-83d9-679891aee4dc
          UpdatedDate: '2017-06-07T17:26:47.501Z'
          age__c: 32
          email__c: smith123@example.com
          home_address__c: 59b38ad1-27d4-40e8-af66-8c138bc382ee
          last_name__c: Smith
          marital_status__c: Married
          type: person
          version: 1
          work_address__c: 8a19f16a-2b5e-4a26-bb20-c79cd6984714
        items:
          $ref: '#/definitions/CustomObjectRecordWithAllFields'
        type: array
      unprocessedRecords:
        description: The custom object records that are not successfully created and
          stored due to system errors. For example, the service is being throttled
          due to high traffic. You can try to load the unprocessed records again.
        example:
        - age__c: 32
          email__c: smith123@example.com
          home_address__c: 59b38ad1-27d4-40e8-af66-8c138bc382ee
          last_name__c: Smith
          marital_status__c: Married
          work_address__c: 8a19f16a-2b5e-4a26-bb20-c79cd6984714
        items:
          $ref: '#/definitions/CustomObjectRecordWithOnlyCustomFields'
        type: array
    required:
    - records
    - unprocessedRecords
    type: object
  PostDebitMemoEmailType:
    example:
      emailAddresses: contact1@example.com,contact2@example.com
      includeAdditionalEmailAddresses: false
      useEmailTemplateSetting: false
    properties:
      emailAddresses:
        description: |
          The valid email addresses you want to email a debit memo to. Use commas to separate email addresses.

          **Note:** This field is only applicable if you set the `useEmailTemplateSetting` field to `false`.
        type: string
      includeAdditionalEmailAddresses:
        default: false
        description: "Indicates whether to send a debit memo to the additional email\
          \ addresses of the memo account. \n\n\nYou can set the additional email\
          \ addresses in the **Additional Email Addresses** field on the account detail\
          \ page from the Zuora UI. See [Create a Customer Account](https://knowledgecenter.zuora.com/BC_Subscription_Management/Customer_Accounts/B_Create_a_Customer_Account#section_2)\
          \ for more information.\n"
        enum:
        - true
        - false
        type: boolean
      useEmailTemplateSetting:
        default: false
        description: "Indicates whether to email a debit memo based on the email template\
          \ setting. \n\nIf you set this field to `true`, the debit memo is sent to\
          \ the email addresses specified in the **To Email** field of the email template.\
          \ The email template is the one you set in the **Delivery Options** panel\
          \ of the **Edit notification** dialog from the Zuora UI. See [Edit Email\
          \ Templates](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/Notifications/Create_Email_Templates)\
          \ for more information about how to edit the **To Email** field in the email\
          \ template.\n"
        enum:
        - true
        - false
        type: boolean
    type: object
  PostEventTriggerRequest:
    example:
      active: true
      baseObject: Invoice
      condition: changeType == 'UPDATE' && Invoice.Status == 'Posted' && Invoice.Status_old
        != 'Posted' && Invoice.Amount > 1000
      description: Trigger an event when an invoice is posted with amount over 1000
      eventType:
        description: An invoice is posted with amount over 1000
        displayName: Large Invoice Posted
        name: LargeInvoicePosted
    properties:
      active:
        description: The status of the event trigger.
        type: boolean
      baseObject:
        description: 'The base object that the trigger rule is defined upon. Should
          be specified in the pattern: ^[A-Z][\\w\\-]*$'
        maxLength: 100
        minLength: 1
        type: string
      condition:
        description: The JEXL expression to be evaluated against object changes. See
          above for more information and an example.
        maxLength: 5000
        minLength: 1
        type: string
      description:
        description: The description of the event trigger.
        maxLength: 1000
        type: string
      eventType:
        $ref: '#/definitions/EventType'
    required:
    - baseObject
    - condition
    - eventType
    - active
    type: object
  PostGenerateBillingDocumentType:
    example:
      autoPost: false
      effectiveDate: '2017-05-23'
      subscriptionIds:
      - 4028905558b483220158b48983dd0015
      - 6028905558b483220158b68983dd0016
      targetDate: '2017-08-23'
    properties:
      autoPost:
        default: false
        description: "Whether to automatically post the billing documents after the\
          \ draft billing documents are generated. \n\nIf an error occurs during posting\
          \ billing documents, the draft billing documents are not generated too.\n"
        enum:
        - true
        - false
        type: boolean
      autoRenew:
        default: false
        description: "Whether to automatically renew the subscriptions with **Auto\
          \ Renew** set to **Yes**. \n"
        enum:
        - true
        - false
        type: boolean
      chargeTypeToExclude:
        description: "The types of the charges to be excluded from the generation\
          \ of billing documents. The field values are case insensitive. Supported\
          \ values include `onetime`, `recurring`, and `usage`. \n"
        items:
          type: string
        type: array
      effectiveDate:
        description: 'The date on which to generate the billing documents, in `yyyy-mm-dd`
          format.

          '
        format: date
        type: string
      subscriptionIds:
        description: "The IDs of the subscriptions that you want to create the billing\
          \ documents for. \n"
        items:
          type: string
        type: array
      targetDate:
        description: 'The date used to determine which charges are to be billed, in
          `yyyy-mm-dd` format.

          '
        format: date
        type: string
    type: object
  PostInvoiceEmailRequestType:
    example:
      emailAddresses: contact1@example.com,contact2@example.com
      includeAdditionalEmailAddresses: false
      useEmailTemplateSetting: false
    properties:
      emailAddresses:
        description: |
          The valid email addresses you want to email an invoice to. Use commas to separate email addresses.

          **Note:** This field is only applicable if you set the `useEmailTemplateSetting` field to `false`.
        type: string
      includeAdditionalEmailAddresses:
        default: false
        description: "Indicates whether to send an invoice to the additional email\
          \ addresses of the invoice account. \n\n\nYou can set the additional email\
          \ addresses in the **Additional Email Addresses** field on the account detail\
          \ page from the Zuora UI. See [Create a Customer Account](https://knowledgecenter.zuora.com/BC_Subscription_Management/Customer_Accounts/B_Create_a_Customer_Account#section_2)\
          \ for more information.\n"
        enum:
        - true
        - false
        type: boolean
      useEmailTemplateSetting:
        default: false
        description: "Indicates whether to email an invoice based on the email template\
          \ setting. \n\nIf you set this field to `true`, the invoice is sent to the\
          \ email addresses specified in the **To Email** field of the email template.\
          \ The email template is the one you set in the **Delivery Options** panel\
          \ of the **Edit notification** dialog from the Zuora UI. See [Edit Email\
          \ Templates](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/Notifications/Create_Email_Templates)\
          \ for more information about how to edit the **To Email** field in the email\
          \ template.\n"
        enum:
        - true
        - false
        type: boolean
    type: object
  PostNonRefRefundType:
    allOf:
    - properties:
        comment:
          description: 'Comments about the refund.

            '
          maxLength: 255
          minLength: 0
          type: string
        financeInformation:
          description: 'Container for the finance information related to the refund.

            '
          properties:
            bankAccountAccountingCode:
              description: 'The accounting code that maps to a bank account in your
                accounting system.

                '
              maxLength: 100
              minLength: 0
              type: string
            onAccountAccountingCode:
              description: 'The accounting code that maps to an on account in your
                accounting system.

                '
              maxLength: 100
              minLength: 0
              type: string
            transferredToAccounting:
              description: "Whether the refund was transferred to an external accounting\
                \ system. Use this field for integration with accounting systems,\
                \ such as NetSuite. \n"
              enum:
              - Processing
              - 'Yes'
              - 'No'
              - Error
              - Ignore
              type: string
            unappliedPaymentAccountingCode:
              description: 'The accounting code for the unapplied payment.

                '
              maxLength: 100
              minLength: 0
              type: string
          type: object
        gatewayId:
          description: "The ID of the gateway instance that processes the refund.\
            \ This field can be specified only for electronic refunds. The ID must\
            \ be a valid gateway instance ID, and this gateway must support the specific\
            \ payment method. \n\nIf no gateway ID is specified, the default gateway\
            \ in the billing account configuration will be used. If no gateway is\
            \ specified in the billing account, the default gateway of the corresponding\
            \ tenant will be used.\n"
          type: string
        items:
          description: |
            Container for credit memo items.

            **Note:** The Invoice Item Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).
          items:
            $ref: '#/definitions/RefundCreditMemoItemType'
          type: array
        methodType:
          description: 'How an external refund was issued to a customer. This field
            is required for an external refund and must be left empty for an electronic
            refund. You can issue an external refund on a credit memo.

            '
          enum:
          - ACH
          - Cash
          - Check
          - CreditCard
          - PayPal
          - WireTransfer
          - DebitCard
          - CreditCardReferenceTransaction
          - BankTransfer
          - Other
          type: string
        paymentMethodId:
          description: "The ID of the payment method used for the refund. This field\
            \ is required for an electronic refund, and the value must be an electronic\
            \ payment method ID. This field must be left empty for an external refund.\
            \ \n"
          type: string
        reasonCode:
          description: 'A code identifying the reason for the transaction. The value
            must be an existing reason code or empty. If you do not specify a value,
            Zuora uses the default reason code.

            '
          type: string
        referenceId:
          description: 'The transaction ID returned by the payment gateway for an
            electronic refund. Use this field to reconcile refunds between your gateway
            and Zuora Payments.

            '
          maxLength: 60
          minLength: 0
          type: string
        refundDate:
          description: 'The date when the refund takes effect, in `yyyy-mm-dd` format.
            The date of the refund cannot be before the credit memo date. Specify
            this field only for external refunds. Zuora automatically generates this
            field for electronic refunds.

            '
          format: date
          type: string
        secondRefundReferenceId:
          description: 'The transaction ID returned by the payment gateway if there
            is an additional transaction for the refund. Use this field to reconcile
            payments between your gateway and Zuora Payments.

            '
          maxLength: 60
          minLength: 0
          type: string
        totalAmount:
          description: 'The total amount of the refund. The amount cannot exceed the
            unapplied amount of the associated credit memo. If the original credit
            memo was applied to one or more invoices or debit memos, you have to unapply
            a full or partial credit memo from the invoices or debit memos, and then
            refund the full or partial unapplied credit memo to your customers.

            '
          format: double
          type: number
        type:
          description: 'The type of the refund.

            '
          enum:
          - External
          - Electronic
          type: string
      required:
      - totalAmount
      - type
      type: object
    - $ref: '#/definitions/RefundObjectNSFields'
    - $ref: '#/definitions/RefundObjectCustomFields'
    example:
      items:
      - amount: 7
        creditMemoItemId: 4028905f5a890526015a8d73f74b0016
      - amount: 0.1
        creditTaxItemId: 4028905f5a890526015a8d73f90c0018
      methodType: CreditCard
      refundDate: '2017-03-02'
      totalAmount: 7.1
      type: External
  PostOrderPreviewResponseType:
    allOf:
    - $ref: '#/definitions/CommonResponseType'
    - properties:
        previewResult:
          $ref: '#/definitions/PreviewResult'
      type: object
  PostOrderResponseType:
    allOf:
    - $ref: '#/definitions/CommonResponseType'
    - properties:
        accountId:
          description: The account ID for the order. This field is returned instead
            of the `accountNumber` field if the `returnIds` query parameter is set
            to `true`.
          type: string
        accountNumber:
          description: The account number for the order.
          type: string
        creditMemoIds:
          description: An array of the credit memo IDs generated in this order request.
            The credit memo is only available if you have the Invoice Settlement feature
            enabled. This field is returned instead of the `creditMemoNumbers` field
            if the `returnIds` query parameter is set to `true`.
          items:
            type: string
          type: array
        creditMemoNumbers:
          description: An array of the credit memo numbers generated in this order
            request. The credit memo is only available if you have the Invoice Settlement
            feature enabled.
          items:
            type: string
          type: array
        invoiceIds:
          description: An array of the invoice IDs generated in this order request.
            Normally it includes one invoice ID only, but can include multiple items
            when a subscription was tagged as invoice separately. This field is returned
            instead of the `invoiceNumbers` field if the `returnIds` query parameter
            is set to `true`.
          items:
            type: string
          type: array
        invoiceNumbers:
          description: An array of the invoice numbers generated in this order request.
            Normally it includes one invoice number only, but can include multiple
            items when a subscription was tagged as invoice separately.
          items:
            type: string
          type: array
        orderId:
          description: The ID of the order created. This field is returned instead
            of the `orderNumber` field if the `returnIds` query parameter is set to
            `true`.
          type: string
        orderNumber:
          description: The order number of the order created.
          type: string
        paidAmount:
          description: The total amount collected in this order request.
          type: string
        paymentId:
          description: The payment Id that collected in this order request. This field
            is returned instead of the `paymentNumber` field if the `returnIds` query
            parameter is set to `true`.
          type: string
        paymentNumber:
          description: The payment number that collected in this order request.
          type: string
        status:
          description: Status of the order. `Pending` is only applicable for an order
            that contains a `CreateSubscription` order action.
          enum:
          - Completed
          - Pending
          type: string
        subscriptionIds:
          description: "**Note:** This field is in Zuora REST API version control.\
            \ Supported minor versions are 222.4 or earlier. To use this field in\
            \ the method, you must set the\_`zuora-version` parameter to the minor\
            \ version number in the request header.\n\nContainer for the subscription\
            \ IDs of the subscriptions in an order. This field is returned instead\
            \ of the `subscriptionNumbers` field if the `returnIds` query parameter\
            \ is set to `true`.\n"
          items:
            type: string
          type: array
        subscriptionNumbers:
          description: "**Note:** This field is in Zuora REST API version control.\
            \ Supported minor versions are 222.4 or earlier. To use this field in\
            \ the method, you must set the\_`zuora-version` parameter to the minor\
            \ version number in the request header.\n\nContainer for the subscription\
            \ numbers of the subscriptions in an order.\n"
          items:
            type: string
          type: array
        subscriptions:
          description: "**Note:** This field is in Zuora REST API version control.\
            \ Supported minor versions are 223.0 or later. To use this field in the\
            \ method, you must set the\_`zuora-version` parameter to the minor version\
            \ number in the request header.\n\nContainer for the subscription numbers\
            \ and statuses in an order.\n"
          items:
            properties:
              status:
                description: Status of the subscription. `Pending Activation` and
                  `Pending Acceptance` are only applicable for an order that contains
                  a `CreateSubscription` order action.
                enum:
                - Active
                - Pending Activation
                - Pending Acceptance
                - Cancelled
                - Suspended
                type: string
              subscriptionId:
                description: Subscription ID of the subscription included in this
                  order. This field is returned instead of the `subscriptionNumber`
                  field if the `returnIds` query parameter is set to `true`.
                type: string
              subscriptionNumber:
                description: Subscription number of the subscription included in this
                  order.
                type: string
            type: object
          type: array
      type: object
  PostRefundType:
    allOf:
    - properties:
        comment:
          description: 'Comments about the refund.

            '
          maxLength: 255
          minLength: 0
          type: string
        financeInformation:
          description: 'Container for the finance information related to the refund.

            '
          properties:
            bankAccountAccountingCode:
              description: 'The accounting code that maps to a bank account in your
                accounting system.

                '
              maxLength: 100
              minLength: 0
              type: string
            transferredToAccounting:
              description: "Whether the refund was transferred to an external accounting\
                \ system. Use this field for integration with accounting systems,\
                \ such as NetSuite. \n"
              enum:
              - Processing
              - 'Yes'
              - 'No'
              - Error
              - Ignore
              type: string
            unappliedPaymentAccountingCode:
              description: 'The accounting code for the unapplied payment.

                '
              maxLength: 100
              minLength: 0
              type: string
          type: object
        methodType:
          description: 'How an external refund was issued to a customer. This field
            is required for an external refund and must be left empty for an electronic
            refund. You can issue an external refund on an electronic payment.

            '
          enum:
          - ACH
          - Cash
          - Check
          - CreditCard
          - PayPal
          - WireTransfer
          - DebitCard
          - CreditCardReferenceTransaction
          - BankTransfer
          - Other
          type: string
        reasonCode:
          description: 'A code identifying the reason for the transaction. The value
            must be an existing reason code or empty. If you do not specify a value,
            Zuora uses the default reason code.

            '
          type: string
        referenceId:
          description: 'The transaction ID returned by the payment gateway for an
            electronic refund. Use this field to reconcile refunds between your gateway
            and Zuora Payments.

            '
          maxLength: 60
          minLength: 0
          type: string
        refundDate:
          description: 'The date when the refund takes effect, in `yyyy-mm-dd` format.
            The date of the refund cannot be before the payment date. Specify this
            field only for external refunds. Zuora automatically generates this field
            for electronic refunds.

            '
          format: date
          type: string
        secondRefundReferenceId:
          description: 'The transaction ID returned by the payment gateway if there
            is an additional transaction for the refund. Use this field to reconcile
            payments between your gateway and Zuora Payments.

            '
          maxLength: 60
          minLength: 0
          type: string
        totalAmount:
          description: "The total amount of the refund. The amount cannot exceed the\
            \ unapplied amount of the associated payment. If the original payment\
            \ was applied to one or more invoices or debit memos, you have to unapply\
            \ a full or partial payment from the invoices or debit memos, and then\
            \ refund the full or partial unapplied payment to your customers. \n"
          format: double
          type: number
        type:
          description: 'The type of the refund.

            '
          enum:
          - External
          - Electronic
          type: string
      required:
      - totalAmount
      - type
      type: object
    - $ref: '#/definitions/RefundObjectNSFields'
    - $ref: '#/definitions/RefundObjectCustomFields'
    example:
      comment: Create a refund for unapplied payment.
      methodType: CreditCard
      reasonCode: Standard Refund
      refundDate: '2017-03-01'
      totalAmount: 4
      type: External
  PreviewAccountInfo:
    description: 'Information about the account that will own the order.

      '
    properties:
      billCycleDay:
        description: Day of the month that the account prefers billing periods to
          begin on. If set to 0, the bill cycle day will be set as "AutoSet".
        maximum: 31
        minimum: 0
        type: integer
      currency:
        description: 'ISO 3-letter currency code (uppercase). For example, USD.

          '
        maxLength: 3
        type: string
      customFields:
        $ref: '#/definitions/AccountObjectCustomFields'
      soldToContact:
        $ref: '#/definitions/PreviewContactInfo'
      taxInfo:
        $ref: '#/definitions/TaxInfo'
    required:
    - currency
    - billCycleDay
    title: previewAccountInfo
    type: object
  PreviewContactInfo:
    properties:
      city:
        maxLength: 40
        type: string
      country:
        description: Country; must be a valid country name or abbreviation. If using
          Zuora Tax, you must specify a country to calculate tax.
        maxLength: 64
        type: string
      county:
        maxLength: 32
        type: string
      postalCode:
        maxLength: 20
        type: string
      state:
        maxLength: 40
        type: string
      taxRegion:
        maxLength: 32
        type: string
    type: object
  PreviewOptions:
    properties:
      previewThruType:
        description: "The options on how the preview through date is calculated. Available\
          \ for preview only. The 'TermEnd' option is invalid when any subscription\
          \ included in this order is evergreen. \n\n\nIf set the value of this field\
          \ to 'SpecificDate', you must specify a specific date in the 'specificPreviewThruDate'\
          \ field.\n"
        enum:
        - SpecificDate
        - TermEnd
        type: string
      previewTypes:
        description: |
          One or more types of the preview. It can include:

          * ChargeMetrics: charge level metrics will be returned in the response, including: `cmrr`, `tcv`, `tcb`, and `tax`.
          * BillingDocs: `invoices` and `creditMemos` will be returned in the response. Note `creditMemos` is only available if the Invoice Settlement feature is enabled.
          * OrderMetrics: order metrics will be returned in the response, including: `quantity`, `mrr`, `tcb`, `tcv`, and `elp`.
        items:
          enum:
          - ChargeMetrics
          - BillingDocs
          - OrderMetrics
          type: string
        type: array
      specificPreviewThruDate:
        description: |
          The end date of the order preview. You can preview the invoice charges through the preview through date. (Invoice preview only)


          **Note:** This field is only applicable if the 'previewThruType' field is set to 'SpecificDate'.
        format: date
        type: string
    type: object
  PreviewOrderChargeOverride:
    description: 'Charge associated with a rate plan.

      '
    properties:
      billing:
        description: 'Billing information about the charge.

          '
        properties:
          billCycleDay:
            description: 'Day of the month that each billing period begins on. Only
              applicable if the value of the `billCycleType` field is `SpecificDayofMonth`.

              '
            maximum: 31
            minimum: 0
            type: integer
          billCycleType:
            description: |
              Specifies how Zuora determines the day that each billing period begins on.

                * `DefaultFromCustomer` - Each billing period begins on the bill cycle day of the account that owns the subscription.
                * `SpecificDayofMonth` - Use the `billCycleDay` field to specify the day of the month that each billing period begins on.
                * `SubscriptionStartDay` - Each billing period begins on the same day of the month as the start date of the subscription.
                * `ChargeTriggerDay` - Each billing period begins on the same day of the month as the date when the charge becomes active.
                * `SpecificDayofWeek` - Use the `weeklyBillCycleDay` field to specify the day of the week that each billing period begins on.
            enum:
            - DefaultFromCustomer
            - SpecificDayofMonth
            - SubscriptionStartDay
            - ChargeTriggerDay
            - SpecificDayofWeek
            type: string
          billingPeriod:
            description: |
              Billing frequency of the charge. The value of this field controls the duration of each billing period.

              If the value of this field is `Specific_Months` or `Specific_Weeks`, use the `specificBillingPeriod` field to specify the duration of each billing period.
            enum:
            - Month
            - Quarter
            - Semi_Annual
            - Annual
            - Eighteen_Months
            - Two_Years
            - Three_Years
            - Five_Years
            - Specific_Months
            - Subscription_Term
            - Week
            - Specific_Weeks
            type: string
          billingPeriodAlignment:
            description: |
              Specifies how Zuora determines when to start new billing periods. You can use this field to align the billing periods of different charges.

              * `AlignToCharge` - Zuora starts a new billing period on the first billing day that falls on or after the date when the charge becomes active.
              * `AlignToSubscriptionStart` - Zuora starts a new billing period on the first billing day that falls on or after the start date of the subscription.
              * `AlignToTermStart` - For each term of the subscription, Zuora starts a new billing period on the first billing day that falls on or after the start date of the term.

              See the `billCycleType` field for information about how Zuora determines the billing day.
            enum:
            - AlignToCharge
            - AlignToSubscriptionStart
            - AlignToTermStart
            type: string
          billingTiming:
            description: 'Specifies whether to invoice for a billing period on the
              first day of the billing period (billing in advance) or the first day
              of the next billing period (billing in arrears).

              '
            enum:
            - IN_ADVANCE
            - IN_ARREARS
            type: string
          specificBillingPeriod:
            description: 'Duration of each billing period in months or weeks, depending
              on the value of the `billingPeriod` field. Only applicable if the value
              of the `billingPeriod` field is `Specific_Months` or `Specific_Weeks`.

              '
            type: integer
          weeklyBillCycleDay:
            description: 'Day of the week that each billing period begins on. Only
              applicable if the value of the `billCycleType` field is `SpecificDayofWeek`.

              '
            enum:
            - Sunday
            - Monday
            - Tuesday
            - Wednesday
            - Thursday
            - Friday
            - Saturday
            type: string
        type: object
      chargeNumber:
        description: |
          Charge number of the charge. For example, C-00000307.

          If you do not set this field, Zuora will generate the charge number.
        maxLength: 50
        type: string
      customFields:
        $ref: '#/definitions/RatePlanChargeObjectCustomFields'
      description:
        description: 'Description of the charge.

          '
        maxLength: 500
        type: string
      endDate:
        $ref: '#/definitions/EndConditions'
      pricing:
        description: 'Pricing information about the charge.

          '
        properties:
          discount:
            $ref: '#/definitions/DiscountPricingOverride'
          oneTimeFlatFee:
            $ref: '#/definitions/OneTimeFlatFeePricingOverride'
          oneTimePerUnit:
            $ref: '#/definitions/OneTimePerUnitPricingOverride'
          oneTimeTiered:
            $ref: '#/definitions/OneTimeTieredPricingOverride'
          oneTimeVolume:
            $ref: '#/definitions/OneTimeVolumePricingOverride'
          recurringFlatFee:
            $ref: '#/definitions/RecurringFlatFeePricingOverride'
          recurringPerUnit:
            $ref: '#/definitions/RecurringPerUnitPricingOverride'
          recurringTiered:
            $ref: '#/definitions/RecurringTieredPricingOverride'
          recurringVolume:
            $ref: '#/definitions/RecurringVolumePricingOverride'
          usageFlatFee:
            $ref: '#/definitions/UsageFlatFeePricingOverride'
          usageOverage:
            $ref: '#/definitions/UsageOveragePricingOverride'
          usagePerUnit:
            $ref: '#/definitions/UsagePerUnitPricingOverride'
          usageTiered:
            $ref: '#/definitions/UsageTieredPricingOverride'
          usageTieredWithOverage:
            $ref: '#/definitions/UsageTieredWithOveragePricingOverride'
          usageVolume:
            $ref: '#/definitions/UsageVolumePricingOverride'
        type: object
      productRatePlanChargeId:
        description: 'Internal identifier of the product rate plan charge that the
          charge is based on.

          '
        type: string
      revRecCode:
        description: 'Revenue Recognition Code

          '
        maxLength: 70
        type: string
      revRecTriggerCondition:
        description: "Specifies the revenue recognition trigger condition.\n\n  *\
          \ `Contract Effective Date` \n  * `Service Activation Date`\n  * `Customer\
          \ Acceptance Date`\n"
        enum:
        - Contract Effective Date
        - Service Activation Date
        - Customer Acceptance Date
        type: string
      revenueRecognitionRuleName:
        description: "Specifies the revenue recognition rule.\n\n  * `Recognize upon\
          \ invoicing` \n  * `Recognize daily over time`\n"
        enum:
        - Recognize upon invoicing
        - Recognize daily over time
        type: string
      startDate:
        $ref: '#/definitions/PreviewOrderTriggerParams'
      uniqueToken:
        description: |
          Unique identifier for the charge. This identifier enables you to refer to the charge before the charge has an internal identifier in Zuora.

          For instance, suppose that you want to use a single order to add a product to a subscription and later update the same product. When you add the product, you can set a unique identifier for the charge. Then when you update the product, you can use the same unique identifier to specify which charge to modify.
        maxLength: 50
        type: string
    required:
    - productRatePlanChargeId
    title: charge
    type: object
  PreviewOrderChargeUpdate:
    properties:
      billing:
        $ref: '#/definitions/BillingUpdate'
      chargeNumber:
        description: 'Read only. Identifies the charge to be updated.

          '
        type: string
      customFields:
        $ref: '#/definitions/RatePlanChargeObjectCustomFields'
      description:
        type: string
      effectiveDate:
        $ref: '#/definitions/PreviewOrderTriggerParams'
      pricing:
        $ref: '#/definitions/PreviewOrderPricingUpdate'
      uniqueToken:
        description: 'A unique string to represent the rate plan charge in the order.
          The unique token is used to perform multiple actions against a newly added
          rate plan. For example, if you want to add and update a product in the same
          order, you would assign a unique token to the product rate plan when added
          and use that token in future order actions.

          '
        type: string
    type: object
  PreviewOrderCreateSubscription:
    description: 'Information about an order action of type `CreateSubscription`.

      '
    properties:
      invoiceSeparately:
        description: 'Specifies whether the subscription appears on a separate invoice
          when Zuora generates invoices.

          '
        type: boolean
      newSubscriptionOwnerAccount:
        description: |
          Information about a new account that will own the subscription. Only available if you have enabled the Owner Transfer feature.

          **Note:** The Owner Transfer feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

          If you do not set this field or the `subscriptionOwnerAccountNumber` field, the account that owns the order will also own the subscription. Zuora will return an error if you set this field and the `subscriptionOwnerAccountNumber` field.
        properties:
          accountNumber:
            description: 'Account number. For example, A00000001.

              '
            maxLength: 70
            type: string
          additionalEmailAddresses:
            description: 'List of additional email addresses to receive emailed invoices.
              Values should be a comma-separated list of email addresses.

              '
            maxLength: 1200
            type: string
          allowInvoiceEdit:
            description: "Indicates if associated invoices can be edited.\nValues\
              \ are: \n\n* `true`\n* `false` (default)\n"
            type: boolean
          autoPay:
            description: 'Specifies whether future payments are automatically billed
              when they are due.

              '
            type: boolean
          batch:
            description: 'Name of the billing batch that the account belongs to. For
              example, Batch1.

              '
            type: string
          billCycleDay:
            description: 'Day of the month that the account prefers billing periods
              to begin on. If set to 0, the bill cycle day will be set as "AutoSet".

              '
            maximum: 31
            minimum: 0
            type: integer
          billToContact:
            $ref: '#/definitions/BillToContactPostOrder'
          communicationProfileId:
            description: 'Internal identifier of the communication profile that Zuora
              uses when sending notifications to the account''s contacts.

              '
            type: string
          creditCard:
            $ref: '#/definitions/creditCard'
          creditMemoTemplateId:
            description: |
              **Note**: This field is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

              The unique ID of the credit memo template, configured in **Billing Settings** > **Manage Billing Document Configuration** through the Zuora UI. For example, 2c92c08a6246fdf101626b1b3fe0144b.
            type: string
          crmId:
            description: 'External identifier of the account in a CRM system.

              '
            maxLength: 100
            type: string
          currency:
            description: 'ISO 3-letter currency code (uppercase). For example, USD.

              '
            type: string
          customFields:
            $ref: '#/definitions/AccountObjectCustomFields'
          customerServiceRepName:
            description: 'Name of the account''s customer service representative,
              if applicable.

              '
            maxLength: 50
            type: string
          debitMemoTemplateId:
            description: |
              **Note**: This field is only available if you have the Invoice Settlement feature enabled. The Invoice Settlement feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

              The unique ID of the debit memo template, configured in **Billing Settings** > **Manage Billing Document Configuration** through the Zuora UI. For example, 2c92c08d62470a8501626b19d24f19e2.
            type: string
          hpmCreditCardPaymentMethodId:
            description: 'Internal identifier of the hosted payment method (HPM) credit
              card payment method associated with the account.

              '
            type: string
          invoiceDeliveryPrefsEmail:
            description: "Specifies whether to turn on the invoice delivery method\
              \ 'Email' for the new account. \nValues are: \n\n* `true` (default).\
              \ Turn on the invoice delivery method 'Email' for the new account.\n\
              * `false`. Turn off the invoice delivery method 'Email' for the new\
              \ account.         \n"
            type: boolean
          invoiceDeliveryPrefsPrint:
            description: "Specifies whether to turn on the invoice delivery method\
              \ 'Print' for the new account.\nValues are: \n\n* `true`. Turn on the\
              \ invoice delivery method 'Print' for the new account.\n* `false` (default).\
              \ Turn off the invoice delivery method 'Print' for the new account.\n"
            type: boolean
          invoiceTemplateId:
            description: 'Internal identifier of the invoice template that Zuora uses
              when generating invoices for the account.

              '
            type: string
          name:
            description: 'Account name.

              '
            maxLength: 255
            type: string
          notes:
            description: 'Notes about the account. These notes are only visible to
              Zuora users.

              '
            maxLength: 65535
            type: string
          parentId:
            description: Identifier of the parent customer account for this Account
              object. Use this field if you have customer hierarchy enabled.
            type: string
          paymentGateway:
            description: 'The payment gateway that Zuora uses when processing electronic
              payments and refunds for the account. If you do not specify this field
              or if the value of this field is null, Zuora uses your default payment
              gateway.

              '
            maxLength: 40
            type: string
          paymentMethod:
            $ref: '#/definitions/PaymentMethod'
          paymentTerm:
            description: 'Name of the payment term associated with the account. For
              example, "Net 30". The payment term determines the due dates of invoices.

              '
            type: string
          purchaseOrderNumber:
            description: 'The number of the purchase order associated with this account.
              Purchase order information generally comes from customers.

              '
            maxLength: 100
            type: string
          salesRep:
            description: 'The name of the sales representative associated with this
              account, if applicable.

              '
            maxLength: 50
            type: string
          soldToContact:
            $ref: '#/definitions/SoldToContactPostOrder'
          taxInfo:
            $ref: '#/definitions/TaxInfo'
        required:
        - name
        - currency
        - billCycleDay
        - billToContact
        type: object
      notes:
        description: 'Notes about the subscription. These notes are only visible to
          Zuora users.

          '
        maxLength: 500
        type: string
      subscribeToRatePlans:
        description: 'List of rate plans associated with the subscription.

          '
        items:
          $ref: '#/definitions/PreviewOrderRatePlanOverride'
        type: array
      subscriptionNumber:
        description: |
          Subscription number of the subscription. For example, A-S00000001.

          If you do not set this field, Zuora will generate the subscription number.
        maxLength: 100
        type: string
      subscriptionOwnerAccountNumber:
        description: |
          Account number of an existing account that will own the subscription. For example, A00000001.

          If you do not set this field or the `newSubscriptionOwnerAccount` field, the account that owns the order will also own the subscription. Zuora will return an error if you set this field and the `newSubscriptionOwnerAccount` field.
        maxLength: 70
        type: string
      terms:
        description: 'Container for the terms and renewal settings of the subscription.

          '
        properties:
          autoRenew:
            description: 'Specifies whether the subscription automatically renews
              at the end of the each term. Only applicable if the type of the first
              term is `TERMED`.

              '
            type: boolean
          initialTerm:
            description: 'Information about the first term of the subscription.

              '
            properties:
              period:
                description: |
                  Duration of the first term in months, years, days, or weeks, depending on the value of the `periodType` field. Only applicable if the value of the `termType` field is `TERMED`.

                  The duration of the first term cannot be greater than 10 years.
                type: integer
              periodType:
                description: 'Unit of time that the first term is measured in. Only
                  applicable if the value of the `termType` field is `TERMED`.

                  '
                enum:
                - Month
                - Year
                - Day
                - Week
                type: string
              startDate:
                description: 'Start date of the first term, in YYYY-MM-DD format.

                  '
                format: date
                type: string
              termType:
                description: 'Type of the first term. If the value of this field is
                  `TERMED`, the first term has a predefined duration based on the
                  value of the `period` field. If the value of this field is `EVERGREEN`,
                  the first term does not have a predefined duration.

                  '
                enum:
                - TERMED
                - EVERGREEN
                type: string
            required:
            - termType
            type: object
          renewalSetting:
            description: |
              Specifies the type of the terms that follow the first term if the subscription is renewed. Only applicable if the type of the first term is `TERMED`.

              * `RENEW_WITH_SPECIFIC_TERM` - Each renewal term has a predefined duration. The first entry in `renewalTerms` specifies the duration of the second term of the subscription, the second entry in `renewalTerms` specifies the duration of the third term of the subscription, and so on. The last entry in `renewalTerms` specifies the ultimate duration of each renewal term.
              * `RENEW_TO_EVERGREEN` - The second term of the subscription does not have a predefined duration.
            enum:
            - RENEW_WITH_SPECIFIC_TERM
            - RENEW_TO_EVERGREEN
            type: string
          renewalTerms:
            description: 'List of renewal terms of the subscription. Only applicable
              if the type of the first term is `TERMED` and the value of the `renewalSetting`
              field is `RENEW_WITH_SPECIFIC_TERM`.

              '
            items:
              $ref: '#/definitions/RenewalTerm'
            type: array
        required:
        - initialTerm
        type: object
    title: createSubscription
    type: object
  PreviewOrderOrderAction:
    properties:
      addProduct:
        $ref: '#/definitions/PreviewOrderRatePlanOverride'
      cancelSubscription:
        $ref: '#/definitions/CancelSubscription'
      createSubscription:
        $ref: '#/definitions/PreviewOrderCreateSubscription'
      customFields:
        $ref: '#/definitions/OrderActionObjectCustomFields'
      ownerTransfer:
        $ref: '#/definitions/OwnerTransfer'
      removeProduct:
        $ref: '#/definitions/RemoveProduct'
      resume:
        $ref: '#/definitions/CreateOrderResume'
      suspend:
        $ref: '#/definitions/CreateOrderSuspend'
      termsAndConditions:
        $ref: '#/definitions/CreateOrderTermsAndConditions'
      triggerDates:
        description: "Container for the contract effective, service activation, and\
          \ customer acceptance dates of the order action. \n\nIf the service activation\
          \ date is set as a required field in Default Subscription Settings, skipping\
          \ this field in a `CreateSubscription` order action of your JSON request\
          \ will result in a `Pending` order and a `Pending Activation` subscription.\n\
          \nIf the customer acceptance date is set as a required field in Default\
          \ Subscription Settings, skipping this field in a `CreateSubscription` order\
          \ action of your JSON request will result in a `Pending` order and a `Pending\
          \ Acceptance` subscription. If the service activation date field is at the\
          \ same time required and skipped (or set as null), it will be a `Pending\
          \ Activation` subscription.\n"
        items:
          $ref: '#/definitions/TriggerDate'
        type: array
      type:
        description: |
          Type of order action.

          Unless the type of order action is `RenewSubscription`, you must use the corresponding field to provide information about the order action. For example, if the type of order action is `AddProduct`, you must set the `addProduct` field.

          Zuora returns an error if you set a field that corresponds to a different type of order action. For example, if the type of order action is `AddProduct`, Zuora returns an error if you set the `updateProduct` field.
        enum:
        - CreateSubscription
        - TermsAndConditions
        - AddProduct
        - UpdateProduct
        - RemoveProduct
        - RenewSubscription
        - CancelSubscription
        - OwnerTransfer
        - Suspend
        - Resume
        type: string
      updateProduct:
        $ref: '#/definitions/PreviewOrderRatePlanUpdate'
    required:
    - type
    type: object
  PreviewOrderPricingUpdate:
    properties:
      discount:
        $ref: '#/definitions/DiscountPricingUpdate'
      recurringFlatFee:
        $ref: '#/definitions/RecurringFlatFeePricingUpdate'
      recurringPerUnit:
        $ref: '#/definitions/RecurringPerUnitPricingUpdate'
      recurringTiered:
        $ref: '#/definitions/RecurringTieredPricingUpdate'
      recurringVolume:
        $ref: '#/definitions/RecurringVolumePricingUpdate'
      usageFlatFee:
        $ref: '#/definitions/UsageFlatFeePricingUpdate'
      usageOverage:
        $ref: '#/definitions/UsageOveragePricingUpdate'
      usagePerUnit:
        $ref: '#/definitions/UsagePerUnitPricingUpdate'
      usageTiered:
        $ref: '#/definitions/UsageTieredPricingUpdate'
      usageTieredWithOverage:
        $ref: '#/definitions/UsageTieredWithOveragePricingUpdate'
      usageVolume:
        $ref: '#/definitions/UsageVolumePricingUpdate'
    type: object
  PreviewOrderRatePlanOverride:
    description: 'Rate plan associated with a subscription.

      '
    properties:
      chargeOverrides:
        description: 'List of charges associated with the rate plan.

          '
        items:
          $ref: '#/definitions/PreviewOrderChargeOverride'
        type: array
      customFields:
        $ref: '#/definitions/RatePlanObjectCustomFields'
      productRatePlanId:
        description: 'Internal identifier of the product rate plan that the rate plan
          is based on.

          '
        type: string
      uniqueToken:
        description: |
          Unique identifier for the rate plan. This identifier enables you to refer to the rate plan before the rate plan has an internal identifier in Zuora.

          For instance, suppose that you want to use a single order to add a product to a subscription and later update the same product. When you add the product, you can set a unique identifier for the rate plan. Then when you update the product, you can use the same unique identifier to specify which rate plan to modify.
        maxLength: 50
        type: string
    required:
    - productRatePlanId
    title: ratePlan
    type: object
  PreviewOrderRatePlanUpdate:
    description: 'Information about an order action of type `UpdateProduct`.

      '
    properties:
      chargeUpdates:
        description: |
          Array of the JSON objects containing the information for a charge update in the `updateProduct` type of order action.

          When previewing an `updateProduct` order action, either the `chargeNumber` or `uniqueToken` field is required to specify the charge to update.
        items:
          $ref: '#/definitions/PreviewOrderChargeUpdate'
        type: array
      customFields:
        $ref: '#/definitions/RatePlanObjectCustomFields'
      ratePlanId:
        description: 'The id of the rate plan to be updated. It can be the latest
          version or any history version id.

          '
        type: string
      specificUpdateDate:
        description: |2

          The date when the Update Product order action takes effect. This field is only applicable if there is already a future-dated Update Product order action on the subscription. The format of the date is yyyy-mm-dd.

          See [Update a Product on Subscription with Future-dated Updates](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AC_Orders_Tutorials/C_Update_a_Product_in_a_Subscription/Update_a_Product_on_Subscription_with_Future-dated_Updates) for more information about this feature.
        format: date
        type: string
      uniqueToken:
        description: 'A unique string to represent the rate plan charge in the order.
          The unique token is used to perform multiple actions against a newly added
          rate plan. For example, if you want to add and update a product in the same
          order, you would assign a unique token to the product rate plan when added
          and use that token in future order actions.

          '
        type: string
    title: updateProduct
    type: object
  PreviewOrderTriggerParams:
    description: 'Specifies when a charge becomes active.

      '
    properties:
      specificTriggerDate:
        description: "Date in YYYY-MM-DD format. Only applicable if the value of the\
          \ `triggerEvent` field is `SpecificDate`. \n\nWhile this field is applicable,\
          \ if this field is not set, your `CreateSubscription` order action creates\
          \ a `Pending` order and a `Pending Acceptance` subscription. If at the same\
          \ time the service activation date is required and not set, a `Pending Activation`\
          \ subscription is created.\n"
        format: date
        type: string
      triggerEvent:
        description: |
          Condition for the charge to become active.

          If the value of this field is `SpecificDate`, use the `specificTriggerDate` field to specify the date when the charge becomes active.
        enum:
        - ContractEffective
        - ServiceActivation
        - CustomerAcceptance
        - SpecificDate
        type: string
    title: startDate
    type: object
  PreviewResult:
    description: The result of each type of preview. Returned only when the current
      request is preview call.
    properties:
      chargeMetrics:
        items:
          properties:
            charges:
              items:
                $ref: '#/definitions/ChargePreviewMetrics'
              type: array
            subscriptionNumber:
              description: The number of the subscription that has been affected by
                this order. When creating a subscription, this value will not show
                if the subscription number was not specified in the request.
              type: string
          type: object
        type: array
      creditMemos:
        description: This field is only available if you have the Invoice Settlement
          feature enabled.
        items:
          properties:
            amount:
              type: number
            amountWithoutTax:
              type: number
            creditMemoItems:
              items:
                $ref: '#/definitions/InvoiceItemPreviewResult'
              type: array
            targetDate:
              format: date
              type: string
            taxAmount:
              type: number
          type: object
        type: array
      invoices:
        items:
          properties:
            amount:
              type: number
            amountWithoutTax:
              type: number
            invoiceItems:
              items:
                $ref: '#/definitions/InvoiceItemPreviewResult'
              type: array
            targetDate:
              format: date
              type: string
            taxAmount:
              type: number
          type: object
        type: array
      orderMetrics:
        items:
          properties:
            orderActions:
              items:
                properties:
                  orderItems:
                    items:
                      $ref: '#/definitions/OrderItem'
                    type: array
                  orderMetrics:
                    items:
                      $ref: '#/definitions/orderMetric'
                    type: array
                  sequence:
                    type: string
                  type:
                    type: string
                type: object
              type: array
            subscriptionNumber:
              type: string
          type: object
        type: array
    type: object
  PriceChangeParams:
    properties:
      priceChangeOption:
        description: |
          Specifies how Zuora changes the price of the charge each time the subscription renews.

          If the value of this field is `SpecificPercentageValue`, use the `priceIncreasePercentage` field to specify how much the price of the charge should change.
        enum:
        - NoChange
        - SpecificPercentageValue
        - UseLatestProductCatalogPricing
        type: string
      priceIncreasePercentage:
        description: 'Specifies the percentage by which the price of the charge should
          change each time the subscription renews. Only applicable if the value of
          the `priceChangeOption` field is `SpecificPercentageValue`.

          '
        minimum: -100
        type: number
    type: object
  PricingUpdate:
    properties:
      discount:
        $ref: '#/definitions/DiscountPricingUpdate'
      recurringFlatFee:
        $ref: '#/definitions/RecurringFlatFeePricingUpdate'
      recurringPerUnit:
        $ref: '#/definitions/RecurringPerUnitPricingUpdate'
      recurringTiered:
        $ref: '#/definitions/RecurringTieredPricingUpdate'
      recurringVolume:
        $ref: '#/definitions/RecurringVolumePricingUpdate'
      usageFlatFee:
        $ref: '#/definitions/UsageFlatFeePricingUpdate'
      usageOverage:
        $ref: '#/definitions/UsageOveragePricingUpdate'
      usagePerUnit:
        $ref: '#/definitions/UsagePerUnitPricingUpdate'
      usageTiered:
        $ref: '#/definitions/UsageTieredPricingUpdate'
      usageTieredWithOverage:
        $ref: '#/definitions/UsageTieredWithOveragePricingUpdate'
      usageVolume:
        $ref: '#/definitions/UsageVolumePricingUpdate'
    type: object
  PricingUpdateForEvergreen:
    properties:
      discount:
        $ref: '#/definitions/DiscountPricingUpdate'
      recurringFlatFee:
        $ref: '#/definitions/RecurringFlatFeePricingUpdate'
      recurringPerUnit:
        $ref: '#/definitions/RecurringPerUnitPricingUpdate'
      recurringTiered:
        $ref: '#/definitions/RecurringTieredPricingUpdate'
      recurringVolume:
        $ref: '#/definitions/RecurringVolumePricingUpdate'
      usageFlatFee:
        $ref: '#/definitions/UsageFlatFeePricingUpdate'
      usageOverage:
        $ref: '#/definitions/UsageOveragePricingUpdate'
      usagePerUnit:
        $ref: '#/definitions/UsagePerUnitPricingUpdate'
      usageTiered:
        $ref: '#/definitions/UsageTieredPricingUpdate'
      usageTieredWithOverage:
        $ref: '#/definitions/UsageTieredWithOveragePricingUpdate'
      usageVolume:
        $ref: '#/definitions/UsageVolumePricingUpdate'
    type: object
  ProcessingOptions:
    description: Invoice or Payment.
    properties:
      applyCreditBalance:
        description: Indicates if any credit balance on a customer's account is automatically
          applied to invoices. If no value is specified then this field defaults to
          false. This feature is not available if you have enabled the Invoice Settlement
          feature.
        type: boolean
      billingOptions:
        $ref: '#/definitions/BillingOptions'
      collectPayment:
        description: Indicates if the current request needs to collect payments. This
          value can not be 'true' when 'runBilling' flag is 'false'.
        type: boolean
      electronicPaymentOptions:
        description: Container for the electronic payment options.
        properties:
          paymentMethodId:
            description: Specifies an electronic payment method. It can be one that
              has already been associated with an invoice owner, or an orphan payment
              method, which is not associated with any invoice owner. For an orphan
              payment method, this operation will then associate it with the account
              that this order will be created under.
            type: string
        type: object
      runBilling:
        description: Indicates if the current request needs to generate an invoice.
          The invoice will be generated against all subscriptions included in this
          order.
        type: boolean
    type: object
  ProductFeatureObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Product Feature object. The name of each
        custom field has the form <code>*customField*__c</code>. Custom field names
        are case sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Product Feature object.

      '
    title: productFeatureFieldsCustom
    type: object
  ProductObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Product object. The name of each custom field
        has the form <code>*customField*__c</code>. Custom field names are case sensitive.
        See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Product object.

      '
    title: productFieldsCustom
    type: object
  ProductObjectNSFields:
    description: 'Container for Product fields provided by the [Zuora Connector for
      NetSuite](https://www.zuora.com/connect/app/?appId=265).

      '
    properties:
      IntegrationId__NS:
        description: 'ID of the corresponding object in NetSuite. Only available if
          you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      IntegrationStatus__NS:
        description: 'Status of the product''s synchronization with NetSuite. Only
          available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      ItemType__NS:
        description: 'Type of item that is created in NetSuite for the product. Only
          available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        enum:
        - Inventory
        - Non Inventory
        - Service
        type: string
      SyncDate__NS:
        description: 'Date when the product was synchronized with NetSuite. Only available
          if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
    title: productFieldsNS
    type: object
  ProductRatePlanChargeObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Product Rate Plan Charge object. The name
        of each custom field has the form <code>*customField*__c</code>. Custom field
        names are case sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Product Rate Plan Charge object.

      '
    title: productRatePlanChargeFieldsCustom
    type: object
  ProductRatePlanChargeObjectNSFields:
    description: 'Container for Product Rate Plan Charge fields provided by the [Zuora
      Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

      '
    properties:
      Class__NS:
        description: 'Class associated with the corresponding item in NetSuite. Only
          available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      DeferredRevAccount__NS:
        description: 'Deferrred revenue account associated with the corresponding
          item in NetSuite. Only available if you have installed the [Zuora Connector
          for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      Department__NS:
        description: 'Department associated with the corresponding item in NetSuite.
          Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      IncludeChildren__NS:
        description: 'Specifies whether the corresponding item in NetSuite is visible
          under child subsidiaries. Only available if you have installed the [Zuora
          Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        enum:
        - 'Yes'
        - 'No'
        type: string
      IntegrationId__NS:
        description: 'ID of the corresponding object in NetSuite. Only available if
          you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      IntegrationStatus__NS:
        description: 'Status of the product rate plan charge''s synchronization with
          NetSuite. Only available if you have installed the [Zuora Connector for
          NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      ItemType__NS:
        description: 'Type of item that is created in NetSuite for the product rate
          plan charge. Only available if you have installed the [Zuora Connector for
          NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        enum:
        - Inventory
        - Non Inventory
        - Service
        type: string
      Location__NS:
        description: 'Location associated with the corresponding item in NetSuite.
          Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      RecognizedRevAccount__NS:
        description: 'Recognized revenue account associated with the corresponding
          item in NetSuite. Only available if you have installed the [Zuora Connector
          for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      RevRecEnd__NS:
        description: 'End date condition of the corresponding item in NetSuite. Only
          available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        enum:
        - Charge Period Start
        - Rev Rec Trigger Date
        - Use NetSuite Rev Rec Template
        type: string
      RevRecStart__NS:
        description: 'Start date condition of the corresponding item in NetSuite.
          Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        enum:
        - Charge Period Start
        - Rev Rec Trigger Date
        - Use NetSuite Rev Rec Template
        type: string
      RevRecTemplateType__NS:
        description: 'Only available if you have installed the [Zuora Connector for
          NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      Subsidiary__NS:
        description: 'Subsidiary associated with the corresponding item in NetSuite.
          Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      SyncDate__NS:
        description: 'Date when the product rate plan charge was synchronized with
          NetSuite. Only available if you have installed the [Zuora Connector for
          NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
    title: productRatePlanChargeFieldsNS
    type: object
  ProductRatePlanObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Product Rate Plan object. The name of each
        custom field has the form <code>*customField*__c</code>. Custom field names
        are case sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Product Rate Plan object.

      '
    title: productRatePlanFieldsCustom
    type: object
  ProductRatePlanObjectNSFields:
    description: 'Container for Product Rate Plan fields provided by the [Zuora Connector
      for NetSuite](https://www.zuora.com/connect/app/?appId=265).

      '
    properties:
      BillingPeriod__NS:
        description: 'Billing period associated with the corresponding item in NetSuite.
          Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        enum:
        - Monthly
        - Quarterly
        - Annual
        - Semi-Annual
        type: string
      Class__NS:
        description: 'Class associated with the corresponding item in NetSuite. Only
          available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      Department__NS:
        description: 'Department associated with the corresponding item in NetSuite.
          Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      IncludeChildren__NS:
        description: 'Specifies whether the corresponding item in NetSuite is visible
          under child subsidiaries. Only available if you have installed the [Zuora
          Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        enum:
        - 'Yes'
        - 'No'
        type: string
      IntegrationId__NS:
        description: 'ID of the corresponding object in NetSuite. Only available if
          you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      IntegrationStatus__NS:
        description: 'Status of the product rate plan''s synchronization with NetSuite.
          Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      ItemType__NS:
        description: 'Type of item that is created in NetSuite for the product rate
          plan. Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        enum:
        - Inventory
        - Non Inventory
        - Service
        type: string
      Location__NS:
        description: 'Location associated with the corresponding item in NetSuite.
          Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      MultiCurrencyPrice__NS:
        description: 'Multi-currency price associated with the corresponding item
          in NetSuite. Only available if you have installed the [Zuora Connector for
          NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      Price__NS:
        description: 'Price associated with the corresponding item in NetSuite. Only
          available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      Subsidiary__NS:
        description: 'Subsidiary associated with the corresponding item in NetSuite.
          Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      SyncDate__NS:
        description: 'Date when the product rate plan was synchronized with NetSuite.
          Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
    title: productRatePlanFieldsNS
    type: object
  ProvisionEntityResponseType:
    properties:
      success:
        description: Returns `true` if the request is successful.
        type: boolean
    type: object
  ProxyActionamendRequest:
    example:
      requests:
      - Amendments:
        - ContractEffectiveDate: '2018-07-20'
          Description: 100 seats of product and flat fee for phone support
          Name: Add premium product
          RatePlanData:
            RatePlan:
              ProductRatePlanId: 2c92c0f957034698015707751d7e20b9
            RatePlanChargeData:
            - RatePlanCharge:
                ProductRatePlanChargeId: 2c92c0f957034698015707751dff20ce
                Quantity: 100
            - RatePlanCharge:
                ProductRatePlanChargeId: 2c92c0f857033a46015707a16c9e0274
          Status: Completed
          SubscriptionId: 2c92c0f9647e2f5001647e51728d7995
          Type: NewProduct
        PreviewOptions:
          EnablePreviewMode: false
    properties:
      requests:
        description: 'The value of this field must be an array that contains a single
          AmendRequest object. To specify multiple Amendment objects, use the `Amendments`
          field of the AmendRequest object.

          '
        items:
          $ref: '#/definitions/AmendRequest'
        type: array
    type: object
  ProxyActionamendResponse:
    properties:
      results:
        description: ''
        items:
          $ref: '#/definitions/AmendResult'
        type: array
    type: object
  ProxyActioncreateRequest:
    example:
      objects:
      - AccountingCode: Accounts Receivable
        AdjustmentDate: '2016-10-20'
        Amount: 1.2
        Comment: this is comments
        InvoiceId: 2c93808457d787030157e03248c75142
        InvoiceNumber: INV00000001
        ReferenceId: refid-1476935174845
        SourceId: 2c93808457d787030157e03248c95144
        SourceType: InvoiceDetail
        Type: Credit
      type: InvoiceItemAdjustment
    properties:
      objects:
        description: ''
        items:
          $ref: '#/definitions/zObject'
        type: array
      type:
        description: ''
        type: string
    required:
    - objects
    - type
    type: object
  ProxyActiondeleteRequest:
    example:
      ids:
      - 2c93808457d787030157e031fcd34e19
      type: ProductRatePlanCharge
    properties:
      ids:
        description: 'A list of one or more IDs for the objects you want to delete.

          '
        items:
          type: string
        type: array
      type:
        description: 'The type of object that you are deleting.

          '
        type: string
    required:
    - type
    - ids
    type: object
  ProxyActionexecuteRequest:
    example:
      ids:
      - 2c93808457d787030157e031d5844c53
      synchronous: false
      type: InvoiceSplit
    properties:
      ids:
        description: 'The ID of the object. **Values:** a valid InvoiceSplit object
          ID.

          '
        items:
          type: string
        type: array
      synchronous:
        description: 'Indicates if the call is synchronous or asynchronous. **Values:**
          `false`

          '
        type: boolean
      type:
        description: "Specifies the type of executed item. \n"
        enum:
        - InvoiceSplit
        type: string
    required:
    - type
    - ids
    - synchronous
    type: object
  ProxyActiongenerateRequest:
    example:
      objects:
      - AccountId: 2c93808457d787030157e0306be53a75
        InvoiceDate: '2016-10-20'
        TargetDate: '2016-10-20'
      type: Invoice
    properties:
      objects:
        description: ''
        items:
          $ref: '#/definitions/zObject'
        type: array
      type:
        description: ''
        enum:
        - Invoice
        type: string
    required:
    - objects
    - type
    type: object
  ProxyActionqueryMoreRequest:
    example:
      queryLocator: 2c92c0f9602fb240016049ac7e0b47e7-2000
    properties:
      queryLocator:
        description: ''
        type: string
    required:
    - queryLocator
    type: object
  ProxyActionqueryMoreResponse:
    properties:
      done:
        description: ''
        type: boolean
      queryLocator:
        description: ''
        type: string
      records:
        description: ''
        items:
          $ref: '#/definitions/zObject'
        type: array
      size:
        description: ''
        format: int32
        type: integer
    type: object
  ProxyActionqueryRequest:
    example:
      queryString: select AccountId, AccountingCode, AdjustmentDate, AdjustmentNumber,
        Amount, CancelledById, CancelledDate, Comment, CreatedById, CreatedDate, InvoiceId,
        InvoiceItemName, InvoiceNumber, ReferenceId, ServiceEndDate, ServiceStartDate,
        SourceId, SourceType, Status, TransferredToAccounting, Type, UpdatedById,
        UpdatedDate, ReasonCode from InvoiceItemAdjustment where Id = '2c93808457d787030157e0324aea5158'
    properties:
      conf:
        description: ''
        properties:
          batchSize:
            description: 'Defines the batch size of the query result. The range is
              1 - 2000 (inclusive). If a value higher than 2000 is submitted, only
              2000 results are returned.

              '
            type: integer
        type: object
      queryString:
        description: |
          [ZOQL](https://knowledgecenter.zuora.com/DC_Developers/K_Zuora_Object_Query_Language) expression that specifies the object to query, the fields to retrieve, and any filters.

          **Note:** When querying one time charges from ProductRatePlanCharge, you need to specify the `ChargeType` value as `One-Time` rather than `OneTime`.
        type: string
    required:
    - queryString
    type: object
  ProxyActionqueryResponse:
    properties:
      done:
        description: ''
        type: boolean
      queryLocator:
        description: ''
        type: string
      records:
        description: ''
        items:
          $ref: '#/definitions/zObject'
        type: array
      size:
        description: ''
        format: int32
        type: integer
    type: object
  ProxyActionsubscribeRequest:
    example:
      subscribes:
      - Account:
          AccountNumber: A00000085
          AutoPay: false
          Batch: Batch1
          BillCycleDay: 1
          Currency: USD
          Name: West Corporation
          PaymentTerm: Due Upon Receipt
        BillToContact:
          Address1: 312 2nd Ave W
          City: Seattle
          Country: United States
          FirstName: Sarah
          LastName: Smith
          PostalCode: '98119'
          State: Washington
          WorkEmail: sarah@example.com
        PaymentMethod:
          CreditCardAddress1: 312 2nd Ave W
          CreditCardCity: Seattle
          CreditCardCountry: United States
          CreditCardExpirationMonth: 12
          CreditCardExpirationYear: 2020
          CreditCardHolderName: Ms Sarah Smith
          CreditCardNumber: '4111111111111111'
          CreditCardPostalCode: '98119'
          CreditCardState: Washington
          CreditCardType: Visa
          Type: CreditCard
        SubscribeOptions:
          GenerateInvoice: true
          ProcessPayments: false
        SubscriptionData:
          RatePlanData:
          - RatePlan:
              ProductRatePlanId: 2c92c0f966537bf001666218919620cc
            RatePlanChargeData:
            - RatePlanCharge:
                ChargeModel: Discount-Percentage
                DiscountPercentage: '6.75'
                ProductRatePlanChargeId: 2c92c0f866536da301666222643809b4
                Quantity: 200
          Subscription:
            AutoRenew: true
            ContractAcceptanceDate: '2019-02-15'
            ContractEffectiveDate: '2019-02-15'
            InitialTerm: 12
            RenewalTerm: 6
            ServiceActivationDate: '2019-02-15'
            TermType: TERMED
    properties:
      subscribes:
        description: ''
        items:
          $ref: '#/definitions/SubscribeRequest'
        type: array
    required:
    - subscribes
    type: object
  ProxyActionupdateRequest:
    example:
      objects:
      - AccountNumber: AN_1476935163869
        AutoPay: true
        Batch: Batch1
        BillCycleDay: 1
        BillToId: 2c93808457d787030157e03220684fac
        CrmId: crmid
        Currency: USD
        DefaultPaymentMethodId: 2c93808457d787030157e03220ec4fad
        Id: 2c93808457d787030157e0321fdf4fab
        InvoiceTemplateId: 2c93808457d787030157e03208864f97
        Name: AC_1476935163869
        Notes: this is notes
        PaymentTerm: Due Upon Receipt
        SoldToId: 2c93808457d787030157e03220684fac
        Status: Active
      type: Account
    properties:
      objects:
        description: ''
        items:
          $ref: '#/definitions/zObject_update'
        type: array
      type:
        description: ''
        type: string
    required:
    - objects
    - type
    type: object
  ProxyBadRequestResponse:
    properties:
      Errors:
        items:
          properties:
            Code:
              description: ''
              type: string
            Message:
              description: ''
              type: string
          type: object
        type: array
      Success:
        description: ''
        type: boolean
    type: object
  ProxyCreateAccount:
    allOf:
    - properties:
        AccountNumber:
          description: |
            Unique account number assigned to the account. **Character limit**: 50 **Values**: one of the following:

            - null to auto-generate
            - a string of 50 characters or fewer that doesn't begin with the default account number prefix
          type: string
        AdditionalEmailAddresses:
          description: 'List of additional email addresses to receive emailed invoices.
            **Character limit**: 120 **Values**: comma-separated list of email addresses '
          type: string
        AllowInvoiceEdit:
          description: " Indicates if associated invoices can be edited.\n**Character\
            \ limit**: 5 **Values**: `true`, `false` (default if left null) "
          type: boolean
        AutoPay:
          description: " Indicates if future payments are automatically collected\
            \ when they're due during a Payment Run.\n**Character limit**: 5 **Values**:\
            \ `true`, `false` (default) "
          type: boolean
        Batch:
          description: " Organizes your customer accounts into groups to optimize\
            \ your billing and payment operations. Required if use the Subscribe call.\n\
            **Character limit**: 20 **Values**:any system-defined batch (`Batch1`\
            \ - `Batch50 `or by name). "
          type: string
        BcdSettingOption:
          description: 'Billing cycle day setting option. **Character limit**: 9 **Values**:
            `AutoSet`, `ManualSet` '
          type: string
        BillCycleDay:
          description: 'Billing cycle day (BCD) on which bill runs generate invoices
            for the account. **Character limit**: 2 **Values**: any activated system-defined
            bill cycle day (`1` - `31`) '
          format: int32
          type: integer
        BillToId:
          description: 'ID of the person to bill for the account. This field is only
            required if the `Status` field is set to `Active`. **Character limit**:
            32 **Values**: a valid contact ID for the account '
          type: string
        CommunicationProfileId:
          description: 'Associates the account with a specified communication profile.
            **Character limit**: 32 **Values**: a valid communication profile ID '
          type: string
        CrmId:
          description: 'CRM account ID for the account. A CRM is a customer relationship
            management system, such as Salesforce.com. **Character limit**: 100 **Values**:
            a string of 100 characters or fewer '
          type: string
        Currency:
          description: ' Currency that the customer is billed in. '
          type: string
        CustomerServiceRepName:
          description: 'Name of the account''s customer service representative, if
            applicable. **Character limit**: 50 **Values**: a string of 50 characters
            or fewer '
          type: string
        DefaultPaymentMethodId:
          description: 'ID of the default payment method for the account. This field
            is only required if the `AutoPay` field is set to `true`. **Character
            limit**: 32 **Values**: a valid ID for an existing payment method '
          type: string
        InvoiceDeliveryPrefsEmail:
          description: 'Indicates if the customer wants to receive invoices through
            email.  **Character limit**: 5 **Values**: `true`, `false` (default if
            left null) '
          type: boolean
        InvoiceDeliveryPrefsPrint:
          description: 'Indicates if the customer wants to receive printed invoices,
            such as through postal mail. **Character limit**: 5 **Values**: `true`,
            `false` (default if left null) '
          type: boolean
        InvoiceTemplateId:
          description: 'The ID of the invoice template. Each customer account can
            use a specific invoice template for invoice generation. **Character limit**:
            32 **Values**: a valid template ID configured in Zuora Billing Settings '
          type: string
        Name:
          description: 'Name of the account as displayed in the Zuora UI. **Character
            limit**: 255 **Values**: a string of 255 characters or fewer '
          type: string
        Notes:
          description: ' Comments about the account. **Character limit**: 65,535 **Values**:
            a string of 65,535 characters '
          type: string
        ParentId:
          description: 'Identifier of the parent customer account for this Account
            object. Use this field if you have customer hierarchy enabled. **Character
            limit**: 32 **Values**: a valid account ID '
          type: string
        PaymentGateway:
          description: |
            Gateway used for processing electronic payments and refunds. This field is only required if there is no default payment gateway is defined in the tenant. **Character limit**: 40 **Values**: one of the following:

            - a valid configured gateway name
            - Null to inherit the default value set in Zuora Payment Settings
          type: string
        PaymentTerm:
          description: 'Indicates when the customer pays for subscriptions. **Character
            limit**: 100 **Values**: a valid, active payment term defined in the web-based
            UI administrative settings '
          type: string
        PurchaseOrderNumber:
          description: 'The number of the purchase order associated with this account.
            Purchase order information generally comes from customers. **Character
            limit**: 100 **Values**: a string of 100 characters or fewer '
          type: string
        SalesRepName:
          description: 'The name of the sales representative associated with this
            account, if applicable. **Character limit**: 50 **Values**: a string of
            50 characters or fewer '
          type: string
        SoldToId:
          description: 'ID of the person who bought the subscription associated with
            the account. This field is only required if the `Status` field is set
            to `Active`. **Character limit**: 32 **Values**: a valid contact ID for
            the account '
          type: string
        Status:
          description: 'Status of the account in the system.

            '
          enum:
          - Draft
          - Active
          - Canceled
          maxLength: 8
          type: string
        TaxCompanyCode:
          description: " Unique code that identifies a company account in Avalara.\
            \ Use this field to calculate taxes based on origin and sold-to addresses\
            \ in Avalara.\nThis feature is in **Limited Availability**. If you wish\
            \ to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).\n\
            \n**Character limit**: 50 **Values**: a valid company code "
          type: string
        TaxExemptCertificateID:
          description: 'ID of your customer''s tax exemption certificate. **Character
            limit**: 32 **Values**: a string of 32 characters or fewer '
          type: string
        TaxExemptCertificateType:
          description: 'Type of the tax exemption certificate that your customer holds.  **Character
            limit**: 32 **Values**: a string of 32 characters or fewer '
          type: string
        TaxExemptDescription:
          description: 'Description of the tax exemption certificate that your customer
            holds. **Character limit**: 500 **Values**: a string of 500 characters
            or fewer '
          type: string
        TaxExemptEffectiveDate:
          description: 'Date when the the customer''s tax exemption starts. **Character
            limit**: 29 **Version notes**: requires Zuora Tax '
          format: date
          type: string
        TaxExemptExpirationDate:
          description: 'Date when the customer''s tax exemption certificate expires  **Character
            limit**: 29 **Version notes**: requires Zuora Tax '
          format: date
          type: string
        TaxExemptIssuingJurisdiction:
          description: 'Indicates the jurisdiction in which the customer''s tax exemption
            certificate was issued. **Character limit**: 32 **Values**: a string of
            32 characters or fewer '
          type: string
        TaxExemptStatus:
          description: |2
             Status of the account's tax exemption. This field is only required if you use Zuora Tax. This field is not available if you do not use Zuora Tax.
            **Character limit**: 19 **Values**: one of the following:

            - `Yes`
            - `No`
            - `PendingVerification`
          type: string
        VATId:
          description: " EU Value Added Tax ID.\nThis feature is in **Limited Availability**.\
            \ If you wish to have access to the feature, submit a request at [Zuora\
            \ Global Support](http://support.zuora.com/).\n\n**Character limit**:\
            \ 25 **Values**: a valid Value Added Tax ID "
          type: string
      required:
      - BillCycleDay
      - Currency
      - Name
      - Status
      type: object
    - $ref: '#/definitions/AccountObjectNSFields'
    - $ref: '#/definitions/AccountObjectCustomFields'
    example:
      AccountNumber: AN_1476935163869
      AutoPay: false
      Batch: Batch1
      BillCycleDay: 1
      CrmId: crmid
      Currency: USD
      InvoiceTemplateId: 2c93808457d787030157e03208864f97
      Name: AC_1476935163869
      Notes: this is notes
      PaymentTerm: Due Upon Receipt
      Status: Draft
  ProxyCreateBillRun:
    example:
      AutoEmail: 'false'
      AutoPost: 'false'
      AutoRenewal: 'false'
      Batch: Batch1
      BillCycleDay: '2'
      ChargeTypeToExclude: OneTime, Usage
      InvoiceDate: '2017-02-04'
      NoEmailForZeroAmountInvoice: 'false'
      TargetDate: '2017-02-04'
    properties:
      AccountId:
        description: |
          ID of the account used for single account bill run.

          This field is only required if you create ad hoc bill run for a single customer account.

          **Character limit:** 32
        type: string
      AutoEmail:
        default: false
        description: |
          Determines whether to auto send email or not by this bill run once the bill run completes.

          **Note:** You must enable the [Support Bill Run Auto-Post Billing](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Billing_Rules) rule to pass this field.
        type: boolean
      AutoPost:
        default: false
        description: |
          Determines whether to auto post bill run or not once the bill run completes.

          **Note:** You must enable the [Support Bill Run Auto-Post Billing](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Billing_Rules) rule to pass this field.
        type: boolean
      AutoRenewal:
        default: false
        description: 'Determines whether to auto renew subscription or not by this
          bill run once the bill run completes.

          '
        type: boolean
      Batch:
        description: "Batch of accounts for this bill run. \n\nWhen creating ad hoc\
          \ bill run for multiple customer accounts, this field is only required if\
          \ the `BillCycleDay`\n field is not specified.\n\n**Character limit:** 20\n\
          \n**Values:** AllBatches or Batchn where n is a number between 1 and 50.\n"
        type: string
      BillCycleDay:
        description: |
          The day of the bill cycle.

          When creating ad hoc bill run for multiple customer accounts, this field is only required if the `Batch` field is not specified.

          **Character limit:** 32

          **Values:** `AllBillCycleDays` or 01 - 31.
        type: string
      ChargeTypeToExclude:
        description: "Charge type or types to be excluded, separated with comma.\n\
          \n**Possible Values:** `OneTime`, `Recurring`, `Usage`, or a combination\
          \ of these values. \n\n**Character limit:** 50\n"
        type: string
      InvoiceDate:
        description: |
          Invoice date for this bill run.

          **Character limit:** 29
        format: date
        type: string
      NoEmailForZeroAmountInvoice:
        default: false
        description: 'Determines whether to suppress email for invoices with zero
          total or not for this bill run once the bill run completes. (Do not email
          invoices with 0 Invoice Total).

          '
        type: boolean
      TargetDate:
        description: |
          Target date for this bill run. See [Create Bill Run](https://knowledgecenter.zuora.com/CB_Billing/J_Billing_Operations/G_Bill_Runs/Creating_Bill_Runs) for more information.

          **Character limit:** 29
        format: date
        type: string
    required:
    - InvoiceDate
    - TargetDate
    type: object
  ProxyCreateContact:
    allOf:
    - properties:
        AccountId:
          description: " The Zuora account ID associated with this contact. This field\
            \ is not required when you use the Subscribe call. This field is required\
            \ for all other calls.\n**Character limit: **32 **Values: **a valid account\
            \ ID "
          type: string
        Address1:
          description: " The first line of the contact's address, which is often a\
            \ street address or business name.\n**Character limit**: 255 **Values**:\
            \ a string of 255 characters or fewer "
          type: string
        Address2:
          description: " The second line of the contact's address.\n**Character limit**:\
            \ 255 **Values**: a string of 255 characters or fewer "
          type: string
        City:
          description: " The city of the contact's address.\n**Character limit**:\
            \ 40 **Values: **a string of 40 characters or fewer "
          type: string
        Country:
          description: ' The country of the contact''s address. '
          type: string
        County:
          description: " The county. May optionally be used by Zuora Tax to calculate\
            \ county tax.\n**Character limit**: 32 **Values**: a string of 32 characters\
            \ or fewer "
          type: string
        Description:
          description: " A description for the contact.\n**Character limit**: 100\
            \ **Values**: a string of 100 characters or fewer "
          type: string
        Fax:
          description: " The contact's fax number.\n**Character limit**: 40 **Values**:\
            \ a string of 40 characters or fewer "
          type: string
        FirstName:
          description: " The contact's first name.\n**Character limit**: 100 **Values**:\
            \ a string of the contact's first name "
          type: string
        HomePhone:
          description: " The contact's home phone number.\n**Character limit**: 40\
            \ **Values**: a string of 40 characters or fewer "
          type: string
        LastName:
          description: " The contact's last name.\n**Character limit**: 100 **Values**:\
            \ a string of 100 characters or fewer "
          type: string
        MobilePhone:
          description: " The contact's mobile phone number.\n**Character limit**:\
            \ 40 **Values**: a string of 40 characters or fewer "
          type: string
        NickName:
          description: " A nickname for the contact.\n**Character limit**: 100 **Values**:\
            \ a string of 100 characters or fewer "
          type: string
        OtherPhone:
          description: " An additional phone number for the contact.\n**Character\
            \ limit**: 40 **Values**: a string of 40 characters or fewer "
          type: string
        OtherPhoneType:
          description: 'The type of the `OtherPhone`. **Character limit**: 20 **Values**:
            `Work`, `Mobile`, `Home`, `Other` '
          type: string
        PersonalEmail:
          description: " The contact's personal email address.\n**Character limit**:\
            \ 80 **Values**: a string of 80 characters or fewer "
          type: string
        PostalCode:
          description: " The zip code for the contact's address.\n**Character limit:**\
            \ 20 **Values: **a string of 20 characters or fewer "
          type: string
        State:
          description: ' The state or province of the contact''s address. '
          type: string
        TaxRegion:
          description: 'If using Zuora Tax rules '
          type: string
        WorkEmail:
          description: " The contact's business email address.\n**Character limit**:\
            \ 80 **Values**: a string of 80 characters or fewer "
          type: string
        WorkPhone:
          description: " The contact's business phone number.\n**Character limit**:\
            \ 40 **notes**: -- **Values**: a string of 40 characters or fewer "
          type: string
      required:
      - AccountId
      - FirstName
      - LastName
      type: object
    - $ref: '#/definitions/ContactObjectCustomFields'
    example:
      AccountId: 2c93808457d787030157e0321fdf4fab
      Address1: 312 2nd Ave W
      City: Seattle
      Country: United States
      Description: desc
      Fax: '123456'
      FirstName: FN1476935164020
      HomePhone: '86123456789'
      LastName: LN1476935164020
      MobilePhone: '8613312345678'
      NickName: this is nick name
      OtherPhone: '11111111111111111'
      OtherPhoneType: Work
      PersonalEmail: home@example.com
      PostalCode: '98119'
      State: Washington
      TaxRegion: CA
      WorkEmail: work@example.com
  ProxyCreateCreditBalanceAdjustment:
    allOf:
    - properties:
        AccountingCode:
          description: |
            An active accounting code in your Zuora [Chart of Accounts](https://knowledgecenter.zuora.com/CB_Billing/W_Billing_and_Payments_Settings/V_Configure_Accounting_Codes/D_Set_Up_Chart_of_Accounts).

            The [accounting code](https://knowledgecenter.zuora.com/BC_Subscription_Management/Product_Catalog/A_Product_Catalog_Concepts/Accounting_Codes) for the credit balance adjustment. Typically, an accounting code for a credit balance adjustment maps to a bank account in your accounting system.
          maxLength: 100
          type: string
        Amount:
          description: 'The amount of the adjustment.

            '
          format: double
          type: number
        Comment:
          description: 'Your comments about the credit balance adjustment.

            '
          maxLength: 255
          type: string
        ReasonCode:
          description: 'A code identifying the reason for the transaction. Must be
            an existing [reason code](https://knowledgecenter.zuora.com/CB_Billing/K_Payment_Operations/Reason_Codes_for_Payment_Operations)
            or empty. If you do not specify a value, Zuora uses the default reason
            code.

            '
          maxLength: 32
          type: string
        ReferenceId:
          description: 'The ID of the payment that the credit balance adjustment is
            for.

            '
          maxLength: 60
          type: string
        SourceTransactionId:
          description: |
            The ID of the object that the credit balance adjustment is applied to. You must specify a value for either the `SourceTransactionId` field or the `SourceTransactionNumber` field.

            The value of this field must be one of the following:
             * An invoice ID
             * A payment ID
             * A refund ID
          maxLength: 32
          type: string
        SourceTransactionNumber:
          description: |
            The number of the object that the credit balance adjustment is applied to. You must specify a value for either the `SourceTransactionId` field or the `SourceTransactionNumber` field.

            The value of this field must be one of the following:
             * An invoice number
             * A payment number
             * A refund number
          maxLength: 50
          type: string
        Type:
          description: 'Whether the credit balance adjustment increases or decrease
            the amount of the credit balance.

            '
          enum:
          - Decrease
          - Increase
          type: string
      required:
      - Amount
      - Type
      type: object
    - $ref: '#/definitions/CreditBalanceAdjustmentObjectNSFields'
    - $ref: '#/definitions/CreditBalanceAdjustmentObjectCustomFields'
    example:
      Amount: 60
      Comment: Transfer $60.00 from a negative invoice to the account balance
      SourceTransactionNumber: INV00000420
      Type: Increase
  ProxyCreateExport:
    example:
      Format: csv
      Name: test_Export_1476935164445
      Query: select * from account
      Status: Processing
      Zip: true
    properties:
      ConvertToCurrencies:
        description: " The currencies that you want to convert transaction amounts\
          \ into. You can specify any number of currencies. Specify the currencies\
          \ using their Foreign Currency Conversion enabled to use this field.\n**Character\
          \ limit**: **Values**: a list of valid currency codes "
        type: string
      Encrypted:
        description: " Exports a secure version of encrypted data source fields. such\
          \ as the AchAccountNumber field of the PaymentMethod object and the DefaultPaymentMethod\
          \ data souce objects.\n**Character limit**: 5 **Values:** true, false "
        type: boolean
      FileId:
        description: " The ID of the file generated by an export query. This file\
          \ is automatically generated when an Export object is created. Use this\
          \ file ID with [Get files](https://www.zuora.com/developer/api-reference/#operation/GET_Files)\
          \ to download the export file.\n**Character limit**: 32 **Values**: automatically\
          \ generated "
        type: string
      Format:
        description: " The format that you want the export file to use.\n**Character\
          \ limit**: 5 "
        enum:
        - csv
        - html
        - Excel
        type: string
      Name:
        description: " The name of the export.\n**Character limit**: 255 **Values**:\
          \ a string of 255 characters or fewer "
        type: string
      Query:
        description: '[Export ZOQL](https://knowledgecenter.zuora.com/DC_Developers/M_Export_ZOQL)
          query.

          '
        type: string
      Size:
        description: " The number of records or rows exported. This field value is\
          \ null until the export status is Completed.\n**Character limit**: **Values**:\
          \ automatically generated "
        format: int32
        type: integer
      Status:
        description: |2
           The status of the export. Type: string (enum) **Character limit**: 10 **Values**: automatically generated to be one of the following values:

          - Pending
          - Processing
          - Completed
          - Canceled
          - Failed
        type: string
      StatusReason:
        description: " The reason for the given status. Use this information to help\
          \ ascertain why an export failed.\n**Character limi**t: 255 **Values**:\
          \ automatically generated "
        type: string
      Zip:
        description: " Indicates if you want the resulting export file to be compressed\
          \ into a zip file.\n**Character limit**: **Values**: true, false (default) "
        type: boolean
    required:
    - Format
    - Query
    type: object
  ProxyCreateInvoiceAdjustment:
    allOf:
    - properties:
        AccountId:
          description: " The ID of the account that owns the invoice.\n**Character\
            \ limit**: 32 **Values**: inherited from Account.ID for the invoice owner "
          type: string
        AccountingCode:
          description: 'The accounting code for the invoice adjustment. '
          type: string
        AdjustmentDate:
          description: " The date when the invoice adjustment is applied. This date\
            \ must be the same as the invoice's date or later.\n**Character limit**:\
            \ 29 **Values**: Leave null to automatically generate the current date "
          format: date
          type: string
        AdjustmentNumber:
          description: " A unique string to identify an individual invoice adjustment.\n\
            **Character limit**: 255 **Values**: automatically generated "
          type: string
        Amount:
          description: " The amount of the invoice adjustment.\n**Character limit**:\
            \ 16 **Values**: a valid currency amount "
          format: double
          type: number
        Comments:
          description: " Use this field to record comments about the invoice adjustment.\n\
            **Character limit**: 255 **Values**: a string of 255 characters or fewer "
          type: string
        CustomerName:
          description: " The name of the account that owns the associated invoice.\n\
            **Character limit**: 50 **Values**: inherited from Account.Name "
          type: string
        CustomerNumber:
          description: " The unique account number of the customer's account.\n**Character\
            \ limit**: 70 **Values**: inherited from Account.AccountNumber "
          type: string
        ImpactAmount:
          description: " The amount that changes the balance of the associated invoice.\n\
            **Character limit**: 16 **Values**: automatically calculated "
          format: double
          type: number
        InvoiceId:
          description: " The ID of the invoice associated with the adjustment. This\
            \ field is only required if you don't specify a value for the `InvoiceNumber`\
            \ field.\n**Character limit**: 32 **Values**: a valid invoice ID "
          type: string
        InvoiceNumber:
          description: " The unique identification number for the associated invoice.\
            \ This field is only required if you don't specify a value for the `InvoiceId`\
            \ field.\n**Character limit**: 32 **Values**: a valid invoice number "
          type: string
        ReasonCode:
          description: " A code identifying the reason for the transaction. Must be\
            \ an existing reason code or empty. If you do not specify a value, Zuora\
            \ uses the default reason code.\n**Character limit**: 32 **V****alues**:\
            \ a valid reason code "
          type: string
        ReferenceId:
          description: " A code to reference an object external to Zuora. For example,\
            \ you can use this field to reference a case number in an external system.\n\
            **Character limit**: 60 **Values**: a string of 60 characters or fewer "
          type: string
        Status:
          description: " The status of the invoice adjustment. This field is only\
            \ required in the Query call, but is automatically generated in other\
            \ calls.\n**Character limit**: 9 **Values**: `Canceled`, `Processed` "
          type: string
        Type:
          description: " Indicates whether the adjustment credits or debits the invoice\
            \ amount.\n**Character limit**: 6 **Values**: `Credit`, `Charge` "
          type: string
      required:
      - Amount
      - Type
      type: object
    - $ref: '#/definitions/InvoiceAdjustmentObjectCustomFields'
    example:
      AccountingCode: Accounts Receivable
      AdjustmentDate: '2016-10-20'
      Amount: 1.2
      Comments: this is comments
      InvoiceId: 2c93808457d787030157e030d10f3f64
      InvoiceNumber: INV00000001
      ReferenceId: refid-1476935078657
      Type: Credit
  ProxyCreateInvoicePayment:
    example:
      Amount: 10
      InvoiceId: 2c93808457d787030157e02deadb1b6d
      PaymentId: 2c93808457d787030157e02de5fc1b57
    properties:
      Amount:
        description: " The amount of the payment.\n**Character limit**: 16 **Values**:\
          \ a valid currency amount "
        format: double
        type: number
      InvoiceId:
        description: " The unique ID of the invoice associated with this invoice payment.\n\
          **Character limit**: 32 **Values**: a valid invoice ID "
        type: string
      PaymentId:
        description: " The unique ID of the payment associated with this invoice payment.\n\
          **Character limit**: 32 **V****alues**: a valid payment ID "
        type: string
    required:
    - Amount
    - InvoiceId
    - PaymentId
    type: object
  ProxyCreateOrModifyProductRatePlanChargeTierData:
    description: 'Container for pricing information associated with the product rate
      plan charge.

      '
    properties:
      ProductRatePlanChargeTier:
        description: |
          Array of product rate plan charge tiers.

          You should specify all relevant fields of all tiers, including pricing information for each currency. For example:

          ```
          [
            {
              "StartingUnit": "1",
              "EndingUnit": "150",
              "Currency": "USD",
              "Price": 1.95,
              "PriceFormat": "Per Unit"
            },
            {
              "StartingUnit": "151",
              "EndingUnit": "300",
              "Currency": "USD",
              "Price": 1.45,
              "PriceFormat": "Per Unit"
            },
            {
              "StartingUnit": "1",
              "EndingUnit": "150",
              "Currency": "EUR",
              "Price": 1.75,
              "PriceFormat": "Per Unit"
            },
            {
              "StartingUnit": "151",
              "EndingUnit": "300",
              "Currency": "EUR",
              "Price": 1.30,
              "PriceFormat": "Per Unit"
            }
          ]
          ```
        items:
          properties:
            Currency:
              description: 'The code corresponding to the currency for the tier''s
                price.

                '
              type: string
            DiscountAmount:
              description: 'The specific amount for a fixed discount. Required if
                the charge model of the product rate plan charge is `Discount-Fixed
                Amount`.

                '
              format: double
              type: number
            DiscountPercentage:
              description: 'The percentage of discount for a percentage discount.
                Required if the charge model of the product rate plan charge is `Discount-Percentage`.

                '
              format: double
              type: number
            EndingUnit:
              description: 'The end number of a range of units for the tier. Required
                if the charge model of the product rate plan charge is `Tiered Pricing`
                or `Tiered with Overage Pricing`.

                '
              format: double
              type: number
            IsOveragePrice:
              description: 'Indicates if the price is an overage price, which is the
                price when usage surpasses the last defined tier.

                '
              type: boolean
            Price:
              description: 'The price of the tier if the charge is a flat fee, or
                the price of each unit in the tier if the charge model is tiered pricing.

                '
              format: double
              type: number
            PriceFormat:
              description: 'Indicates if pricing is a flat fee or is per unit. This
                field is for tiered and volume pricing models only.

                '
              enum:
              - Flat Fee
              - Per Unit
              type: string
            StartingUnit:
              description: 'The starting number of a range of units for the tier.
                Required if the charge model of the product rate plan charge is `Tiered
                Pricing` or `Tiered with Overage Pricing`.

                '
              format: double
              type: number
          type: object
        type: array
    title: productRatePlanChargeTierData
    type: object
  ProxyCreateOrModifyResponse:
    properties:
      Id:
        description: ''
        type: string
      Success:
        description: ''
        type: boolean
    type: object
  ProxyCreatePayment:
    allOf:
    - properties:
        AccountId:
          description: 'The unique account ID for the customer that the payment is
            for.

            '
          maxLength: 32
          minLength: 0
          type: string
        AccountingCode:
          description: 'The aacccounting code for the payment. Accounting codes group
            transactions that contain similar accounting attributes.

            '
          maxLength: 100
          minLength: 0
          type: string
        Amount:
          description: 'The amount of the payment.

            '
          format: double
          maxLength: 16
          minLength: 0
          type: number
        AppliedCreditBalanceAmount:
          description: 'The amount of the payment to apply to a credit balance. This
            field is only required if the `AppliedInvoiceAmount` field value is null.

            '
          format: double
          maxLength: 16
          minLength: 0
          type: number
        AppliedInvoiceAmount:
          description: 'The amount of the payment to apply to an invoice. This field
            is only required if either the `InvoiceId` or `InvoiceNumber` field is
            not null.

            '
          format: decimal
          maxLength: 16
          minLength: 0
          type: number
        AuthTransactionId:
          description: 'The authorization transaction ID from the payment gateway.
            Use this field for electronic payments, such as credit cards.

            '
          maxLength: 50
          minLength: 0
          type: string
        Comment:
          description: 'Additional information related to the payment.

            '
          maxLength: 255
          minLength: 0
          type: string
        EffectiveDate:
          description: 'The date when the payment takes effect.

            '
          format: date
          maxLength: 29
          minLength: 0
          type: string
        Gateway:
          description: 'The name of the gateway instance that processes the payment.
            When creating a payment, the value of this field must be a valid gateway
            instance name, and this gateway must support the specific payment method.
            If no value is specified, the default gateway on the Account will be used.

            '
          type: string
        GatewayOptionData:
          description: |
            A field used to pass gateway options. Zuora allows you to pass in special gateway-specific parameters for payments that go through the Adyen, Autorize.et, CyberSource, Merchant eSolutions, Orbital (Chase Paymentech), QValent, Vantiv, and Verifi gateways.

            For each of these special parameters, you supply the name-value pair and Zuora passes it to the gateway. This allows you to add functionality that's supported by a specific gateway but currently not supported by Zuora.
          properties:
            GatewayOption:
              description: ''
              items:
                $ref: '#/definitions/GatewayOption'
              maxItems: 200
              minItems: 0
              type: array
          required:
          - GatewayOption
          type: object
        GatewayOrderId:
          description: |
            A merchant-specified natural key value that can be passed to the electronic payment gateway when a payment is created. If not specified, the payment number will be passed in instead.

            Gateways check duplicates on the gateway order ID to ensure that the merchant do not accidentally enter the same transaction twice. This ID can also be used to do reconciliation and tie the payment to a natural key in external systems. The source of this ID varies by merchant. Some merchants use their shopping cart order IDs, and others use something different. Merchants use this ID to track transactions in their eCommerce systems.
          maxLength: 70
          minLength: 0
          type: string
        GatewayResponse:
          description: 'The message returned from the payment gateway for the payment.
            This message is gateway-dependent.

            '
          maxLength: 500
          minLength: 0
          type: string
        GatewayResponseCode:
          description: 'The code returned from the payment gateway for the payment.
            This code is gateway-dependent.

            '
          maxLength: 20
          minLength: 0
          type: string
        GatewayState:
          description: 'The status of the payment in the gateway; use for reconciliation.

            '
          enum:
          - MarkedForSubmission
          - Submitted
          - Settled
          - NotSubmitted
          - FailedToSettle
          type: string
        InvoiceId:
          description: 'The ID of the invoice that the payment is applied to. When
            applying a payment to a single invoice, this field is only required if
            the `InvoiceNumber` field is null.

            '
          maxLength: 32
          minLength: 0
          type: string
        InvoiceNumber:
          description: 'The unique identification number for the invoice that the
            payment is applied to. When applying a payment to a single invoice, this
            field is only required if the `InvoiceId` field is null.

            '
          maxLength: 32
          minLength: 0
          type: string
        InvoicePaymentData:
          description: 'Container for the invoice payment data. This field is only
            required if you apply a payment to multiple invoices.

            '
          properties:
            InvoicePayment:
              description: ''
              items:
                $ref: '#/definitions/InvoicePayment'
              maxItems: 200
              minItems: 0
              type: array
          required:
          - InvoicePayment
          title: InvoicePaymentData
          type: object
        PaymentMethodId:
          description: "The ID of the payment method used for the payment. \n"
          maxLength: 32
          minLength: 0
          type: string
        PaymentNumber:
          description: 'The unique identification number of the payment. For example,
            P-00000028.

            '
          maxLength: 32
          minLength: 0
          type: string
        ReferenceId:
          description: 'The transaction ID returned by the payment gateway. Use this
            field to reconcile payments between your gateway and Zuora Payments.

            '
          maxLength: 60
          minLength: 0
          type: string
        SoftDescriptor:
          description: "A payment gateway-specific field that maps to Zuora for the\
            \ gateways, Orbital, Vantiv and Verifi. \n\nZuora passes this field to\
            \ Verifi directly without verification. In general, this field will be\
            \ defaulted by the gateway. For Orbital, this field contains two fields\
            \ separated by an asterisk, `SDMerchantName` and `SDProductionInfo`. For\
            \ more information, contact your payment gateway.\n"
          maxLength: 35
          minLength: 0
          type: string
        SoftDescriptorPhone:
          description: |
            A payment gateway-specific field that maps to Zuora for the gateways, Orbital, Vantiv and Verifi.

            Verifi and Orbital determine how to format this string. For more information, contact your payment gateway.
          maxLength: 20
          minLength: 0
          type: string
        Status:
          description: |
            The status of the payment in Zuora. The value depends on the type of payment.

            For electronic payments, the status can be `Processed`, `Error`, or `Voided`. For external payments, the status can be `Processed` or `Canceled`.
          enum:
          - Processed
          - Error
          - Voided
          - Canceled
          type: string
        Type:
          description: 'The type of the payment, whether the payment is external or
            electronic.

            '
          enum:
          - External
          - Electronic
          type: string
      required:
      - AccountId
      - EffectiveDate
      - PaymentMethodId
      - Status
      - Type
      type: object
    - $ref: '#/definitions/PaymentObjectNSFields'
    - $ref: '#/definitions/PaymentObjectCustomFields'
    example:
      AccountId: 2c93808457d787030157e03190e748ea
      Amount: 2
      AppliedCreditBalanceAmount: 0
      AppliedInvoiceAmount: 2
      EffectiveDate: '2016-10-20'
      InvoiceId: 2c93808457d787030157e03195604902
      PaymentMethodId: 2c93808457d787030157e03196d1490e
      Status: Processed
      Type: Electronic
  ProxyCreatePaymentMethod:
    allOf:
    - properties:
        AccountId:
          description: "The ID of the customer account associated with this payment\
            \ method.\n\n**Note:** You can create a payment method without assocating\
            \ it with a customer account if you want. To do it and change the `AccountId`\
            \ field to optional in this operation, submit a request at [Zuora Global\
            \ Support](http://support.zuora.com/). "
          type: string
        AchAbaCode:
          description: " The nine-digit routing number or ABA number used by banks.\
            \ This field is only required if the `Type` field is set to `ACH`.\n\n\
            **Character limit**: 9 **Values**: a string of 9 characters or fewer "
          type: string
        AchAccountName:
          description: " The name of the account holder, which can be either a person\
            \ or a company. This field is only required if the `Type` field is set\
            \ to `ACH`.\n\n**Character limit**: 70 **Values**: a string of 70 characters\
            \ or fewer "
          type: string
        AchAccountNumber:
          description: "The bank account number associated with the ACH payment. This\
            \ field is only required if the `Type` field is set to `ACH`.\n**Character\
            \ limit**: 30 **Values**: a string of 30 numeric characters or fewer "
          type: string
        AchAccountType:
          description: |2
             The type of bank account associated with the ACH payment. This field is only required if the `Type` field is set to `ACH`.
            **Character limit**: 16 **Values**:
            - `BusinessChecking`
            - `Checking`
            - `Saving`
          type: string
        AchAddress1:
          description: ' Line 1 for the ACH address. This field is required for creating
            a payment method for the Vantiv payment gateway. **Character limit**:
            255 **Values**: an address '
          type: string
        AchAddress2:
          description: ' Line 2 for the ACH address. This field is required for creating
            a payment method for the Vantiv payment gateway. **Character limit**:
            255 **Values**: an address '
          type: string
        AchBankName:
          description: " The name of the bank where the ACH payment account is held.\
            \ This field is only required if the `Type` field is set to `ACH`.\n**Character\
            \ limit**: 70 **Values**: a string of 70 characters or fewer "
          type: string
        AchCity:
          description: "The city of the ACH address. Use this field for ACH payment\
            \ methods. **Note**: This field is only specific to the NMI payment gateway.\n\
            **Character limit**: 40 **Values**: a string of 40 characters or fewer "
          type: string
        AchCountry:
          description: "The country of the ACH address. See [Country Names and Their\
            \ ISO Standard 2- and 3-Digit Codes](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/D_Country%2C_State%2C_and_Province_Codes/A_Country_Names_and_Their_ISO_Codes)\
            \ for the list of supported country names. Use this field for ACH methods.\
            \ **Note**: This field is only specific to the NMI payment gateway.\n\
            **Character limit**: 40 **Values**: a supported country name "
          type: string
        AchPostalCode:
          description: "The billing address's zip code. This field is required only\
            \ when you define an ACH payment method. **Note**: This field is only\
            \ specific to the NMI payment gateway.\n**Character limit**: 20 **Values**:\
            \ a string of 20 characters or fewer "
          type: string
        AchState:
          description: "The billing address's state. Use this field is if the `ACHCountry`\
            \ value is either `Canada` or the `US`. State names must be spelled in\
            \ full. For more information, see the list of [supported state names](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/D_Country%2C_State%2C_and_Province_Codes/B_State_Names_and_2-Digit_Codes).\
            \ This field is required only when you define an ACH payment method. **Note**:\
            \ This field is only specific to the NMI payment gateway.\n**Character\
            \ limit**: 50 **Values**: a valid state name "
          type: string
        BankBranchCode:
          description: " The branch code of the bank used for direct debit. Use this\
            \ field for direct debit payment methods.\n**Character limit**: 10 **Values**:\
            \ a string of 10 characters or fewer "
          type: string
        BankCheckDigit:
          description: 'The check digit in the international bank account number,
            which confirms the validity of the account. Use this field for direct
            debit payment methods. **Character limit**: 4 **Values**: a string of
            4 characters or fewer '
          type: string
        BankTransferAccountName:
          description: |
            The name on the direct debit bank account. Use this field for direct debit payment methods.

            **Character limit**: 60
            **Values**: a string of 60 characters or fewer
          type: string
        BankTransferAccountNumber:
          description: |
            The number of the customer's bank account. Use this field for direct debit payment methods.

            **Character limit**: 30
            **Values**: a string of 30 characters or fewer
          type: string
        BankTransferAccountNumberMask:
          description: |2

            This is a masked displayable version of the ACH account number, used for security purposes. For example: `XXXXXXXXX54321`.

            **Character limit**: 32
            **Values**: automatically generated
          type: string
        BankTransferType:
          description: "The type of direct debit transfer. The value of this field\
            \ is dependent on the country of the user. This field is only required\
            \ if the `Type` field is set to `BankTransfer`.\n\n **Values**: \n\n \
            \  - `SEPA` \n   \n   - `AutomatischIncasso` (NL)\n\n   - `LastschriftDE`\
            \ (Germany)\n\n   - `LastschriftAT` (Austria)\n\n   - `DemandeDePrelevement`\
            \ (FR)\n\n   - `DirectDebitUK` (UK)\n\n   - `Domicil` (Belgium)\n\n  \
            \ - `LastschriftCH` (CH)\n\n   - `RID` (Italy)\n\n   - `OrdenDeDomiciliacion`\
            \ (Spain)\n   - `Autogiro` (Sweden)\n   - `Betalingsservice` (Denmark)\n"
          maxLength: 20
          type: string
        BusinessIdentificationCode:
          description: " The business identification code for Swiss direct payment\
            \ methods that use the Global Collect payment gateway. Use this field\
            \ only for direct debit payments in Switzerland with Global Collect.\n\
            **Character limit**: 11 **Values**: a string of 11 characters or fewer "
          type: string
        City:
          description: " The city of the customer's address. Use this field for direct\
            \ debit payment methods.\n**Character limit**:80 **Values**: a string\
            \ of 80 characters or fewer "
          type: string
        CompanyName:
          description: |
            The name of the company.

            Zuora does not recommend that you use this field.
          maxLength: 80
          type: string
        Country:
          description: " The two-letter country code of the customer's address. This\
            \ field is only required if the `Type` field is set to `BankTransfer`,\
            \ and the `BankTransferType` field is set to either `DirectDebitUK`, `DirectEntryAU`,\
            \ or `DirectDebitNZ`.\n**Character limit**: 2 **Values**: a valid country\
            \ code "
          type: string
        CreditCardAddress1:
          description: " The first line of the card holder's address, which is often\
            \ a street address or business name. Use this field for credit card and\
            \ direct debit payment methods.\n**Character limit**: 255 **Values**:\
            \ a string of 255 characters or fewer "
          type: string
        CreditCardAddress2:
          description: " The second line of the card holder's address. Use this field\
            \ for credit card and direct debit payment methods.\n**Character limit**:\
            \ 255 **Values**: a string of 255 characters or fewer "
          type: string
        CreditCardCity:
          description: ' The city of the card holder''s address. Use this field for
            credit card and direct debit payment methods **Character limit**: 40 **Values**:
            a string of 40 characters or fewer '
          type: string
        CreditCardCountry:
          description: ' The country of the card holder''s address. '
          type: string
        CreditCardExpirationMonth:
          description: " The expiration month of the credit card or debit card. This\
            \ field is only required if the `Type` field is set to `CreditCard` or\
            \ `DebitCard`.\n**Character limit**: 2 **Values**: a two-digit number,\
            \ 01 - 12 "
          format: int32
          type: integer
        CreditCardExpirationYear:
          description: " The expiration month of the credit card or debit card. This\
            \ field is only required if the `Type` field is set to `CreditCard` or\
            \ `DebitCard`.\n**Character limit**: 4 **Values**: a four-digit number "
          format: int32
          type: integer
        CreditCardHolderName:
          description: " The full name of the card holder. This field is only required\
            \ if the `Type` field is set to `CreditCard` or `DebitCard`.\n\n**Character\
            \ limit**: 50 **Values**: a string of 50 characters or fewer "
          type: string
        CreditCardNumber:
          description: 'Credit card number, a string of up to 16 characters. This
            field can only be set when creating a new payment method; it cannot be
            queried or updated. '
          type: string
        CreditCardPostalCode:
          description: ' The billing address''s zip code. **Character limit**: 20
            **Values**: a string of 20 characters or fewer '
          type: string
        CreditCardSecurityCode:
          description: 'The CVV or CVV2 security code. See [How do I control what
            information Zuora sends over to the Payment Gateway?](https://knowledgecenter.zuora.com/kb/How_do_I_control_information_sent_to_payment_gateways_when_verifying_payment_methods%3F)
            for more information. To ensure PCI compliance, this value is not stored
            and cannot be queried. '
          type: string
        CreditCardState:
          description: ' The billing address''s state. Use this field if the `CreditCardCountry`
            value is either Canada or the US. State names must be spelled in full. '
          type: string
        CreditCardType:
          description: |
            The type of the credit card.

            Possible values  include `Visa`, `MasterCard`, `AmericanExpress`, `Discover`, `JCB`, and `Diners`. For more information about credit card types supported by different payment gateways, see [Supported Payment Gateways](https://knowledgecenter.zuora.com/CB_Billing/M_Payment_Gateways/Supported_Payment_Gateways).
          type: string
        DeviceSessionId:
          description: " The session ID of the user when the `PaymentMethod` was created\
            \ or updated. Some gateways use this field for fraud prevention. If this\
            \ field is passed to Zuora, then Zuora passes this field to supported\
            \ gateways. Currently only Verifi supports this field.\n**Character limit**:\
            \ 255 **Values**: "
          type: string
        Email:
          description: " An email address for the payment method in addition to the\
            \ bill to contact email address.\n**Character limit**: 80 **Values**:\
            \ a string of 80 characters or fewer "
          type: string
        ExistingMandate:
          description: " Indicates if the customer has an existing mandate or a new\
            \ mandate. A mandate is a signed authorization for UK and NL customers.\
            \ When you are migrating mandates from another system, be sure to set\
            \ this field correctly. If you indicate that a new mandate is an existing\
            \ mandate or vice-versa, then transactions fail. This field is used only\
            \ for the direct debit payment method.\n**Character limit**: 3 **Values**:\
            \ `Yes`, `No` "
          type: string
        FirstName:
          description: " The customer's first name. This field is used only for the\
            \ direct debit payment method.\n**Character limit**: 30 **Values**: a\
            \ string of 30 characters or fewer "
          type: string
        GatewayOptionData:
          description: |
            A field used to pass gateway options. Zuora allows you to pass in special gateway-specific parameters for payments that go through the Adyen, Autorize.et, CyberSource, Merchant eSolutions, Orbital (Chase Paymentech), QValent, Vantiv, and Verifi gateways.

            For each of these special parameters, you supply the name-value pair and Zuora passes it to the gateway. This allows you to add functionality that's supported by a specific gateway but currently not supported by Zuora.
          properties:
            GatewayOption:
              description: ''
              items:
                $ref: '#/definitions/GatewayOption'
              maxItems: 200
              minItems: 0
              type: array
          required:
          - GatewayOption
          type: object
        IBAN:
          description: " The International Bank Account Number. This field is used\
            \ only for the direct debit payment method.\n**Character limit**: 42 **Values**:\
            \ a string of 42 characters or fewer "
          type: string
        IPAddress:
          description: " The IP address of the user when the payment method was created\
            \ or updated. Some gateways use this field for fraud prevention. If this\
            \ field is passed to Zuora, then Zuora passes this field to supported\
            \ gateways. Currently PayPal, CyberSource, Authorize.Net, Verifi, and\
            \ WorldPay support this field.\n**Character limit**: 15 **Values**: a\
            \ string of 15 characters or fewer "
          type: string
        IdentityNumber:
          description: "The unique identity number of the customer account. \n\nThis\
            \ field is required only if the `BankTransferType` field is set to `Autogiro`\
            \ or `Betalingsservice`. It is a string of 12 characters for a Swedish\
            \ identity number, and a string of 10 characters for a Denish identity\
            \ number.\n"
          type: string
        IsCompany:
          default: false
          description: "Whether the customer account is a company.\n\nZuora does not\
            \ recommend that you use this field. \n"
          type: boolean
        LastName:
          description: " The customer's last name. This field is used only for the\
            \ direct debit payment method.\n**Character limit**: 70 **Values**: a\
            \ string of 70 characters or fewer "
          type: string
        LastTransactionDateTime:
          description: " The date of the most recent transaction.\n**Character limit**:\
            \ 29 **Values**: a valid date and time value "
          format: date-time
          type: string
        MandateCreationDate:
          description: " The date when the mandate was created, in `yyyy-mm-dd` format.\
            \ A mandate is a signed authorization for UK and NL customers. This field\
            \ is used only for the direct debit payment method.\n**Character limit**:\
            \ 29 "
          format: date
          type: string
        MandateID:
          description: " The ID of the mandate. A mandate is a signed authorization\
            \ for UK and NL customers. This field is used only for the direct debit\
            \ payment method.\n**Character limit**: 36 **Values**: a string of 36\
            \ characters or fewer "
          type: string
        MandateReceived:
          description: " Indicates if  the mandate was received. A mandate is a signed\
            \ authorization for UK and NL customers. This field is used only for the\
            \ direct debit payment method.\n**Character limit**: 3 **Values**: `Yes`,\
            \ `No `(case-sensitive) "
          type: string
        MandateUpdateDate:
          description: " The date when the mandate was last updated, in `yyyy-mm-dd`\
            \ format. A mandate is a signed authorization for UK and NL customers.\
            \ This field is used only for the direct debit payment method.\n**Character\
            \ limit**: 29 "
          format: date
          type: string
        MaxConsecutivePaymentFailures:
          description: " Specifies the number of allowable consecutive failures Zuora\
            \ attempts with the payment method before stopping. When the `UseDefaultRetryRule`\
            \ field is set to `false`, this field is only required if the `PaymentRetryWindow`\
            \ field is not defined.\n**Values**: a valid number "
          type: integer
        NumConsecutiveFailures:
          description: "The number of consecutive failed payments for this payment\
            \ method. It is reset to `0` upon successful payment. \n"
          format: int32
          maximum: 100
          minimum: 0
          type: integer
        PaymentRetryWindow:
          description: " The retry interval setting, which prevents making a payment\
            \ attempt if the last failed attempt was within the last specified number\
            \ of hours. When the `UseDefaultRetryRule` field is set to `false`, this\
            \ field is only required if the `MaxConsecutivePaymentFailures` field\
            \ is not defined.\n**Character limit**: 4 **Values**: a whole number between\
            \ 1 and 1000, exclusive "
          type: integer
        PaypalBaid:
          description: " The PayPal billing agreement ID, which is a contract between\
            \ two PayPal accounts. Typically, the selling party initiates a request\
            \ to create a BAID, and sends it to buying party for acceptance. The seller\
            \ can keep track of the BAID and use it for future charges against the\
            \ buyer. This field is only required if the `Type` field is set to `PayPal`.\n\
            **Character limit**: 64 **Values**: a string of 64 characters or fewer "
          type: string
        PaypalEmail:
          description: " The email address associated with the account holder's PayPal\
            \ account or of the PayPal account of the person paying for the service.\
            \ This field is only required if the `Type` field is set to `PayPal`.\n\
            **Character limit**: 80 **Values**: a string of 80 characters or fewer "
          type: string
        PaypalPreapprovalKey:
          description: " PayPal's Adaptive Payments API key. Zuora does not create\
            \ this key, nor does it call PayPal to generate it. You must use PayPal's\
            \ Adaptive Payments' API to generate this key, and then pass it to Zuora.\
            \ Zuora uses this key to authorize future payments to PayPal's Adaptive\
            \ Payments API. This field is only required if you use PayPal Adaptive\
            \ Payments gateway.\n**Character limit**: 32 **Values**: a valid PayPal\
            \ Adaptive Payment pre-approval key "
          type: string
        PaypalType:
          description: " Specifies the PayPal gateway: PayFlow Pro (Express Checkout)\
            \ or Adaptive Payments. This field is only required if you use PayPal\
            \ Adaptive Payments or Payflow Pro (Express Checkout) gateways.\n**Character\
            \ limit**: 32 **Values**: `ExpressCheckout`, `AdaptivePayments` "
          type: string
        Phone:
          description: " The phone number that the account holder registered with\
            \ the bank. This field is used for credit card validation when passing\
            \ to a gateway.\n**Character limit**: 40 **Values**: a string of 40 characters\
            \ or fewer "
          type: string
        PostalCode:
          description: " The zip code of the customer's address. This field is used\
            \ only for the direct debit payment method.\n**Character limit**: 20 **Values**:\
            \ a string of 20 characters or fewer "
          type: string
        SecondTokenId:
          description: ' A gateway unique identifier that replaces sensitive payment
            method data. `SecondTokenId` is conditionally required only when `TokenId`
            is being used to represent a gateway customer profile. `SecondTokenId`
            is used in the CC Reference Transaction payment method. **Character limit**:
            64 **Values**: a string of 64 characters or fewer '
          type: string
        SkipValidation:
          description: "If you set this field to true, Zuora will create the payment\
            \ method without making Authorization calls to the gateway. The static\
            \ field value check will remain as is.\n**Character limit**: 5 **Values**:\
            \ `true` or `false` "
          type: boolean
        State:
          description: "The state of the customer's address. This field is used only\
            \ for the direct debit payment method.\n**Character limit**: 70 **Values**:\
            \ a string of 70 characters or fewer "
          type: string
        StreetName:
          description: "The street name of the customer's address. This field is used\
            \ only for the direct debit payment method.\n**Character limit**: 100\
            \ **Values**: a string of 100 characters or fewer "
          type: string
        StreetNumber:
          description: "The street number of the customer's address. This field is\
            \ used only for the direct debit payment method.\n**Character limit**:\
            \ 30 **Values**: a string of 30 characters or fewer "
          type: string
        TokenId:
          description: "A gateway unique identifier that replaces sensitive payment\
            \ method data or represents a gateway's unique customer profile. When\
            \ `TokenId` is used to represent a customer profile, `SecondTokenId` is\
            \ conditionally required for representing the underlying tokenized payment\
            \ method. `TokenId` is required for the CC Reference Transaction payment\
            \ method.\n**Character limit**: 255 **Values**: a string of 255 characters\
            \ or fewer "
          type: string
        Type:
          description: The type of payment method. If you want to create an Amazon
            Pay payment method, specify `CreditCardReferenceTransaction` for this
            field.
          enum:
          - ACH
          - BankTransfer
          - CreditCard
          - CreditCardReferenceTransaction
          - DebitCard
          - PayPal
          type: string
        UseDefaultRetryRule:
          description: "Determines whether to use the default retry rules configured\
            \ in the Z-Payments settings. Set this to `true` to use the default retry\
            \ rules. Set this to `false` to set the specific rules for this payment\
            \ method. If you set this value to `false`, then the fields, `PaymentRetryWindow`\
            \ and `MaxConsecutivePaymentFailures`, are required.\n**Character limit**:\
            \ 5 **Values**: `true` or `false` "
          type: boolean
      type: object
    - $ref: '#/definitions/PaymentMethodObjectCustomFields'
    example:
      AccountId: 2c93808457d787030157e0321fdf4fab
      CreditCardAddress1: 312 2nd Ave W
      CreditCardCity: Seattle
      CreditCardCountry: United States
      CreditCardExpirationMonth: 12
      CreditCardExpirationYear: 2020
      CreditCardHolderName: Somebody
      CreditCardNumber: '4111111111111111'
      CreditCardPostalCode: '98119'
      CreditCardState: Washington
      CreditCardType: Visa
      MaxConsecutivePaymentFailures: 10
      NumConsecutiveFailures: 3
      PaymentRetryWindow: 3
      Type: CreditCard
    required:
    - AccountId
    - Type
    - UseDefaultRetryRule
  ProxyCreateProduct:
    allOf:
    - properties:
        AllowFeatureChanges:
          description: " Controls whether to allow your users to add or remove features\
            \ while creating or amending a subscription.\n**Character** **limit**:\
            \ n/a\n**Values**: true, false (default) "
          type: boolean
        Category:
          description: |2
             Category of the product. Used by Zuora Quotes Guided Product Selector.
            **Character** **limit**: 100
            **Values**: One of the following:

            - Base Products
            - Add On Services
            - Miscellaneous Products
          type: string
        Description:
          description: ' A descriptionof the product. **Character limit**: 500 **Values**:
            a string of 500 characters or fewer '
          type: string
        EffectiveEndDate:
          description: 'The date when the product expires and can''t be subscribed
            to anymore, in `yyyy-mm-dd` format. **Character limit**: 29 '
          format: date
          type: string
        EffectiveStartDate:
          description: 'The date when the product becomes available and can be subscribed
            to, in `yyyy-mm-dd` format. **Character limit**: 29 '
          format: date
          type: string
        Name:
          description: 'The name of the product. This information is displayed in
            the product catalog pages in the web-based UI. **Character limit**: 100
            **Values**: a string of 100 characters or fewer '
          type: string
        SKU:
          description: |
            The unique SKU for the product. **Character limit**: 50 **Values**: one of the following:

            - leave null for automatic generated
            - an alphanumeric string of 50 characters or fewer
          type: string
      required:
      - EffectiveEndDate
      - EffectiveStartDate
      - Name
      type: object
    - $ref: '#/definitions/ProductObjectNSFields'
    - $ref: '#/definitions/ProductObjectCustomFields'
    example:
      Description: Create product via API
      EffectiveEndDate: '2066-10-20'
      EffectiveStartDate: '1966-10-20'
      Name: P_1476935173677
      SKU: API-SKU1476935173677
  ProxyCreateProductRatePlan:
    allOf:
    - properties:
        Description:
          description: 'A description of the product rate plan. **Character limit**:
            500 **Values**: a string of 500 characters or fewer '
          type: string
        EffectiveEndDate:
          description: " The date when the product rate plan expires and can't be\
            \ subscribed to, in `yyyy-mm-dd` format.\n**Character limit**: 29 "
          format: date
          type: string
        EffectiveStartDate:
          description: " The date when the product rate plan becomes available and\
            \ can be subscribed to, in `yyyy-mm-dd` format.\n**Character limit**:\
            \ 29 "
          format: date
          type: string
        Name:
          description: 'The name of the product rate plan. The name doesn''t have
            to be unique in a Product Catalog, but the name has to be unique within
            a product. **Character limit**: 100 **Values**: a string of 100 characters
            or fewer '
          type: string
        ProductId:
          description: 'The ID of the product that contains the product rate plan.
            **Character limit**: 32 **Values**: a string of 32 characters or fewer '
          type: string
      required:
      - Name
      - ProductId
      type: object
    - $ref: '#/definitions/ProductRatePlanObjectNSFields'
    - $ref: '#/definitions/ProductRatePlanObjectCustomFields'
    example:
      Description: Test create product rateplan via API
      EffectiveEndDate: '2066-10-20'
      EffectiveStartDate: '1966-10-20'
      Name: ProductRatePlan1476935173957
      ProductId: 2c93808457d787030157e03246ae5129
  ProxyCreateProductRatePlanCharge:
    allOf:
    - properties:
        AccountingCode:
          description: 'The accounting code for the charge. Accounting codes group
            transactions that contain similar accounting attributes. **Character limit**:
            100 **Values**: an active accounting code in your Zuora Chart of Accounts '
          type: string
        ApplyDiscountTo:
          description: |
            Specifies the type of charges that you want a specific discount to apply to. All field values are case sensitive: note that these values are in all-caps. **Character limit**: 21 **Values**: one of the following:

            - `ONETIME (1)`
            - `RECURRING (2)`
            - `USAGE (4)`
            - `ONETIMERECURRING (3)`
            - `ONETIMEUSAGE (5)`
            - `RECURRINGUSAGE (6)`
            - `ONETIMERECURRINGUSAGE (7)`
          type: string
        BillCycleDay:
          description: " Sets the bill cycle day (BCD) for the charge. The BCD determines\
            \ which day of the month customer is billed. The BCD value in the account\
            \ can override the BCD in this object.\n**Character limit**: 2 **Values**:\
            \ a valid BCD integer, 1 - 31 "
          format: int32
          type: integer
        BillCycleType:
          description: |2
             Specifies how to determine the billing day for the charge. **Character limit**: 20 **Values**: one of the following:

            - `DefaultFromCustomer`
            - `SpecificDayofMonth:`
            - `SubscriptionStartDay`
            - `ChargeTriggerDay`
            - `SpecificDayofWeek`
            **Note**:

            - If you set this field to `SpecificDayofMonth`, you must specify which day of the month as the billing day for the charge in the BillCycleDay field.
            - If you set this field to `SpecificDayofWeek`, you must specify which day of the week as the billing day for the charge in the WeeklyBillCycleDay field.
          type: string
        BillingPeriod:
          description: " The billing period for the charge. The start day of the billing\
            \ period is also called the bill cycle day (BCD).\n**Character limit**:\
            \ 15 **Values**: one of the following\n\n- `Month`\n- `Quarter`\n- `Annual`\n\
            - `Semi-Annual`\n- `Specific Months`\n- `Subscription Term` (This value\
            \ is in **Limited Availability**.)\n- `Week`\n- `Specific Weeks`\n**Note**:\
            \ Specify the number of months or weeks in the SpecificBillingPeriod field\
            \ if you set this field to `Specific Months` or `Specific Weeks`. "
          type: string
        BillingPeriodAlignment:
          description: |2
             Aligns charges within the same subscription if multiple charges begin on different dates.
            **Character limit**: 24 **Values**: one of the following:

            - `AlignToCharge`
            - `AlignToSubscriptionStart`
            - `AlignToTermStart`
          type: string
        BillingTiming:
          description: |2+
             The billing timing for the charge. You can choose to bill in advance or in arrears for recurring charge types. This field is not used in one-time or usage based charge types.
            **Character limit**: **Values**: one of the following:

            - `In Advance`
            - `In Arrears`

            This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

          type: string
        ChargeModel:
          description: |2
             Determines how to calculate charges. Charge models must be individually activated in Zuora Billing administration.
            **Character limit**: 27 **Values**: one of the following:

            - `Discount-Fixed Amount`
            - `Discount-Percentage`
            - `Flat Fee Pricing`
            - `Per Unit Pricing`
            - `Overage Pricing`
            - `Tiered Pricing`
            - `Tiered with Overage Pricing`
            - `Volume Pricing`
          type: string
        ChargeType:
          description: |2
             Specifies the type of charge.
            **Character limit**: 9 **Values**: one of the following:

            - `OneTime`
            - `Recurring`
            - `Usage`
          type: string
        DefaultQuantity:
          description: " The default quantity of units, such as the number of authors\
            \ in a hosted wiki service. This field is required if you use a per-unit\
            \ pricing model.\n**Character limit**: 16 **Values**: a valid quantity\
            \ value "
          format: double
          type: number
        DeferredRevenueAccount:
          description: |2+
             The name of the deferred revenue account for this charge.
            **Character limit**: 100 **Values**: an active accounting code in your Zuora Chart of Accounts
            This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

          type: string
        Description:
          description: 'A description of the charge. **Character limit**: 500 **Values**:
            a string of 500 characters or fewer '
          type: string
        DiscountLevel:
          description: |2
             Specifies if the discount applies to just the product rate plan, the entire subscription, or to any activity in the account.
            **Character limit**: 12 **Values**: one of the following:

            - `rateplan`
            - `subscription`, `account`
          type: string
        EndDateCondition:
          description: " Defines when the charge ends after the charge trigger date.\n\
            **Values**: one of the following:\n\n- `SubscriptionEnd`: The charge ends\
            \ on the subscription end date after a specified period based on the trigger\
            \ date of the charge. This is the default value.\n- `FixedPeriod`: The\
            \ charge ends after a specified period based on the trigger date of the\
            \ charge. If you set this field to `FixedPeriod`, you must specify the\
            \ length of the period and a period type by defining the `UpToPeriods`\
            \ and `UpToPeriodsType` fields.\n**Note**: If the subscription ends before\
            \ the charge end date, the charge ends when the subscription ends. But\
            \ if the subscription end date is subsequently changed through a Renewal,\
            \ or Terms and Conditions amendment, the charge will end on the charge\
            \ end date. "
          type: string
        IncludedUnits:
          description: 'Specifies the number of units in the base set of units. **Character
            limit**: 16 **Values**: a positive decimal value '
          format: double
          type: number
        LegacyRevenueReporting:
          description: ''
          type: boolean
        ListPriceBase:
          description: |
            The list price base for the product rate plan charge. **Values**: one of the following:

            - `Per Month`
            - `Per Billing Period`
            - `Per Week`
          type: string
        MaxQuantity:
          description: " Specifies the maximum number of units for this charge. Use\
            \ this field and the `MinQuantity` field to create a range of units allowed\
            \ in a product rate plan charge.\n**Character limit**: 16 **Values**:\
            \ a positive decimal value "
          format: double
          type: number
        MinQuantity:
          description: 'Specifies the minimum number of units for this charge. Use
            this field and the `MaxQuantity` field to create a range of units allowed
            in a product rate plan charge. **Character limit**: 16 **Values**: a positive
            decimal value '
          format: double
          type: number
        Name:
          description: 'The name of the product rate plan charge. **Character limit**:
            100 **Values**: a string of 100 characters or fewer '
          type: string
        NumberOfPeriod:
          description: 'Specifies the number of periods to use when calculating charges
            in an overage smoothing charge model. **Character limit**: **Values**:
            a positive whole number '
          format: int64
          type: integer
        OverageCalculationOption:
          description: |
            Determines when to calculate overage charges. If the value of the SmoothingMode field is not specified, the value of this field is ignored. **Character limit**: 20 **Values**: one of the following:

            - `EndOfSmoothingPeriod`: This option is used by default. The overage is charged at the end of the smoothing period.
            - `PerBillingPeriod`: The overage is charged on-demand rather than waiting until the end of the smoothing period.
          type: string
        OverageUnusedUnitsCreditOption:
          description: |2
             Determines whether to credit the customer with unused units of usage.
            **Character limit**: 20 **Values**: one of the following:

            - `NoCredit`
            - `CreditBySpecificRate`
          type: string
        PriceChangeOption:
          description: |2
             Applies an automatic price change when a termed subscription is renewed.
            **Character limit**: **Values**: one of the following:

            - `NoChange` (default)
            - `SpecificPercentageValue`
            - `UseLatestProductCatalogPricing`
          type: string
        PriceIncreaseOption:
          description: 'Applies an automatic price change when a termed subscription
            is renewed.

            '
          enum:
          - FromTenantPercentageValue
          - SpecificPercentageValue
          type: string
        PriceIncreasePercentage:
          description: " Specifies the percentage to increase or decrease the price\
            \ of a termed subscription's renewal. Use this field if you set the value\
            \ to `SpecificPercentageValue`.\n**Character limit**: 16 **Values**: a\
            \ decimal value between -100 and 100 "
          format: double
          type: number
        ProductRatePlanChargeTierData:
          $ref: '#/definitions/ProxyCreateOrModifyProductRatePlanChargeTierData'
        ProductRatePlanId:
          description: " The ID of the product rate plan associated with this product\
            \ rate plan charge.\n**Character limit**: 32 **Values**: a valid product\
            \ rate plan ID "
          type: string
        RatingGroup:
          description: "Specifies a rating group based on which usage records are\
            \ rated.\n\n**Note:** This feature is in **Limited Availability**. If\
            \ you wish to have access to the feature, submit a request at [Zuora Global\
            \ Support](http://support.zuora.com/).\n\nPossible values:\n\n- `ByBillingPeriod`\
            \ (default): The rating is based on all the usages in a billing period.\n\
            - `ByUsageStartDate`: The rating is based on all the usages on the same\
            \ usage start date. \n- `ByUsageRecord`: The rating is based on each usage\
            \ record.\n- `ByUsageUpload`: The rating is based on all the  usages in\
            \ a uploaded usage file (`.xls` or `.csv`).\n- `ByGroupId`: The rating\
            \ is based on all the usages in a custom group.\n\n**Note:** \n- The `ByBillingPeriod`\
            \ value can be applied for all charge models. \n- The `ByUsageStartDate`,\
            \ `ByUsageRecord`, and `ByUsageUpload` values can only be applied for\
            \ per unit, volume pricing, and tiered pricing charge models. \n- The\
            \ `ByGroupId` value is only available if you have the Active Rating feature\
            \ enabled.\n- Use this field only for Usage charges. One-Time Charges\
            \ and Recurring Charges return `NULL`.\n"
          type: string
        RecognizedRevenueAccount:
          description: |2+
             The name of the recognized revenue account for this charge.

            - Required when the Allow Blank Accounting Code setting is No.
            - Optional when the Allow Blank Accounting Code setting is Yes.

            **Character limit**: 100 **Values**: an active accounting code in your Zuora Chart of Accounts
            This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

          type: string
        RevRecCode:
          description: 'Associates this product rate plan charge with a specific revenue
            recognition code. **Character limit**: 70 **Values**: a valid revenue
            recognition code '
          type: string
        RevRecTriggerCondition:
          description: |2
             Specifies when revenue recognition begins.
            **Character limit**: 22 **Values**: one of the following:

            - `ContractEffectiveDate`
            - `ServiceActivationDate`
            - `CustomerAcceptanceDate`
          type: string
        RevenueRecognitionRuleName:
          description: |
            Determines when to recognize the revenue for this charge. **Character limit**: 25 **Values**: one of the following:

            - `Recognize upon invoicing`
            - `Recognize daily over time`
          type: string
        SmoothingModel:
          description: |2
             Specifies the smoothing model for an overage smoothing charge model.
            **Character limit**: 22 **Values**: one of the following:

            - `RollingWindow`
            - `Rollover`
          type: string
        SpecificBillingPeriod:
          description: " Customizes the number of months or weeks for the charges\
            \ billing period. This field is required if you set the value of the BillingPeriod\
            \ field to `Specific Months` or `Specific Weeks`.\n**Values**: a positive\
            \ integer "
          format: int64
          type: integer
        TaxCode:
          description: " Specifies the tax code for taxation rules. Required when\
            \ the Taxable field is set to `True`.\n\n**Character limit**: 64\n\n**Values**:\
            \ a valid tax code\n\n**Note**: This value affects the tax calculation\
            \ of rate plan charges that come from the `ProductRatePlanCharge`. "
          type: string
        TaxMode:
          description: " Determines how to define taxation for the charge. Required\
            \ when the Taxable field is set to `True`.\n\n**Character limit**: 12\n\
            \n**Values**: one of the following:\n\n- `TaxExclusive`\n- `TaxInclusive`\n\
            \n**Note**: This value affects the tax calculation of rate plan charges\
            \ that come from the `ProductRatePlanCharge`. "
          type: string
        Taxable:
          description: " Determines whether the charge is taxable. When set to `True`,\
            \ the TaxMode and TaxCode fields are required when creating or updating\
            \ th ProductRatePlanCharge object.\n\n**Character limit**: 5\n\n**Values**:\
            \ `True`, `False`\n\n**Note**: This value affects the tax calculation\
            \ of rate plan charges that come from the `ProductRatePlanCharge`. "
          type: boolean
        TriggerEvent:
          description: |2
             Specifies when to start billing the customer for the charge.
            **Character limit**: 18 **Values**: one of the following:

            - `ContractEffective` is the date when the subscription's contract goes into effect and the charge is ready to be billed.
            - `ServiceActivation` is the date when the services or products for a subscription have been activated and the customers have access.
            - `CustomerAcceptance` is when the customer accepts the services or products for a subscription.
          type: string
        UOM:
          description: |2
             Specifies the units to measure usage.
            **Character limit**: 25 **Values**: a configured unit of measure **Note**: You must specify this field when creating the following charge models:

            - Per Unit Pricing
            - Volume Pricing
            - Overage Pricing
            - Tiered Pricing
            - Tiered with Overage Pricing
          type: string
        UpToPeriods:
          description: |2
             Specifies the length of the period during which the charge is active. If this period ends before the subscription ends, the charge ends when this period ends.
            **Character limit**: 5 **Values**: a whole number between 0 and 65535, exclusive **Note**:

            - You must use this field together with the `UpToPeriodsType` field to specify the time period. This field is applicable only when the `EndDateCondition` field is set to `FixedPeriod`.
            - If the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge end date will change accordingly up to the original period end.
          format: int64
          type: integer
        UpToPeriodsType:
          description: |2
             The period type used to define when the charge ends.
            **Character limit**: -- **Values**: one of the following:

            - `Billing Periods` (default)
            - `Days`
            - `Weeks`
            - `Months`
            - `Years`

            **Note**:

            - You must use this field together with the `UpToPeriods` field to specify the time period.
            - This field is applicable only when the `EndDateCondition` field is set to `FixedPeriod`.
          type: string
        UsageRecordRatingOption:
          default: EndOfBillingPeriod
          description: "Determines how Zuora processes usage records for per-unit\
            \ usage charges. \n"
          enum:
          - EndOfBillingPeriod
          - OnDemand
          type: string
        UseDiscountSpecificAccountingCode:
          description: 'Determines whether to define a new accounting code for the
            new discount charge. **Character limit**: 5 **Values**: `True`, `False` '
          type: boolean
        UseTenantDefaultForPriceChange:
          description: ' Applies the tenant-level percentage uplift value for an automatic
            price change to a termed subscription''s renewal. **Character limit**:
            5 **Values**: `true`, `false` '
          type: boolean
        WeeklyBillCycleDay:
          description: |2
             Specifies which day of the week as the bill cycle day (BCD) for the charge.
            This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

            **Values**: one of the following:

            - `Sunday`
            - `Monday`
            - `Tuesday`
            - `Wednesday`
            - `Thursday`
            - `Friday`
            - `Saturday`
          type: string
      type: object
    - $ref: '#/definitions/ProductRatePlanChargeObjectNSFields'
    - $ref: '#/definitions/ProductRatePlanChargeObjectCustomFields'
    example:
      AccountingCode: Deferred Revenue
      BillCycleType: DefaultFromCustomer
      BillingPeriod: Month
      ChargeModel: Volume Pricing
      ChargeType: Recurring
      DeferredRevenueAccount: Deferred Revenue
      Name: Recurring flat fee
      ProductRatePlanChargeTierData:
        ProductRatePlanChargeTier:
        - Currency: USD
          Price: 10
      ProductRatePlanId: 2c92c0f8628e007901628f1dc06a453d
      RecognizedRevenueAccount: Accounts Receivable
      TriggerEvent: ContractEffective
      UOM: each
      UseDiscountSpecificAccountingCode: false
  ProxyCreateRefund:
    allOf:
    - properties:
        AccountId:
          description: " The ID of the account associated with this refund. This field\
            \ is only required if you create a non-referenced refund. Don't specify\
            \ a value for any other type of refund; Zuora associates the refund automatically\
            \ with the account from the associated payment.\n**Character limit**:\
            \ 32 **Values**: a valid account ID "
          type: string
        Amount:
          description: " The amount of the refund. The amount can't exceed the amount\
            \ of the associated payment. If the original payment was applied to a\
            \ single invoice, then you can create a partial refund. However, if the\
            \ payment was applies to multiple invoices, then you can only make a partial\
            \ refund through the web-based UI, not through the API.\n**Character limit**:\
            \ 16 **Values**: a valid currency amount "
          format: double
          type: number
        Comment:
          description: " Use this field to record comments about the refund.\n**Character\
            \ limit**: 255 **Values**: a string of 255 characters or fewer "
          type: string
        GatewayOptionData:
          description: |
            A field used to pass gateway options. Zuora allows you to pass in special gateway-specific parameters for payments that go through the Adyen, Autorize.et, CyberSource, Merchant eSolutions, Orbital (Chase Paymentech), QValent, Vantiv, and Verifi gateways.

            For each of these special parameters, you supply the name-value pair and Zuora passes it to the gateway. This allows you to add functionality that's supported by a specific gateway but currently not supported by Zuora.
          properties:
            GatewayOption:
              description: ''
              items:
                $ref: '#/definitions/GatewayOption'
              maxItems: 200
              minItems: 0
              type: array
          required:
          - GatewayOption
          type: object
        GatewayState:
          description: " The status of the payment in the gateway.\n**Character limit**:\
            \ 19 **Values**: automatically generated "
          type: string
        MethodType:
          description: |2
             Indicates how an external refund was issued to a customer. This field is only required if the `Type` field is set to ` External`. You can issue an external refund on an electronic payment. **Character limit**: 30 **Values**:

            - `ACH`
            - `Cash`
            - `Check`
            - `CreditCard`
            - `Other`
            - `PayPal`
            - `WireTransfer`
            - `DebitCard`
            - `CreditCardReferenceTransaction`
          type: string
        PaymentMethodId:
          description: " The unique ID of the payment method that the customer used\
            \ to make the payment. This field is only required if you create a non-referenced\
            \ refund.\n**Character limit**: 32 **V****alues**: a valid payment method\
            \ ID "
          type: string
        ReasonCode:
          description: " A code identifying the reason for the transaction. Must be\
            \ an existing reason code or empty. If you do not specify a value, Zuora\
            \ uses the default reason code.\n**Character limit**: 32 **V****alues**:\
            \ a valid reason code "
          type: string
        RefundDate:
          description: " The date of the refund, in `yyyy-mm-dd` format. The date\
            \ of the refund cannot be before the payment date. This field is only\
            \ required if the `Type` field is set to ` External`. Zuora automatically\
            \ generates this field for electronic refunds.\n**Character limit**: 29 "
          format: date
          type: string
        RefundInvoicePaymentData:
          description: 'Container for the refund invoice payment data. This field
            is only required if you apply a full or partical refund against a payment
            attached to muliple invoices.

            '
          properties:
            RefundInvoicePayment:
              description: ''
              items:
                $ref: '#/definitions/RefundInvoicePayment'
              maxItems: 200
              minItems: 0
              type: array
          required:
          - RefundInvoicePayment
          type: object
        SoftDescriptor:
          description: |2
             A payment gateway-specific field that maps Zuora to other gateways . **Character limit**: 35 **Values**:

            - 3-byte company identifier &quot;*&quot; 18-byte descriptor
            - 7-byte company identifier &quot;*&quot; 14-byte descriptor
            - 12-byte company identifier &quot;*&quot; 9-byte descriptor
          type: string
        SoftDescriptorPhone:
          description: |2
             A payment gateway-specific field that maps Zuora to other gateways . **Character limit**: 20 **Values**:

            - Customer service phone number formatted as: `NNN-NNN-NNNN` or `NNN-AAAAAAA`
            - URL (non-e-Commerce): Transactions sent with a URL do not qualify for the best interchange rate
            - Email address
          type: string
        SourceType:
          description: |2
             Specifies whether the refund is a refund payment or a credit balance. This field is only required if you create a non-referenced refund. If you creating an non-referenced refund, then set this value to `CreditBalance`.
            **Character limit**: 13 **Values**:

            - `Payment`
            - `CreditBalance`
          type: string
        Type:
          description: |2
             Specifies if the refund is electronic or external.
            **Character limit**: 10 **Values**:

            - `Electronic`
            - External
          type: string
      required:
      - Amount
      - Type
      type: object
    - $ref: '#/definitions/RefundObjectNSFields'
    - $ref: '#/definitions/RefundObjectCustomFields'
    example:
      AccountId: 2c93808457d787030157e03190e748ea
      Amount: 1.1
      Comment: this is comments
      PaymentId: 2c93808457d787030157e03197714910
      ReasonCode: Standard Refund
      RefundInvoicePaymentData:
        RefundInvoicePayment:
        - InvoiceId: 2c93808457d787030157e03195604902
          RefundAmount: 1.1
      SoftDescriptor: thisSD
      SoftDescriptorPhone: contact@example.com
      SourceType: Payment
      Type: Electronic
  ProxyCreateTaxationItem:
    allOf:
    - properties:
        AccountingCode:
          description: ' The Chart of Accounts '
          type: string
        ExemptAmount:
          description: " The amount of taxes or VAT for which the customer has an\
            \ exemption.\n**Character limit**: 16 **Values**: a decimal value "
          format: double
          type: number
        InvoiceItemId:
          description: " The ID of the specific invoice item that the taxation information\
            \ applies to.\n**Character limit**: 32 **Values**: a valid invoice item\
            \ ID "
          type: string
        Jurisdiction:
          description: " The jurisdiction that applies the tax or VAT. This value\
            \ is typically a state, province, county, or city.\n**Character limit**:\
            \ 32 **Values**: a string of 32 characterrs or fewer "
          type: string
        LocationCode:
          description: " The identifier for the location based on the value of the\
            \ `TaxCode` field.\n**Character limit**: 32 **Values**: automatically\
            \ generated "
          type: string
        Name:
          description: " The name of the tax rate, such as sales tax or GST. This\
            \ name is displayed on invoices.\n**Character limit**: 128 **Values**:\
            \ a string of 128 characters or fewer "
          type: string
        TaxAmount:
          description: " The amount of the tax applied to the charge.\n**Character\
            \ limit**: 16 **Values**: a decimal value "
          format: double
          type: number
        TaxCode:
          description: " The tax code identifies which tax rules and tax rates to\
            \ apply to a specific charge.\n**Character limit**: 32 **Values**: a string\
            \ of 32 characters or fewer "
          type: string
        TaxCodeDescription:
          description: " The description for the tax code.\n**Character limit**: 255\
            \ **Values**: a string of 255 characters or fewer "
          type: string
        TaxDate:
          description: " The date that the tax is applied to the charge, in `yyyy-mm-dd`\
            \ format.\n**Character limit**: 29 "
          format: date
          type: string
        TaxRate:
          description: " The tax rate applied to the charge.\n**Character limit**:\
            \ 16 **Values**: a valid decimal value "
          format: double
          type: number
        TaxRateDescription:
          description: " The description of the tax rate.\n**Character limit**: 255\
            \ **Values**: a string of 255 characters or fewer "
          type: string
        TaxRateType:
          description: " The type of the tax rate applied to the charge.\n**Character\
            \ limit**: 10 **Values**: `Percentage`, `FlatFee` "
          type: string
      required:
      - InvoiceItemId
      - Jurisdiction
      - Name
      - TaxAmount
      - TaxRate
      - TaxDate
      - TaxRateType
      type: object
    - $ref: '#/definitions/TaxationItemObjectCustomFields'
    example:
      AccountingCode: Usage Revenue
      ExemptAmount: 50
      InvoiceItemId: 2c93808457d787030157e0306cd43a88
      Jurisdiction: test
      LocationCode: code - 001
      Name: test
      TaxAmount: 3
      TaxCode: taxcode
      TaxCodeDescription: description
      TaxDate: '2016-10-20'
      TaxMode: TaxExclusive
      TaxRate: 3
      TaxRateDescription: test
      TaxRateType: FlatFee
  ProxyCreateUnitOfMeasure:
    example:
      Active: true
      DecimalPlaces: 9
      DisplayedAs: name_display_name_1476935033519
      RoundingMode: UP
      UomName: name_1476935033519
    properties:
      Active:
        description: " Indicates if the UOM is available for new product rate plans.\
          \ The default value is `true`.\n**Character limit**: 5 **Values**: `true`,\
          \ `false ` "
        type: boolean
      DecimalPlaces:
        description: 'The number of digits to the right of the decimal point that
          you want to measure for the unit. To use whole numbers only, set this value
          to 0. You can''t change this value after this `UOM` is used in any product,
          subscription, or usage. **Character limit**: 1 **Values**: an integer between
          0 and 9, exclusive '
        format: int64
        type: integer
      DisplayedAs:
        description: 'The name of the UOM that you want displayed on invoices. The
          default value is the `UomName` field value. **Character limit**: 50 **Values**:
          A string of 50 characters or fewer '
        type: string
      RoundingMode:
        description: " Specifies whether to round the UOM value up or down when the\
          \ value exceeds the `DecimalPlaces` field value. The default value is `Up`.\n\
          **Character limit**: 4 **Values**: `Up`, `Down` "
        type: string
      UomName:
        description: " The name of the UOM, such as license or GB. This name is displayed\
          \ in query results and in the web-based UI labels. If you want a different\
          \ name to be displayed on invoices, then use the `DisplayedAs` field to\
          \ provide the invoice label.\n**Character limit**: 50 **Values**: a string\
          \ of 50 characters or fewer "
        type: string
    required:
    - DecimalPlaces
    - UomName
    type: object
  ProxyCreateUsage:
    allOf:
    - properties:
        AccountId:
          description: " The ID of the account associated with the usage data. This\
            \ field is only required if no value is specified for the `AccountNumber`\
            \ field.\n**Character limit**: 32 **Values**: a valid account ID. "
          type: string
        AccountNumber:
          description: " The number of the account associated with the usage data.\
            \ This field is only required if no value is specified for the `AccountId`\
            \ field.\n**Character limit**: 50 **Values**: a valid account number. "
          type: string
        ChargeId:
          description: ' The OrginalId of the rate plan charge related to the usage
            record, e.g., `2c9081a03c63c94c013c6873357a0117` **Character limit**:
            32 **Values**: a valid rate plan charge OriginalID. '
          type: string
        ChargeNumber:
          description: 'A unique number for the rate plan charge related to the usage
            record. For example, C-00000007.

            '
          maxLength: 50
          type: string
        Description:
          description: 'A description of the usage record.

            '
          maxLength: 200
          type: string
        EndDateTime:
          description: " The end date and time of a range of time when usage is tracked.\
            \ Use this field for reporting; this field doesn't affect usage calculation.\n\
            **Character limit**: 29 **Values**: a valid date and time value. "
          format: date-time
          type: string
        Quantity:
          description: " Indicates the number of units used.\n**Character limit**:\
            \ 16 **Values**: a valid decimal amount equal to or greater than 0 "
          format: double
          type: number
        StartDateTime:
          description: " The start date and time of a range of time when usage is\
            \ tracked. Zuora uses this field value to determine the usage date. Unlike\
            \ the `EndDateTime`, the `StartDateTime` field does affect usage calculation.\n\
            **Character limit**: 29 **Values**: a valid date and time value "
          format: date-time
          type: string
        SubmissionDateTime:
          description: " The date when usage was submitted.\n**Character limit**:\
            \ 29 **Values**: automatically generated "
          format: date-time
          type: string
        SubscriptionId:
          description: |
            The ID of the subscription that contains the fees related to the usage data.

            The ID of a subscription might change when you create amendments to the subscription. It is good practice to use the unique subscription number that you can specify in the `SubscriptionNumber` field.
          maxLength: 32
          type: string
        SubscriptionNumber:
          description: |
            The unique identifier number of the subscription that contains the fees related to the usage data.

            It is good practice to use this field when creating usage records.
          maxLength: 100
          type: string
        UOM:
          description: " Specifies the units to measure usage. Units of measure are\
            \ configured in the web-based UI. Your values depend on your configuration\
            \ in **Billing Settings**.\n**Character limit**: **Values**: a valid unit\
            \ of measure "
          type: string
      required:
      - Quantity
      - StartDateTime
      - UOM
      type: object
    - $ref: '#/definitions/UsageObjectCustomFields'
    example:
      AccountId: 2c92c0f956bc8fb40156d502fc3718b1
      ChargeNumber: C-00000229
      Description: test
      Quantity: 9
      StartDateTime: '2017-12-01T16:41:36.000+01:00'
      SubscriptionNumber: A-S00000100
      UOM: Each
  ProxyDeleteResponse:
    properties:
      id:
        description: ''
        type: string
      success:
        description: ''
        type: boolean
    type: object
  ProxyGetAccount:
    allOf:
    - properties:
        AccountNumber:
          description: |
            Unique account number assigned to the account. **Character limit**: 50 **Values**: one of the following:

            - null to auto-generate
            - a string of 50 characters or fewer that doesn't begin with the default account number prefix
          type: string
        AdditionalEmailAddresses:
          description: 'List of additional email addresses to receive emailed invoices.
            **Character limit**: 120 **Values**: comma-separated list of email addresses '
          type: string
        AllowInvoiceEdit:
          description: " Indicates if associated invoices can be edited.\n**Character\
            \ limit**: 5 **Values**: `true`, `false` (default if left null) "
          type: boolean
        AutoPay:
          description: " Indicates if future payments are automatically collected\
            \ when they're due during a Payment Run.\n**Character limit**: 5 **Values**:\
            \ `true`, `false` (default) "
          type: boolean
        Balance:
          description: 'Current outstanding balance for the account. **Character limit**:
            16 **Values**: automatically generated '
          format: double
          type: number
        Batch:
          description: " Organizes your customer accounts into groups to optimize\
            \ your billing and payment operations. Required if you use the Subscribe\
            \ call\n**Character limit**: 20 **Values**:any system-defined batch (`Batch1`\
            \ - `Batch50 `or by name). "
          type: string
        BcdSettingOption:
          description: 'Billing cycle day setting option. **Character limit**: 9 **Values**:
            `AutoSet`, `ManualSet` '
          type: string
        BillCycleDay:
          description: 'Billing cycle day (BCD) on which bill runs generate invoices
            for the account. **Character limit**: 2 **Values**: any activated system-defined
            bill cycle day (`1` - `31`) '
          format: int32
          type: integer
        BillToId:
          description: 'ID of the person to bill for the account. **Character limit**:
            32 **Values**: a valid contact ID for the account '
          type: string
        CommunicationProfileId:
          description: 'Associates the account with a specified communication profile.
            **Character limit**: 32 **Values**: a valid communication profile ID '
          type: string
        CreatedById:
          description: 'ID of the Zuora user who created the Account object. **Character
            limit**: 32 **Values**: automatically generated '
          type: string
        CreatedDate:
          description: 'Date when the Account object was created. **Character limit**:
            29 **Values**: automatically generated '
          format: date-time
          type: string
        CreditBalance:
          description: 'Total credit balance for the account. **Character limit**:
            16 **Values**: automatically generated '
          format: double
          type: number
        CrmId:
          description: 'CRM account ID for the account. A CRM is a customer relationship
            management system, such as Salesforce.com. **Character limit**: 100 **Values**:
            a string of 100 characters or fewer '
          type: string
        Currency:
          description: ' Currency that the customer is billed in. '
          type: string
        CustomerServiceRepName:
          description: 'Name of the account''s customer service representative, if
            applicable. **Character limit**: 50 **Values**: a string of 50 characters
            or fewer '
          type: string
        DefaultPaymentMethodId:
          description: 'ID of the default payment method for the account. This field
            is required if the AutoPay field is set to `true`. **Character limit**:
            32 **Values**: a valid ID for an existing payment method '
          type: string
        Id:
          description: Object identifier.
          type: string
        InvoiceDeliveryPrefsEmail:
          description: 'Indicates if the customer wants to receive invoices through
            email.  **Character limit**: 5 **Values**: `true`, `false` (default if
            left null) '
          type: boolean
        InvoiceDeliveryPrefsPrint:
          description: 'Indicates if the customer wants to receive printed invoices,
            such as through postal mail. **Character limit**: 5 **Values**: `true`,
            `false` (default if left null) '
          type: boolean
        InvoiceTemplateId:
          description: 'The ID of the invoice template. Each customer account can
            use a specific invoice template for invoice generation. **Character limit**:
            32 **Values**: a valid template ID configured in Zuora Billing Settings '
          type: string
        LastInvoiceDate:
          description: " The date when the previous invoice was generated for the\
            \ account. The field value is null if no invoice has ever been generated\
            \ for the account.\n**Character limit**: 29 **Values**: automatically\
            \ generated "
          format: date
          type: string
        Name:
          description: 'Name of the account as displayed in the Zuora UI. **Character
            limit**: 255 **Values**: a string of 255 characters or fewer '
          type: string
        Notes:
          description: ' Comments about the account. **Character limit**: 65,535 **Values**:
            a string of 65,535 characters '
          type: string
        ParentId:
          description: 'Identifier of the parent customer account for this Account
            object. Use this field if you have customer hierarchy enabled. **Character
            limit**: 32 **Values**: a valid account ID '
          type: string
        PaymentGateway:
          description: |
            Gateway used for processing electronic payments and refunds. **Character limit**: 40 **Values**: one of the following:

            - a valid configured gateway name
            - Null to inherit the default value set in Payment Settings
          type: string
        PaymentTerm:
          description: 'Indicates when the customer pays for subscriptions. **Character
            limit**: 100 **Values**: a valid, active payment term defined in the web-based
            UI administrative settings '
          type: string
        PurchaseOrderNumber:
          description: 'The number of the purchase order associated with this account.
            Purchase order information generally comes from customers. **Character
            limit**: 100 **Values**: a string of 100 characters or fewer '
          type: string
        SalesRepName:
          description: 'The name of the sales representative associated with this
            account, if applicable. **Character limit**: 50 **Values**: a string of
            50 characters or fewer '
          type: string
        SoldToId:
          description: 'ID of the person who bought the subscription associated with
            the account. **Character limit**: 32 **Values**: a valid contact ID for
            the account '
          type: string
        Status:
          description: 'Status of the account in the system.

            '
          enum:
          - Draft
          - Active
          - Canceled
          type: string
        TaxCompanyCode:
          description: " Unique code that identifies a company account in Avalara.\
            \ Use this field to calculate taxes based on origin and sold-to addresses\
            \ in Avalara.\nThis feature is in **Limited Availability**. If you wish\
            \ to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).\n\
            \n**Character limit**: 50 **Values**: a valid company code "
          type: string
        TaxExemptCertificateID:
          description: 'ID of your customer''s tax exemption certificate. **Character
            limit**: 32 **Values**: a string of 32 characters or fewer '
          type: string
        TaxExemptCertificateType:
          description: 'Type of the tax exemption certificate that your customer holds.  **Character
            limit**: 32 **Values**: a string of 32 characters or fewer '
          type: string
        TaxExemptDescription:
          description: 'Description of the tax exemption certificate that your customer
            holds. **Character limit**: 500 **Values**: a string of 500 characters
            or fewer '
          type: string
        TaxExemptEffectiveDate:
          description: 'Date when the the customer''s tax exemption starts. **Character
            limit**: 29 **Version notes**: requires Zuora Tax '
          format: date
          type: string
        TaxExemptExpirationDate:
          description: 'Date when the customer''s tax exemption certificate expires  **Character
            limit**: 29 **Version notes**: requires Zuora Tax '
          format: date
          type: string
        TaxExemptIssuingJurisdiction:
          description: 'Indicates the jurisdiction in which the customer''s tax exemption
            certificate was issued. **Character limit**: 32 **Values**: a string of
            32 characters or fewer '
          type: string
        TaxExemptStatus:
          description: |2
             Status of the account's tax exemption. Required if you use Zuora Tax.
            **Character limit**: 19 **Values**: one of the following:

            - `Yes`
            - `No`
            - `PendingVerification`
          type: string
        TotalInvoiceBalance:
          description: 'Total balance of the account''s invoices. **Character limit**:
            16 **Values**: a valid currency value '
          format: double
          type: number
        UpdatedById:
          description: 'ID of the user who last updated the account. **Character limit**:
            32 **Values**: automatically generated '
          type: string
        UpdatedDate:
          description: 'Date when the account was last updated. **Character limit**:
            29 **Values**: automatically generated '
          format: date-time
          type: string
        VATId:
          description: " EU Value Added Tax ID.\nThis feature is in **Limited Availability**.\
            \ If you wish to have access to the feature, submit a request at [Zuora\
            \ Global Support](http://support.zuora.com/).\n\n**Character limit**:\
            \ 25 **Values**: a valid Value Added Tax ID "
          type: string
      type: object
    - $ref: '#/definitions/AccountObjectNSFields'
    - $ref: '#/definitions/AccountObjectCustomFields'
  ProxyGetAmendment:
    allOf:
    - properties:
        AutoRenew:
          description: " Determines whether the subscription is automatically renewed,\
            \ or whether it expires at the end of the term and needs to be manually\
            \ renewed. **Required:** For amendment of type TermsAndConditions when\
            \ changing the automatic renewal status of a subscription.\n**Values**:\
            \ true, false "
          type: boolean
        Code:
          description: |2
             A unique alphanumeric string that identifies the amendment.
            **Character limit**: 50 **Values**: one of the following:

            - `null` generates a value automatically
            - A string
          type: string
        ContractEffectiveDate:
          description: " The date when the amendment's changes become effective for\
            \ billing purposes.\n**Version notes**: -- "
          format: date
          type: string
        CreatedById:
          description: " The user ID of the person who created the amendment.\n**Character\
            \ limit**: 32 **Values**: automatically generated "
          type: string
        CreatedDate:
          description: " The date when the amendment was created.\n**Values**: automatically\
            \ generated "
          format: date-time
          type: string
        CurrentTerm:
          description: " The length of the period for the current subscription term.\
            \ This field can be updated when Status is `Draft`.\n**Required**: Only\
            \ if the value of the Type field is set to `TermsAndConditions` and TermType\
            \ is set to `TERMED`. This field is not required if TermType is set to\
            \ `EVERGREEN`.\n**Character limit**: **Values**: a valid number "
          format: int64
          type: integer
        CurrentTermPeriodType:
          description: |2
             The period type for the current subscription term. **Values**:

            - `Month` (default)
            - `Year`
            - `Day`
            - `Week`
            **Note**:

            - This field can be updated when Status is `Draft`.
            - This field is used with the CurrentTerm field to specify the current subscription term.
          type: string
        CustomerAcceptanceDate:
          description: |
            The date when the customer accepts the amendment's changes to the subscription.

            This field is only required if [Zuora is configured to require customer acceptance in Z-Billing](https://knowledgecenter.zuora.com/CB_Billing/W_Billing_and_Payments_Settings/Define_Default_Subscription_Settings) and the subscription is currently in the Pending Acceptance status (the value of the `Status` field is currently `PendingAcceptance`).
          format: date
          type: string
        Description:
          description: " A description of the amendment.\n**Character limit**: 500\
            \ **Values**: maximum 500 characters "
          type: string
        EffectiveDate:
          description: " The date when the amendment's changes take effective. This\
            \ field validates that the amendment's changes are within valid ranges\
            \ of products and product rate plans.\n**Required**: For the cancellation\
            \ amendments. Optional for other types of amendments.\n**Version notes**:\
            \ -- "
          format: date
          type: string
        Id:
          description: Object identifier.
          type: string
        Name:
          description: " The name of the amendment.\n**Character limit**: 100 **Values**:\
            \ a string of 100 characters or fewer "
          type: string
        RenewalSetting:
          description: " Specifies whether a termed subscription will remain termed\
            \ or change to evergreen when it is renewed.\n**Required**: If TermType\
            \ is Termed **Values**: RENEW_WITH_SPECIFIC_TERM (default), RENEW_TO_EVERGREEN "
          type: string
        RenewalTerm:
          description: " The term of renewal for the amended subscription. This field\
            \ can be updated when Status is `Draft`.\n**Required**: Only if the value\
            \ of the Type field is set to `TermsAndConditions`.\n**Character limit**:\
            \ **Values:** a valid number "
          format: int64
          type: integer
        RenewalTermPeriodType:
          description: |2
             The period type for the subscription renewal term. This field can be updated when Status is `Draft`.
            **Required**: Only if the value of the Type field is set to `TermsAndConditions`. This field is used with the RenewalTerm field to specify the subscription renewal term.
            **Values**:

            - `Month` (default)
            - `Year`
            - `Day`
            - `Week`
          type: string
        ServiceActivationDate:
          description: |
            The date when service is activated.

            This field is only required if [Zuora is configured to require service activation in Z-Billing](https://knowledgecenter.zuora.com/CB_Billing/W_Billing_and_Payments_Settings/Define_Default_Subscription_Settings) and the subscription is currently in the Pending Activation status (the value of the `Status` field is currently `PendingActivation`).
          format: date
          type: string
        SpecificUpdateDate:
          description: " The date when the UpdateProduct amendment takes effect. This\
            \ field is only applicable if there is already a future-dated UpdateProduct\
            \ amendment on the subscription.\n**Required**: Only for the UpdateProduct\
            \ amendments if there is already a future-dated UpdateProduct amendment\
            \ on the subscription.\n**Version notes**: -- "
          format: date
          type: string
        Status:
          description: |2
             The status of the amendment. Type: string (enum) **Character limit**: 17 **Values**: one of the following:

            - Draft (default, if left null)
            - Pending Activation
            - Pending Acceptance
            - Completed
          type: string
        SubscriptionId:
          description: " The ID of the subscription that the amendment changes.\n\
            **Character limit**: 32 **Values**: a valid subscription ID "
          type: string
        TermStartDate:
          description: " The date when the new terms and conditions take effect.\n\
            \n\n**Version notes**: -- "
          format: date
          type: string
        TermType:
          description: " Indicates if the subscription isTERMED or EVERGREEN.\n\n\
            - A TERMED subscription has an expiration date, and must be manually renewed.\n\
            - An EVERGREEN subscription doesn't have an expiration date, and must\
            \ be manually ended.\n\n**Required**: Only when as part of an amendment\
            \ of type TermsAndConditions &#65279;to change the term type of a subscription.\
            \ Type: string **Character limit**: 9 **Values**: TERMED, EVERGREEN "
          type: string
        Type:
          description: |2
             The type of amendment.
            **Character limit**: 18 **Values**: one of the following:

            - Cancellation
            - NewProduct
            - OwnerTransfer
            - RemoveProduct
            - Renewal
            - UpdateProduct
            - TermsAndConditions
            - SuspendSubscription (This value is in **Limited Availability**.)
            - ResumeSubscription (This value is in **Limited Availability**.)
          type: string
        UpdatedById:
          description: " The ID of the user who last updated the amendment.\n**Character\
            \ limit**: 32 **Values**: automatically generated "
          type: string
        UpdatedDate:
          description: " The date when the amendment was last updated.\n**Values**:\
            \ automatically generated "
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/AmendmentObjectCustomFields'
  ProxyGetBillRun:
    properties:
      AccountId:
        description: |
          ID of the account used for single account bill run.

          **Character limit:** 32
        type: string
      AutoEmail:
        description: |
          Determines whether to auto send email or not once the bill run completes.

          **Note:** You must enable the [Support Bill Run Auto-Post Billing](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Billing_Rules) rule to pass this field.
        type: boolean
      AutoPost:
        description: |
          Determines whether to auto post bill run or not once the bill run completes.

          **Note:** You must enable the [Support Bill Run Auto-Post Billing](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Billing_Rules) rule to pass this field.
        type: boolean
      AutoRenewal:
        description: 'Determines whether to auto renew subscription or not by this
          bill run once the bill run completes.

          '
        type: boolean
      Batch:
        description: "Batch of accounts for this bill run. \n\n**Character limit:**\
          \ 20\n\n**Values:** AllBatches or Batchn where n is a number between 1 and\
          \ 50.\n"
        type: string
      BillCycleDay:
        description: |
          The day of the bill cycle.

          **Character limit:** 32

          **Values:** `AllBillCycleDays` or 01 - 31.
        type: string
      BillRunNumber:
        description: |
          Number of the bill run.

          **Character limit:** 50

          **Values:** automatically generated
        type: string
      CreatedById:
        description: "The user ID of the person who created the bill run.\n\n**Character\
          \ limit:** 32\n\n**Values:** automatically generated         \n"
        type: string
      CreatedDate:
        description: "The date and time when the bill run was created.\n\n**Character\
          \ limit:** 29\n\n**Values:** automatically generated           \n"
        format: date-time
        type: string
      ExecutedDate:
        description: 'The date and time when the bill run was executed.

          '
        format: date-time
        type: string
      Id:
        description: |
          ID of the object.

          **Character limit:** 32

          **Values:** automatically generated
        type: string
      InvoiceDate:
        description: |
          Invoice date for this bill run.

          **Character limit:** 29
        format: date
        type: string
      InvoicesEmailed:
        description: "Indicates whether the invoice has been sent or not. \n\n**Values:**\
          \ automatically generated           \n"
        type: boolean
      LastEmailSentTime:
        description: |
          The last time emails were sent for this bill run.

          **Character limit:** 29

          **Values:** automatically generated
        format: date-time
        type: string
      NoEmailForZeroAmountInvoice:
        description: 'Determines whether to suppress email for invoices with zero
          total or not for this bill run once the bill run completes. (Do not email
          invoices with 0 Invoice Total).

          '
        type: boolean
      NumberOfAccounts:
        description: |
          The number of accounts processed by this bill run.

          **Values:** automatically generated
        format: int64
        type: integer
      NumberOfInvoices:
        description: |
          The number of invoices generated by this  run.

          **Values:** automatically generated
        format: int64
        type: integer
      Status:
        description: "The status  for this bill run. See [Status Types](https://knowledgecenter.zuora.com/CB_Billing/J_Billing_Operations/G_Bill_Runs#Status_Types)\
          \ for more information.\n\n**Character limit:** 20\n\n**Values:** \n\n \
          \ * `Pending`\n  * `Processing`\n  * `Completed`\n  * `Error`\n  * `Canceled`\n\
          \  * `Posted`\n"
        type: string
      TargetDate:
        description: |
          Target date for this bill run. See [Create Bill Run](https://knowledgecenter.zuora.com/CB_Billing/J_Billing_Operations/G_Bill_Runs/Creating_Bill_Runs) for more information.

          **Character limit:** 29
        format: date
        type: string
      UpdatedById:
        description: "The user ID of the person who last updated the bill run.\n\n\
          **Character limit:** 32\n\n**Values:** automatically generated         \n"
        type: string
      UpdatedDate:
        description: "The date and time when the bill run was last updated.\n\n**Character\
          \ limit:** 29\n\n**Values:** automatically generated \n"
        format: date-time
        type: string
    type: object
  ProxyGetCommunicationProfile:
    properties:
      CreatedById:
        description: ''
        type: string
      CreatedDate:
        description: ''
        format: date-time
        type: string
      Description:
        description: ''
        type: string
      Id:
        description: Object identifier.
        type: string
      ProfileName:
        description: ''
        type: string
      UpdatedById:
        description: ''
        type: string
      UpdatedDate:
        description: ''
        format: date-time
        type: string
    type: object
  ProxyGetContact:
    allOf:
    - properties:
        AccountId:
          description: " The Zuora account ID associated with this contact. This field\
            \ is not required when you use the Subscribe call. This field is required\
            \ for all other calls.\n**Character limit: **32 **Values: **a valid account\
            \ ID "
          type: string
        Address1:
          description: " The first line of the contact's address, which is often a\
            \ street address or business name.\n**Character limit**: 255 **Values**:\
            \ a string of 255 characters or fewer "
          type: string
        Address2:
          description: " The second line of the contact's address.\n**Character limit**:\
            \ 255 **Values**: a string of 255 characters or fewer "
          type: string
        City:
          description: " The city of the contact's address.\n**Character limit**:\
            \ 40 **Values: **a string of 40 characters or fewer "
          type: string
        Country:
          description: ' The country of the contact''s address. '
          type: string
        County:
          description: " The county. May optionally be used by Zuora Tax to calculate\
            \ county tax.\n**Character limit**: 32 **Values**: a string of 32 characters\
            \ or fewer "
          type: string
        CreatedById:
          description: 'The ID of the Zuora user who created the contact. **Character
            limit**: 32 **Values**: automatically generated '
          type: string
        CreatedDate:
          description: 'The date when the contact was created. **Character limit**:
            29 **Values**: automatically generated '
          format: date-time
          type: string
        Description:
          description: " A description for the contact.\n**Character limit**: 100\
            \ **Values**: a string of 100 characters or fewer "
          type: string
        Fax:
          description: " The contact's fax number.\n**Character limit**: 40 **Values**:\
            \ a string of 40 characters or fewer "
          type: string
        FirstName:
          description: " The contact's first name.\n**Character limit**: 100 **Values**:\
            \ a string of the contact's first name "
          type: string
        HomePhone:
          description: " The contact's home phone number.\n**Character limit**: 40\
            \ **Values**: a string of 40 characters or fewer "
          type: string
        Id:
          description: Object identifier.
          type: string
        LastName:
          description: " The contact's last name.\n**Character limit**: 100 **Values**:\
            \ a string of 100 characters or fewer "
          type: string
        MobilePhone:
          description: " The contact's mobile phone number.\n**Character limit**:\
            \ 40 **Values**: a string of 40 characters or fewer "
          type: string
        NickName:
          description: " A nickname for the contact.\n**Character limit**: 100 **Values**:\
            \ a string of 100 characters or fewer "
          type: string
        OtherPhone:
          description: " An additional phone number for the contact.\n**Character\
            \ limit**: 40 **Values**: a string of 40 characters or fewer "
          type: string
        OtherPhoneType:
          description: 'The type of the `OtherPhone`. **Character limit**: 20 **Values**:
            `Work`, `Mobile`, `Home`, `Other` '
          type: string
        PersonalEmail:
          description: " The contact's personal email address.\n**Character limit**:\
            \ 80 **Values**: a string of 80 characters or fewer "
          type: string
        PostalCode:
          description: " The zip code for the contact's address.\n**Character limit:**\
            \ 20 **Values: **a string of 20 characters or fewer "
          type: string
        State:
          description: ' The state or province of the contact''s address. '
          type: string
        TaxRegion:
          description: 'If using Zuora Tax rules '
          type: string
        UpdatedById:
          description: " The ID of the user who lasted updated the contact.\n**Character\
            \ limit**: 32 **Values**: automatically generated "
          type: string
        UpdatedDate:
          description: " The date when the contact was last updated.\n**Character\
            \ limit**: 29 **Values**: automatically generated "
          format: date-time
          type: string
        WorkEmail:
          description: " The contact's business email address.\n**Character limit**:\
            \ 80 **Values**: a string of 80 characters or fewer "
          type: string
        WorkPhone:
          description: " The contact's business phone number.\n**Character limit**:\
            \ 40 **notes**: -- **Values**: a string of 40 characters or fewer "
          type: string
      type: object
    - $ref: '#/definitions/ContactObjectCustomFields'
  ProxyGetCreditBalanceAdjustment:
    allOf:
    - properties:
        AccountId:
          description: |2
             The account ID of the credit balance's account. Zuora generates this value from the source transaction.
            **Character limit**: 32 **Values**: automatically generated from:

            - CreditBalanceAdjustment.SourceTransactionId or
            - CreditBalanceAdjustment.SourceTransactionNumber
          type: string
        AccountingCode:
          description: ' The Chart of Accounts '
          type: string
        AdjustmentDate:
          description: " The date when the credit balance adjustment is applied.\n\
            **Character limit**: 29 **Values**: automatically generated "
          format: date
          type: string
        Amount:
          description: " The amount of the adjustment.\n**Character limit**: 16 **Values**:\
            \ a valid currency amount "
          format: double
          type: number
        CancelledOn:
          description: " The date when the credit balance adjustment was canceled.\n\
            **Character limit**: 29 **Values**: automatically generated "
          format: date-time
          type: string
        Comment:
          description: " Use this field to record comments about the credit balance\
            \ adjustment.\n**Character limit**: 255 **Values**: a string of 255 characters\
            \ or fewer "
          type: string
        CreatedById:
          description: " The user ID of the person who created the credit balance\
            \ adjustment.\n**Character limit**: 32 **Values**: automatically generated "
          type: string
        CreatedDate:
          description: " The date when the credit balance adjustmentwas generated.\n\
            **Character limit**: 29 **Values**: automatically generated "
          format: date-time
          type: string
        Id:
          description: Object identifier.
          type: string
        Number:
          description: " A unique identifier for the credit balance adjustment. Zuora\
            \ generates this number in the format, <em>CBA-xxxxxxxx</em>, such as\
            \ CBA-00375919.\n**Character limit**: 255 **Values**: automatically generated "
          type: string
        ReasonCode:
          description: " A code identifying the reason for the transaction. Must be\
            \ an existing reason code or empty. If you do not specify a value, Zuora\
            \ uses the default reason code.\n**Character limit**: 32 **Values**: a\
            \ valid reason code "
          type: string
        ReferenceId:
          description: " The ID of the payment that the credit balance adjustment\
            \ is for.\n**Character limit**: 32 **Values**: a string of 60 characters\
            \ or fewer "
          type: string
        SourceTransactionId:
          description: |2
             The ID of the object that the credit balance adjustment is applied to. You must specify a value for either the `SourceTransactionId` field or the `SourceTransactionNumber` field.
            **Character limit**: 32 **Values**: one of the following:

            - InvoiceId
            - PaymentId
            - RefundId
          type: string
        SourceTransactionNumber:
          description: |2
             The number of the object that the credit balance adjustment is applied to. You must specify a value for either the `SourceTransactionId` field or the `SourceTransactionNumber` field.
            **Character limit**: 50 **Values**: one of the following:

            - InvoiceNumber
            - PaymentNumber
            - RefundNumber
          type: string
        SourceTransactionType:
          description: |2
             The source of the credit balance adjustment.
            **Character limit**: **Values**: automatically generated; one of the following:

            - Invoice
            - Payment
            - Refund
          type: string
        Status:
          description: |2
             The status of the credit balance adjustment.
            **Character limit**: 9 **Values**: automatically generated; one of the following:

            - Processed
            - Canceled
          type: string
        TransferredToAccounting:
          description: 'Status of the credit balance adjustment''s transfer to an
            external accounting system, such as NetSuite.

            '
          enum:
          - Processing
          - 'Yes'
          - 'No'
          - Error
          - Ignore
          type: string
        Type:
          description: Create Query Filter
          type: string
        UpdatedById:
          description: " The ID of the user who last updated the credit balance adjustment.\n\
            **Character limit**: 32 **Values**: automatically generated "
          type: string
        UpdatedDate:
          description: " The date when the credit balance adjustment was last updated.\n\
            **Character limit**: 29 **Values**: automatically generated "
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/CreditBalanceAdjustmentObjectNSFields'
    - $ref: '#/definitions/CreditBalanceAdjustmentObjectCustomFields'
  ProxyGetExport:
    properties:
      ConvertToCurrencies:
        description: " The currencies that you want to convert transaction amounts\
          \ into. You can specify any number of currencies. Specify the currencies\
          \ using their Foreign Currency Conversion enabled to use this field.\n**Character\
          \ limit**: **Values**: a list of valid currency codes "
        type: string
      CreatedById:
        description: " The user ID of the person who created the export.\n**Character\
          \ limit**: 32 **Values**: automatically generated "
        type: string
      CreatedDate:
        description: " The date when the import was created.\n**Character limit**:\
          \ 29 **Values**: automatically generated "
        format: date-time
        type: string
      Encrypted:
        description: " Exports a secure version of encrypted data source fields. such\
          \ as the AchAccountNumber field of the PaymentMethod object and the DefaultPaymentMethod\
          \ data souce objects.\n**Character limit**: 5 **Values:** true, false "
        type: boolean
      FileId:
        description: " The ID of the file generated by an export query. This file\
          \ is automatically generated when an Export object is created. Use this\
          \ file ID with [Get files](https://www.zuora.com/developer/api-reference/#operation/GET_Files)\
          \ to download the export file.\n**Character limit**: 32 **Values**: automatically\
          \ generated "
        type: string
      Format:
        description: " The format that you want the export file to use.\n**Character\
          \ limit**: 5 "
        enum:
        - csv
        - html
        - Excel
        type: string
      Id:
        description: Object identifier.
        type: string
      Name:
        description: " The name of the export.\n**Character limit**: 255 **Values**:\
          \ a string of 255 characters or fewer "
        type: string
      Query:
        description: '[Export ZOQL](https://knowledgecenter.zuora.com/DC_Developers/M_Export_ZOQL)
          query.

          '
        type: string
      Size:
        description: " The number of records or rows exported. This field value is\
          \ null until the export status is Completed.\n**Character limit**: **Values**:\
          \ automatically generated "
        format: int32
        type: integer
      Status:
        description: |2
           The status of the export. Type: string (enum) **Character limit**: 10 **Values**: automatically generated to be one of the following values:

          - Pending
          - Processing
          - Completed
          - Canceled
          - Failed
        type: string
      StatusReason:
        description: " The reason for the given status. Use this information to help\
          \ ascertain why an export failed.\n**Character limi**t: 255 **Values**:\
          \ automatically generated "
        type: string
      UpdatedById:
        description: " The ID of the user who last updated the export.\n**Character\
          \ limit**: 32 **Values**: automatically generated "
        type: string
      UpdatedDate:
        description: " The date when the expotr was last updated.\n**Character limit**:\
          \ 29 **Values**: automatically generated "
        format: date-time
        type: string
      Zip:
        description: " Indicates if you want the resulting export file to be compressed\
          \ into a zip file.\n**Character limit**: **Values**: true, false (default) "
        type: boolean
    type: object
  ProxyGetFeature:
    allOf:
    - properties:
        CreatedById:
          description: ' Internal Zuora ID of the user who created the feature **Character
            limit**: 32 '
          type: string
        CreatedDate:
          description: ' Date and time when the feature was created **Character limit**:
            29 '
          format: date-time
          type: string
        Description:
          description: ' Description of the feature **Character limit**: 1000 '
          type: string
        FeatureCode:
          description: ' Unique code of the feature **Character limit**: 255 '
          type: string
        Id:
          description: Object identifier.
          type: string
        Name:
          description: ' Name of the feature **Character limit**: 255 '
          type: string
        Status:
          description: ' Status of the feature, Active or Inactive **Character limit**:
            8 '
          type: string
        UpdatedById:
          description: ' Internal Zuora ID of the user who last updated the feature
            **Character limit**: 32 '
          type: string
        UpdatedDate:
          description: ' Date and time when the feature was last updated **Character
            limit**: 29 '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/FeatureObjectCustomFields'
  ProxyGetImport:
    properties:
      CreatedById:
        description: " The user ID of the person who created the import.\n\n**Character\
          \ limit**: 32\n\n**Values**: automatically generated "
        type: string
      CreatedDate:
        description: " The date when the import was created.\n\n**Character limit**:\
          \ 29\n\n**Values**: automatically generated "
        format: date-time
        type: string
      Id:
        description: Object identifier.
        type: string
      ImportType:
        description: " The type of item imported.\n\n**Character limit**: 7\n\n**Values**:\
          \ Usage "
        type: string
      ImportedCount:
        description: "The number of records successfully imported.\n\n**Values**:\
          \ automatically generated "
        format: int32
        type: integer
      Md5:
        description: " A check to validate the import file's integrity.\n\n**Character\
          \ limit:** 32\n\n**System-generated:** no\n\n**Values**: a string of 32\
          \ characters or fewer "
        type: string
      Name:
        description: |2
           A descriptive name for the import.

          **Character limit:** 100

          **Values:** one of the following:

          - a string of 100 characters or fewer
          - if NULL default is: `import <ImportType_value>`
        type: string
      OriginalResourceUrl:
        description: " The URL for your import file, which contains your records for\
          \ upload. When you upload the file, Zuora assigns it to this address.\n\n\
          **Values:** automatic dynamically-generated URL "
        type: string
      ResultResourceUrl:
        description: " The URL for the import result file, which is a zipped CSV file.\n\
          \n**Values**: automatic dynamically-generated URL "
        type: string
      Status:
        description: |
          The status of the import process.

          **Values**: automatically generated using one of the following values:

          - Pending
          - Processing
          - Completed
          - Failed
        type: string
      StatusReason:
        description: " The reason for the system-generated status. Use this information\
          \ if the import fails.\n\n**Character limit**: 2000\n\n**Values**: automatically\
          \ generated error message "
        type: string
      TotalCount:
        description: " The number of records in the import file.\n\n**Character limit**:\n\
          \n**Values**: automatically generated "
        format: int32
        type: integer
      UpdatedById:
        description: " The ID of the user who last updated the import.\n\n**Character\
          \ limit**: 32\n\n**Values**: automatically generated "
        type: string
      UpdatedDate:
        description: " The date when the import was last updated.\n**Character limit**:\
          \ 29 **Values**: automatically generated "
        format: date-time
        type: string
    type: object
  ProxyGetInvoice:
    allOf:
    - properties:
        AccountId:
          description: ''
          type: string
        AdjustmentAmount:
          description: ' The amount of the invoice adjustments associated with the
            invoice. **Character limi**t: 16 **Values**: a valid currency amount '
          format: double
          type: number
        Amount:
          description: " The sum of all charges and taxes associated with the invoice.\n\
            **Character limit**: 16 **Values**: automatically generated "
          format: double
          type: number
        AmountWithoutTax:
          description: " The sum of all charges associated with the invoice. Taxes\
            \ are excluded from this value.\n**Character limit**: 16 **Values**: automatically\
            \ generated "
          format: double
          type: number
        Balance:
          description: " The remaining balance of the invoice after all payments,\
            \ adjustments, and refunds are applied.\n**Character limit**: 16 **Values**:\
            \ automatically generated "
          format: double
          type: number
        Body:
          description: ' Required '
          type: string
        Comments:
          description: " Additional information related to the invoice that a Zuora\
            \ user added to the invoice.\n**Character limit**: 255 **Values:** a string\
            \ of 255 characters or fewer "
          type: string
        CreatedById:
          description: " The user ID of the person who created the invoice. If a bill\
            \ run generated the invoice, then the value is the user ID of person who\
            \ created the bill run.\n**Character limit**: 32 **Values**: automatically\
            \ generated "
          type: string
        CreatedDate:
          description: " The date when the invoice was generated.\n**Character limit**:\
            \ 29 **Values**: automatically generated "
          format: date-time
          type: string
        CreditBalanceAdjustmentAmount:
          description: |2+
             The currency amount of the adjustment applied to the customer's credit balance.
            **Character limit**: 16 **Values**: a valid currency amount This field is only available if the [Zuora Global Support](http://support.zuora.com/) to enable this feature.


          format: double
          type: number
        DueDate:
          description: " The date by which the payment for this invoice is due.\n\
            **Character limit**: 29 **Version notes**: -- "
          format: date
          type: string
        Id:
          description: Object identifier.
          type: string
        IncludesOneTime:
          default: true
          description: 'Whether the bill run picks up all one-time charges for processing.
            You can use this field only with the Generate call for the Invoice object.

            '
          type: boolean
        IncludesRecurring:
          default: true
          description: 'Whether the bill run picks up all recurring charges for processing.
            You can use this field only with the Generate call for the Invoice object.

            '
          type: boolean
        IncludesUsage:
          default: true
          description: 'Whether the bill run picks up all usage charges for processing.
            You can use this field only with the Generate call for the Invoice object.

            '
          type: boolean
        InvoiceDate:
          description: " Specifies the date on which to generate the invoice.\n**Character\
            \ limit**: 29 **Version notes**: -- "
          format: date
          type: string
        InvoiceNumber:
          description: " The unique identification number for the invoice. This number\
            \ is returned as a string.\n**Character limit**: 32 **Values**: automatically\
            \ generated "
          type: string
        LastEmailSentDate:
          description: " The date when the invoice was last emailed.\n**Character\
            \ limit**: 29 **Values**: automatically generated "
          format: date-time
          type: string
        PaymentAmount:
          description: " The amount of payments applied to the invoice.\n**Character\
            \ limit**: 16 **Value**s: automatically generated "
          format: double
          type: number
        PostedBy:
          description: " The user ID of the person who moved the invoice to Posted\
            \ status.\n**Character limit**: 32 **Values**: automatically generated "
          type: string
        PostedDate:
          description: " The date when the invoice was posted.\n**Character limit:**\
            \ 29 **Values**: automatically generated "
          format: date-time
          type: string
        RefundAmount:
          description: " Specifies the amount of a refund that was applied against\
            \ an earlier payment on the invoice.\n**Character limit**: 16 **Values**:\
            \ automatically generated "
          format: double
          type: number
        Status:
          description: |2+
             The status of the invoice in the system. This status is not the status of the payment of the invoice, just the status of the invoice itself.
            **Character limit**: 8 **Values**: one of the following:

            -  Draft (default, automatically set upon invoice creation)

            -  Posted

            -  Canceled

          type: string
        TargetDate:
          description: " This date is used to determine which charges are to be billed.\
            \ All charges that are to be billed on this date or prior will be included\
            \ in this bill run.\n**Character limit**: 29 **Version notes**: -- "
          format: date
          type: string
        TaxAmount:
          description: " The total amount of the taxes applied to the invoice.\n**Character\
            \ limit**: 16 **Values**: automatically generated "
          format: double
          type: number
        TaxExemptAmount:
          description: " The total amount of the invoice that is exempt from taxation.\n\
            **Character limit**: 16 **Values**: automatically generated "
          format: double
          type: number
        TransferredToAccounting:
          description: " Specifies whether or not the invoice was transferred to an\
            \ external accounting system, such as NetSuite.\n**Character limit**:\
            \ 10 **Values**: Processing, Yes, Error, Ignore "
          type: string
        UpdatedById:
          description: ''
          type: string
        UpdatedDate:
          description: " The date when the invoice was last updated.\n**Character\
            \ limit**: 29 **Values**: automatically generated "
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/InvoiceObjectNSFields'
    - $ref: '#/definitions/InvoiceObjectCustomFields'
  ProxyGetInvoiceAdjustment:
    allOf:
    - properties:
        AccountId:
          description: " The ID of the account that owns the invoice.\n**Character\
            \ limit**: 32 **Values**: inherited from Account.ID for the invoice owner "
          type: string
        AccountingCode:
          description: 'The accounting code for the invoice adjustment. '
          type: string
        AdjustmentDate:
          description: " The date when the invoice adjustment is applied. This date\
            \ must be the same as the invoice's date or later.\n**Character limit**:\
            \ 29 **Values**: Leave null to automatically generate the current date "
          format: date
          type: string
        AdjustmentNumber:
          description: " A unique string to identify an individual invoice adjustment.\n\
            **Character limit**: 255 **Values**: automatically generated "
          type: string
        Amount:
          description: " The amount of the invoice adjustment.\n**Character limit**:\
            \ 16 **Values**: a valid currency amount "
          format: double
          type: number
        CancelledById:
          description: " The ID of the Zuora user who canceled the invoice adjustment.\
            \ Zuora generates this read-only field only if the adjustment is canceled.\n\
            **Character limit**: 32 **Values**: automatically generated "
          type: string
        CancelledOn:
          description: " The date when the invoice adjustment is canceled. Zuora generates\
            \ this read-only field if this adjustment is canceled.\n**Character limit**:\
            \ 29 **Values**: automatically generated "
          format: date-time
          type: string
        Comments:
          description: " Use this field to record comments about the invoice adjustment.\n\
            **Character limit**: 255 **Values**: a string of 255 characters or fewer "
          type: string
        CreatedById:
          description: " The user ID of the person who created the invoice adjustment.\n\
            **Character limit**: 32 **Values**: automatically generated "
          type: string
        CreatedDate:
          description: " The date the invoice adjustment was created.\n**Character\
            \ limit**: 29 **Values**: automatically generated "
          format: date-time
          type: string
        CustomerName:
          description: " The name of the account that owns the associated invoice.\n\
            \n**Character limit**: 50\n\n**Values**: inherited from `Account.Name`\n\
            \n**Note**: This value changes if `Account.Name` is updated. The values\
            \ of `UpdatedById` and `UpdatedDate` for the `InvoiceAdjustment` do not\
            \ change when `Account.Name` is updated. "
          type: string
        CustomerNumber:
          description: " The unique account number of the customer's account.\n\n\
            **Character limit**: 70\n\n**Values**: inherited from `Account.AccountNumber`\n\
            \n**Note**: This value changes if `Account.AccountNumber` is updated.\
            \ The values of `UpdatedById` and `UpdatedDate` for the `InvoiceAdjustment`\
            \ do not change when `Account.AccountNumber` is updated. "
          type: string
        Id:
          description: Object identifier.
          type: string
        ImpactAmount:
          description: " The amount that changes the balance of the associated invoice.\n\
            **Character limit**: 16 **Values**: automatically calculated "
          format: double
          type: number
        InvoiceId:
          description: " The ID of the invoice associated with the adjustment. This\
            \ field is required if you don't specify a value for the `InvoiceNumber`\
            \ field.\n**Character limit**: 32 **Values**: a valid invoice ID "
          type: string
        InvoiceNumber:
          description: " The unique identification number for the associated invoice.\
            \ This field is required if you don't specify a value for the `InvoiceId`\
            \ field.\n**Character limit**: 32 **Values**: a valid invoice number "
          type: string
        ReasonCode:
          description: " A code identifying the reason for the transaction. Must be\
            \ an existing reason code or empty. If you do not specify a value, Zuora\
            \ uses the default reason code.\n**Character limit**: 32 **V****alues**:\
            \ a valid reason code "
          type: string
        ReferenceId:
          description: " A code to reference an object external to Zuora. For example,\
            \ you can use this field to reference a case number in an external system.\n\
            **Character limit**: 60 **Values**: a string of 60 characters or fewer "
          type: string
        Status:
          description: " The status of the invoice adjustment. This field is required\
            \ in the Query call, but is automatically generated in other calls.\n\
            **Character limit**: 9 **Values**: `Canceled`, `Processed` "
          type: string
        TransferredToAccounting:
          description: 'Indicates the status of the adjustment''s transfer to an external
            accounting system, such as NetSuite.

            '
          enum:
          - Processing
          - 'Yes'
          - 'No'
          - Error
          - Ignore
          type: string
        Type:
          description: " Indicates whether the adjustment credits or debits the invoice\
            \ amount.\n**Character limit**: 6 **Values**: `Credit`, `Charge` "
          type: string
        UpdatedById:
          description: " The ID of the user who last updated the invoice.\n**Character\
            \ limit**: 32 **Values**: automatically generated "
          type: string
        UpdatedDate:
          description: " The date when the invoice was last updated.\n**Character\
            \ limit**: 29 **Values**: automatically generated "
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/InvoiceAdjustmentObjectCustomFields'
  ProxyGetInvoiceItem:
    allOf:
    - properties:
        AccountingCode:
          description: " The accounting code for the item's charge. Accounting codes\
            \ group transactions that contain similar accounting attributes.\n**Character\
            \ limit**: 100 **Values**: inherited from `RatePlanCharge.AccountingCode` "
          type: string
        AppliedToInvoiceItemId:
          description: " Associates a discount invoice item to a specific invoice\
            \ item.\n\n**Character limit**: 32\n\n**Values**: inherited from `InvoiceItem.Id`\
            \ for the invoice item that the discount charge is applied to "
          type: string
        ChargeAmount:
          description: " The amount being charged for the invoice item. This amount\
            \ doesn't include taxes regardless if the charge's tax mode is inclusive\
            \ or exclusive.\n**Character limit**: **Values**: automatically calculated\
            \ from multiple fields in multiple objects "
          format: double
          type: number
        ChargeDate:
          description: " The date when the Invoice Item is created .\n**Character\
            \ limit**: 29 **Values**: automatically generated "
          format: date-time
          type: string
        ChargeName:
          description: " The name of the invoice item's charge.\n**Character limi**t:\
            \ 50 **Values: **inherited from `RatePlanCharge.Name` "
          type: string
        CreatedById:
          description: " The user ID of the person who created the invoice item.\n\
            **Character limit**: 32 **Values**: automatically generated "
          type: string
        CreatedDate:
          description: " The date the invoice item was created.\n**Character limit:**\
            \ 29 **Values**: automatically generated "
          format: date-time
          type: string
        Id:
          description: Object identifier.
          type: string
        InvoiceId:
          description: " The ID of the invoice that's associated with this invoice\
            \ item.\n**Character limit**: 32 **Values**: inherited from `Invoice.Id` "
          type: string
        ProcessingType:
          description: |2
             Identifies the kind of charge where 0 is a charge, 1 is a discount, 2 is a prepayment, and 3 is a tax. The returned value is text not decimal on data sources.
            **Character limit**: **Values: **

            - 0: charge
            - 1: discount
            - 2: prepayment
            - 3: tax
          format: double
          type: number
        ProductDescription:
          description: " A description of the product associated with this invoice\
            \ item.\n\n**Character limit**: 500\n\n**Values**: inherited from `Product.Description`\n\
            \n**Note**: This value changes if `Product.Description` is updated. The\
            \ values of `UpdatedById` and `UpdatedDate` for the `InvoiceItem` do not\
            \ change when `Product.Description` is updated. "
          type: string
        ProductName:
          description: " The name of the product associated with this invoice item.\n\
            \n**Character limit**: 255\n\n**Values**: inherited from `Product.Name`\n\
            \n**Note**: This value changes if `Product.Name` is updated. The values\
            \ of `UpdatedById` and `UpdatedDate` for the `InvoiceItem` do not change\
            \ when `Product.Name` is updated. "
          type: string
        Quantity:
          description: " The number of units for this invoice item.\n**Values**: inherited\
            \ from `RatePlanCharge.Quantity` "
          format: double
          type: number
        RatePlanChargeId:
          description: " The ID of the rate plan charge that's associated with this\
            \ invoice item.\n**Character limit**: 32 **Values**: inherited from `RatePlanCharge.Id` "
          type: string
        RevRecStartDate:
          description: " The date when revenue recognition is triggered.\n**Character\
            \ limit**: 29 **Values**: generated from `InvoiceItem.RevRecTriggerCondition` "
          format: date
          type: string
        SKU:
          description: " The unique SKU for the product associated with this invoice\
            \ item.\n**Character limit**: 255 **Values**: inherited from `Product.SKU` "
          type: string
        ServiceEndDate:
          description: " The end date of the service period associated with this invoice\
            \ item. Service ends one second before the date in this value.\n**Character\
            \ limit**: 29 **Values**: automatically generated "
          format: date
          type: string
        ServiceStartDate:
          description: " The start date of the service period associated with this\
            \ invoice item. If the associated charge is a one-time fee, then this\
            \ date is the date of that charge.\n**Character limit:** 29 **Values**:\
            \ automatically generated "
          format: date
          type: string
        SubscriptionId:
          description: " The ID of the subscription associated with the invoice item.\n\
            **Character limit**: 32 **Values**: inherited from `Subscription.Id` "
          type: string
        TaxAmount:
          description: " The amount of tax applied to the invoice item's charge.\n\
            **Character limit**: **Values**: calculated from multiple fields in the\
            \ ProductRatePlanCharge object "
          format: double
          type: number
        TaxCode:
          description: " Specifies the tax code for taxation rules.\n**Character limit**:\
            \ 6 **Values**: inherited from `ProductRatePlanCharge.TaxCode` "
          type: string
        TaxExemptAmount:
          description: " The amount of the invoice item's charge that's tax exempt.\n\
            **Character limit**: **Values**: calculated from multiple fields in the\
            \ ProductRatePlanCharge object "
          format: double
          type: number
        TaxMode:
          description: " The tax mode of the invoice item.\n**Character limit**: 12\
            \ **Values**: `TaxExclusive`, `TaxInclusive` "
          type: string
        UOM:
          description: ' Specifies the units to measure usage. **Character limit**:
            **Values**: inherited from `ProductRatePlanCharge.UOM` '
          type: string
        UnitPrice:
          description: " The per-unit price of the invoice item.\n**Character limit**:\
            \ **Values**: calculated from multiple fields in ProductRatePlanCharge\
            \ and ProductRatePlanChargeTier objets "
          format: double
          type: number
        UpdatedById:
          description: " The ID of the user who last updated the invoice item.\n**Character\
            \ limit**: 32 **Values**: automatically generated "
          type: string
        UpdatedDate:
          description: " The date when the invoice item was last updated.\n**Character\
            \ limit**: 29 **Values**: automatically generated "
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/InvoiceItemObjectNSFields'
    - $ref: '#/definitions/InvoiceItemObjectCustomFields'
  ProxyGetInvoiceItemAdjustment:
    allOf:
    - properties:
        AccountId:
          description: " The ID of the account that owns the invoice.\n**Values**:\
            \ inherited from `Account.ID` for the invoice owner "
          type: string
        AccountingCode:
          description: " The accounting code for the invoice item. Accounting codes\
            \ group transactions that contain similar accounting attributes.\n**Character\
            \ limit**: 100 **Values**: inherited from `InvoiceItem.AccountingCode` "
          type: string
        AdjustmentDate:
          description: " The date when the invoice item adjustment is applied, in\
            \ `yyyy-mm-dd` format. This date must be the same as the invoice's date\
            \ or later.\n**Character limit**: 29 "
          format: date
          type: string
        AdjustmentNumber:
          description: " A unique string to identify an individual invoice item adjustment.\n\
            **Character limit**: 255 **Values**: automatically generated "
          type: string
        Amount:
          description: ' The amount of the invoice item adjustment. The value of Amount
            must be positive. Use the required parameter Type to either credit or
            charge (debit) this amount on the invoice. **Character limit**: 16 **Values**:
            a valid currency amount '
          format: double
          type: number
        CancelledById:
          description: " The ID of the Zuora user who canceled the invoice item adjustment.\
            \ Zuora generates this read-only field only if the adjustment is canceled.\n\
            **Character limit**: 32 **Values**: automatically generated "
          type: string
        CancelledDate:
          description: " The date when the invoice item adjustment is canceled. Zuora\
            \ generates this read-only field if this adjustment is canceled.\n**Character\
            \ limit**: 29 **Values**: automatically generated "
          format: date-time
          type: string
        Comment:
          description: " Use this field to record comments about the invoice item\
            \ adjustment.\n**Character limit**: 255 **Values**: a string of 255 characters\
            \ or fewer "
          type: string
        CreatedById:
          description: " The user ID of the person who created the invoice item.\n\
            **Character limit**: 32 **Values**: automatically generated "
          type: string
        CreatedDate:
          description: " The date the invoice item was created.\n**Character limit**:\
            \ 29 **Values**: automatically generated "
          format: date-time
          type: string
        CustomerName:
          description: " The name of the account that owns the associated invoice.\n\
            \n**Character limit**: 50\n\n**Values**: inherited from `Account.Name`\n\
            \n**Note**: This value changes if `Account.Name` is updated. The values\
            \ of `UpdatedById` and `UpdatedDate` for the `InvoiceItemAdjustment` do\
            \ not change when `Account.Name` is updated. "
          type: string
        CustomerNumber:
          description: " The unique account number of the customer's account.\n\n\
            **Character limit**: 50\n\n**Values**: inherited from `Account.AccountNumber`\n\
            \n**Note**: This value changes if `Account.AccountNumber` is updated.\
            \ The values of `UpdatedById` and `UpdatedDate` for the `InvoiceItemAdjustment`\
            \ do not change when `Account.AccountNumber` is updated. "
          type: string
        Id:
          description: Object identifier.
          type: string
        InvoiceId:
          description: " The ID of the invoice associated with the adjustment. The\
            \ adjustment invoice item is in this invoice. This field is optional if\
            \ you specify a value for the `InvoiceNumber` field.\n**Character limit**:\
            \ 3 **Values**: a valid invoice ID "
          type: string
        InvoiceItemName:
          description: " The name of the invoice item's charge. This field is required\
            \ in the Query call, but is inherited in other calls.\n**Character limit**:\
            \ 255 **Values**: inherited from `InvoiceItem.ChargeName` "
          type: string
        InvoiceNumber:
          description: " The unique identification number for the invoice that contains\
            \ the invoice item. This field is optional if you specify a value for\
            \ the `InvoiceId` field.\n**Character limit**: 32 **Values**: a valid\
            \ invoice number "
          type: string
        ReasonCode:
          description: " A code identifying the reason for the transaction. Must be\
            \ an existing reason code or empty. If you do not specify a value, Zuora\
            \ uses the default reason code.\n**Character limit**: 32 **V****alues**:\
            \ a valid reason code "
          type: string
        ReferenceId:
          description: " A code to reference an object external to Zuora. For example,\
            \ you can use this field to reference a case number in an external system.\n\
            **Character limit**: 60 **Values**: a string of 60 characters or fewer "
          type: string
        ServiceEndDate:
          description: " The end date of the service period associated with the invoice\
            \ item. Service ends one second before the date in this value.\n\n**Character\
            \ limit**: 29 "
          format: date
          type: string
        ServiceStartDate:
          description: " The start date of the service period associated with the\
            \ invoice item. Service ends one second before the date in this value.\n\
            \n**Character limit**: 29 "
          format: date
          type: string
        SourceId:
          description: " The ID of the item specified in the SourceType field.\n**Character\
            \ limit**: 32 **Values**: a valid invoice item ID or taxation item ID "
          type: string
        SourceType:
          description: " The type of adjustment.\n**Character limit**: 13 **Values**:\
            \ InvoiceDetail, Tax "
          type: string
        Status:
          description: " The status of the invoice item adjustment. This field is\
            \ required in the Query call, but is automatically generated in other\
            \ calls.\n**Character limit**: 9 **Values**: Canceled, Processed "
          type: string
        TransferredToAccounting:
          description: 'Indicates the status of the adjustment''s transfer to an external
            accounting system, such as NetSuite.

            '
          enum:
          - Processing
          - 'Yes'
          - 'No'
          - Error
          - Ignore
          type: string
        UpdatedById:
          description: " The ID of the user who last updated the invoice item.\n**Character\
            \ limit**: 32 **Values**: automatically generated "
          type: string
        UpdatedDate:
          description: " The date when the invoice item was last updated.\n**Character\
            \ limit**: 29 **Values**: automatically generated "
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/InvoiceItemAdjustmentObjectNSFields'
    - $ref: '#/definitions/InvoiceItemAdjustmentObjectCustomFields'
  ProxyGetInvoicePayment:
    properties:
      Amount:
        description: " The amount of the payment.\n**Character limit**: 16 **Values**:\
          \ a valid currency amount "
        format: double
        type: number
      CreatedById:
        description: " The user ID of the person who created the invoice payment.\n\
          **Character limit**: 32 **V****alues**: automatically generated "
        type: string
      CreatedDate:
        description: " The date when the invoice payment was generated.\n**Character\
          \ limit**: 29 **V****alues**: automatically generated "
        format: date-time
        type: string
      Id:
        description: Object identifier.
        type: string
      InvoiceId:
        description: " The unique ID of the invoice associated with this invoice payment.\n\
          **Character limit**: 32 **Values**: a valid invoice ID "
        type: string
      PaymentId:
        description: " The unique ID of the payment associated with this invoice payment.\n\
          **Character limit**: 32 **V****alues**: a valid payment ID "
        type: string
      RefundAmount:
        description: 'Specifies the amount of a refund applied against this InvoicePayment.
          **Character limit**: 16 **Values**: automatically generated '
        format: double
        type: number
      UpdatedById:
        description: " The ID of the user who last updated the invoice payment.\n\
          **Character limit**: 32 **V****alues**: automatically generated "
        type: string
      UpdatedDate:
        description: " The date when the invoice payment was last updated.\n**Character\
          \ limit**: 29 **V****alues**: automatically generated "
        format: date-time
        type: string
    type: object
  ProxyGetInvoiceSplit:
    properties:
      CreatedById:
        description: 'The ID of the Zuora user who created the InvoiceSplit object.
          **Character limit**: 32 **Values**: automatically generated '
        type: string
      CreatedDate:
        description: 'The date when the InvoiceSplit object was created. **Character
          limit**: 29 **Values**: automatically generated '
        format: date-time
        type: string
      Id:
        description: Object identifier.
        type: string
      InvoiceId:
        description: " The ID of the original invoice that the InvoiceSplit object\
          \ splits. This field becomes read-only after the InvoiceSplit object is\
          \ created.\n**Character limit**: 32 **Values**: a valid invoice ID "
        type: string
      UpdatedById:
        description: 'The ID of the Zuora user who last updated the invoice split.
          **Character limit**: 32 **Values**: automatically generated '
        type: string
      UpdatedDate:
        description: 'The date when the invoice split was last updated. **Values**:
          automatically generated '
        format: date-time
        type: string
    type: object
  ProxyGetInvoiceSplitItem:
    properties:
      CreatedById:
        description: " The ID of the Zuora user who created the InvoiceSplitItem object.\n\
          **Character limit**: 32 **Values**: automatically generated "
        type: string
      CreatedDate:
        description: " The date when the InvoiceSplitItem was created.\n**Values**:\
          \ automatically generated "
        format: date-time
        type: string
      Id:
        description: Object identifier.
        type: string
      InvoiceDate:
        description: " The generation date of the new split invoice, in `yyyy-mm-dd`\
          \ format.\n**Character limit**: 29 "
        format: date
        type: string
      InvoiceId:
        description: " The new invoice after the split.\n**Character limit**: 32 **Values**:\
          \ automatically generated "
        type: string
      InvoiceSplitId:
        description: " The ID of the invoice split associated with the individual\
          \ invoice split item.\n**Character limit**: 32 **Values**: a valid invoice\
          \ split ID "
        type: string
      PaymentTerm:
        description: " Indicates when the customer pays the split invoice.\n**Values**:\
          \ a valid, active payment term "
        type: string
      SplitPercentage:
        description: |2
           Specifies the percentage of the original invoice that you want to be the balance of the split invoice. The total of the SplitPercentage field values for all of the InvoiceSplitItem objects in an InvoiceSplit object must equal 100.
          **Values**:
        format: double
        type: number
      UpdatedById:
        description: " The ID of the Zuora user who last updated the invoice split.\n\
          **Character limit**: 32 **Values**: automatically generated "
        type: string
      UpdatedDate:
        description: " The date when the invoice split was last updated.\n**Values**:\
          \ automatically generated "
        format: date-time
        type: string
    type: object
  ProxyGetPayment:
    allOf:
    - properties:
        AccountId:
          description: 'The unique account ID for the customer that the payment is
            for.

            '
          type: string
        AccountingCode:
          description: 'The aacccounting code for the payment. Accounting codes group
            transactions that contain similar accounting attributes.

            '
          type: string
        Amount:
          description: 'The amount of the payment.

            '
          format: double
          type: number
        AppliedCreditBalanceAmount:
          description: 'The amount of the payment to apply to a credit balance.

            '
          format: double
          type: number
        AuthTransactionId:
          description: "The authorization transaction ID from the payment gateway.\
            \ \n"
          type: string
        BankIdentificationNumber:
          description: "The first six digits of the credit card or debit card used\
            \ for the payment, when applicable. \n"
          type: string
        CancelledOn:
          description: 'The date and time when the payment was canceled.

            '
          format: date-time
          type: string
        Comment:
          description: 'Additional information related to the payment.

            '
          type: string
        CreatedById:
          description: 'The ID of the Zuora user who created the payment.

            '
          type: string
        CreatedDate:
          description: 'The date and time when the payment was created.

            '
          format: date-time
          type: string
        EffectiveDate:
          description: 'The date when the payment takes effect.

            '
          format: date
          type: string
        Gateway:
          description: "The name of the gateway instance that processes the payment.\
            \ \n"
          type: string
        GatewayOrderId:
          description: 'A merchant-specified natural key value that can be passed
            to the electronic payment gateway when a payment is created. If not specified,
            the payment number will be passed in instead.

            '
          type: string
        GatewayResponse:
          description: 'The message returned from the payment gateway for the payment.
            This message is gateway-dependent.

            '
          type: string
        GatewayResponseCode:
          description: 'The code returned from the payment gateway for the payment.
            This code is gateway-dependent.

            '
          type: string
        GatewayState:
          description: 'The status of the payment in the gateway; use for reconciliation.

            '
          enum:
          - MarkedForSubmission
          - Submitted
          - Settled
          - NotSubmitted
          - FailedToSettle
          type: string
        Id:
          description: 'The unique ID of a payment. For example, 2c92c095592623ea01596621ada84352.

            '
          type: string
        MarkedForSubmissionOn:
          description: "The date and time when a payment was marked and waiting for\
            \ batch submission to the payment process. \n"
          format: date-time
          type: string
        PaymentMethodId:
          description: "The ID of the payment method used for the payment. \n"
          type: string
        PaymentMethodSnapshotId:
          description: 'The unique ID of the payment method snapshot which is a copy
            of the particular payment method used in a transaction.

            '
          type: string
        PaymentNumber:
          description: 'The unique identification number of the payment. For example,
            P-00000028.

            '
          type: string
        ReferenceId:
          description: 'The transaction ID returned by the payment gateway. Use this
            field to reconcile payments between your gateway and Zuora Payments.

            '
          type: string
        RefundAmount:
          description: 'The amount of the payment that is refunded. The value of this
            field is `0` if no refund is made against the payment.

            '
          format: double
          type: number
        SecondPaymentReferenceId:
          description: 'The transaction ID returned by the payment gateway if there
            is an additional transaction for the payment. Use this field to reconcile
            payments between your gateway and Zuora Payments.

            '
          type: string
        SettledOn:
          description: 'The date and time when the payment was settled in the payment
            processor. This field is used by the Spectrum gateway only and not applicable
            to other gateways.

            '
          format: date-time
          type: string
        SoftDescriptor:
          description: "A payment gateway-specific field that maps to Zuora for the\
            \ gateways, Orbital, Vantiv and Verifi. \n"
          type: string
        SoftDescriptorPhone:
          description: 'A payment gateway-specific field that maps to Zuora for the
            gateways, Orbital, Vantiv and Verifi.

            '
          type: string
        Source:
          description: 'How the payment was created, whether through the API, manually,
            import, or payment run.

            '
          enum:
          - PaymentRun
          - Import
          - Manually
          - API
          type: string
        SourceName:
          description: 'The name of the source. The value is a Payment Run number
            or a file name.

            '
          type: string
        Status:
          description: |
            The status of the payment in Zuora. The value depends on the type of payment.

            For electronic payments, the status can be `Processed`, `Processing`, `Error`, or `Voided`. For external payments, the status can be `Processed` or `Canceled`.
          enum:
          - Processed
          - Processing
          - Error
          - Voided
          - Canceled
          type: string
        SubmittedOn:
          description: 'The date and time when the payment was submitted.

            '
          format: date-time
          type: string
        TransferredToAccounting:
          description: 'Indicates if the payment was transferred to an external accounting
            system. Use this field for integration with accounting systems, such as
            NetSuite.

            '
          enum:
          - Processing
          - 'Yes'
          - Error
          - Ignore
          type: string
        Type:
          description: 'The type of the payment, whether the payment is external or
            electronic.

            '
          enum:
          - External
          - Electronic
          type: string
        UpdatedById:
          description: 'The ID of the Zuora user who last updated the payment.

            '
          type: string
        UpdatedDate:
          description: 'The date and time when the payment was last updated.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/PaymentObjectNSFields'
    - $ref: '#/definitions/PaymentObjectCustomFields'
  ProxyGetPaymentMethod:
    properties:
      AccountId:
        description: ' The ID of the customer account associated with this payment
          method. This field is not required for the account ID. '
        type: string
      AchAbaCode:
        description: " The nine-digit routing number or ABA number used by banks.\
          \ Use this field for ACH payment methods.\n**Character limit**: 9 **Values**:\
          \ a string of 9 characters or fewer "
        type: string
      AchAccountName:
        description: " The name of the account holder, which can be either a person\
          \ or a company. Use this field for ACH payment methods.\n**Character limit**:\
          \ 70 **Values**: a string of 70 characters or fewer "
        type: string
      AchAccountNumberMask:
        description: " This is a masked displayable version of the ACH account number,\
          \ used for security purposes. For example: `XXXXXXXXX54321`. Use this field\
          \ for ACH payment methods.\n**Character limit**: 32 **Values**: automatically\
          \ generated "
        type: string
      AchAccountType:
        description: |2
           The type of bank account associated with the ACH payment. Use this field for ACH payment methods.
          **Character limit**: 16 **Values**:

          - `BusinessChecking`
          - `Checking`
          - `Saving`
        type: string
      AchAddress1:
        description: " Line 1 for the ACH address. Required on create for the Vantiv\
          \ payment gateway. Optional for other gateways.\n**Character limit:** **Values:**\
          \ an address "
        type: string
      AchAddress2:
        description: " Line 2 for the ACH address. Required on create for the Vantiv\
          \ payment gateway. Optional for other gateways.\n**Character limit:** **Values:**\
          \ an address "
        type: string
      AchBankName:
        description: " The name of the bank where the ACH payment account is held.\
          \ Use this field for ACH payment methods.\n**Character limit**: 70 **Values**:\
          \ a string of 70 characters or fewer "
        type: string
      Active:
        description: " Specifies whether a payment method is available in Zuora. This\
          \ field is used to indicate if a payment method is loaded by the system\
          \ or created by the customer.\n- `true`: System loaded payment method.\n\
          - `false`: Customer created payment method.\n\nThe default value is `false`.\n\
          **Character limit**: 5 **Values**: `true`, `false` "
        type: boolean
      BankBranchCode:
        description: " The branch code of the bank used for direct debit. Use this\
          \ field for direct debit payment methods.\n**Character limit**: 10 **Values**:\
          \  string of 10 characters or fewer "
        type: string
      BankCheckDigit:
        description: 'The check digit in the international bank account number, which
          confirms the validity of the account. Use this field for direct debit payment
          methods. **Character limit**: 4 **Values**:  string of 4 characters or fewer '
        type: string
      BankCity:
        description: " The city of the direct debit bank. Use this field for direct\
          \ debit payment methods.\n**Character limit**:70 **Values**:  string of\
          \ 70 characters or fewer "
        type: string
      BankCode:
        description: " The sort code or number that identifies the bank. This is also\
          \ known as the sort code. This field is required for direct debit payment\
          \ methods.\n**Character limit**: 18 **Values**:  string of 18 characters\
          \ or fewer "
        type: string
      BankIdentificationNumber:
        description: " The first six digits of the payment method's number, such as\
          \ the credit card number or account number. Banks use this number to identify\
          \ a payment method.\n**Character limit**: 6 **Values**:  string of 6 characters\
          \ or fewer "
        type: string
      BankName:
        description: " The name of the direct debit bank. Use this field for direct\
          \ debit payment methods.\n**Character limit**:80 **Values**:  string of\
          \ 80 characters or fewer "
        type: string
      BankPostalCode:
        description: " The zip code or postal code of the direct debit bank. Use this\
          \ field for direct debit payment methods.\n**Character limit**:20 **Values**:\
          \  string of 20 characters or fewer "
        type: string
      BankStreetName:
        description: " The name of the street of the direct debit bank. Use this field\
          \ for direct debit payment methods.\n**Character limit**:60 **Values**:\
          \  string of 60 characters or fewer "
        type: string
      BankStreetNumber:
        description: " The number of the direct debit bank. Use this field for direct\
          \ debit payment methods.\n**Character limit**:10 **Values**:  string of\
          \ 10 characters or fewer "
        type: string
      BankTransferAccountName:
        description: " The name on the direct debit bank account. Use this field for\
          \ direct debit payment methods.\n**Character limit**: 60 **Values**:  string\
          \ of 60 characters or fewer "
        type: string
      BankTransferAccountNumber:
        description: |
          The number of the customer's bank account. Use this field for direct debit payment methods.

          **Character limit**: 30
          **Values**: a string of 30 characters or fewer
        type: string
      BankTransferAccountNumberMask:
        description: " This is a masked displayable version of the bank account number,\
          \ used for security purposes. For example: `XXXXXXXXX54321`.\n**Character\
          \ limit**: 32 **Values**: automatically generated "
        type: string
      BankTransferAccountType:
        description: " The type of the customer's bank account. Use this field for\
          \ direct debit payment methods.\n**Character limit**: 11 **Values**: `DirectDebit` "
        type: string
      BankTransferType:
        description: "The type of direct debit transfer. The value of this field is\
          \ dependent on the country of the user. This field is only required if the\
          \ `Type` field is set to `BankTransfer`.\n\n **Values**: \n\n   - `SEPA`\n\
          \   \n   - `AutomatischIncasso` (NL)\n\n   - `LastschriftDE` (Germany)\n\
          \n   - `LastschriftAT` (Austria)\n\n   - `DemandeDePrelevement` (FR)\n\n\
          \   - `DirectDebitUK` (UK)\n\n   - `Domicil` (Belgium)\n\n   - `LastschriftCH`\
          \ (CH)\n\n   - `RID` (Italy)\n\n   - `OrdenDeDomiciliacion` (Spain)\n  \
          \ - `Autogiro` (Sweden)\n   - `Betalingsservice` (Denmark)\n"
        maxLength: 20
        type: string
      BusinessIdentificationCode:
        description: " The business identification code for Swiss direct payment methods\
          \ that use the Global Collect payment gateway. Use this field only for direct\
          \ debit payments in Switzerland with Global Collect.\n**Character limit**:\
          \ 11 **Values**: string of 11 characters or fewer "
        type: string
      City:
        description: " The city of the customer's address. Use this field for direct\
          \ debit payment methods.\n**Character limit**:80 **Values**:  string of\
          \ 80 characters or fewer "
        type: string
      CompanyName:
        description: 'The name of the company.

          '
        type: string
      Country:
        description: " The two-letter country code of the customer's address. Use\
          \ this field for direct debit payment methods.\n**Character limit**: 2 **Values**:\
          \ a valid country code "
        type: string
      CreatedById:
        description: " The user ID of the person who created the `PaymentMethod` object\
          \ when there is a login user in the user session. In Hosted Payment Method\
          \ and Zuora Checkout pages, this field is set to 3 as there is no login\
          \ user to initiate a user session.\n**Character limit**: 32 **Values**:\
          \ automatically generated "
        type: string
      CreatedDate:
        description: " The date when the `PaymentMethod` object was created in the\
          \ Zuora system.\n**Character limit**: 29 **Values**: automatically generated "
        format: date-time
        type: string
      CreditCardAddress1:
        description: " The first line of the card holder's address, which is often\
          \ a street address or business name. Use this field for credit card and\
          \ direct debit payment methods.\n**Character limit**: 255 **Values**: a\
          \ string of 255 characters or fewer "
        type: string
      CreditCardAddress2:
        description: " The second line of the card holder's address. Use this field\
          \ for credit card and direct debit payment methods.\n**Character limit**:\
          \ 255 **Values**: a string of 255 characters or fewer "
        type: string
      CreditCardCity:
        description: ' The city of the card holder''s address. Use this field for
          credit card and direct debit payment methods **Character limit**: 40 **Values**:
          a string of 40 characters or fewer '
        type: string
      CreditCardCountry:
        description: ' The country of the card holder''s address. '
        type: string
      CreditCardExpirationMonth:
        description: " The expiration month of the credit card or debit card. Use\
          \ this field for credit card and direct debit payment methods.\n**Character\
          \ limit**: 2 **Values**: a two-digit number, 01 - 12 "
        format: int32
        type: integer
      CreditCardExpirationYear:
        description: " The expiration month of the credit card or debit card. Use\
          \ this field for credit card and direct debit payment methods.\n**Character\
          \ limit**: 4 **Values**: a four-digit number "
        format: int32
        type: integer
      CreditCardHolderName:
        description: " The full name of the card holder. Use this field for credit\
          \ card and direct debit payment methods.\n**Character limit**: 50 **Values**:\
          \ a string of 50 characters or fewer "
        type: string
      CreditCardMaskNumber:
        description: " A masked version of the credit or debit card number.\n**Character\
          \ limit**: 32 **Values**: automatically generated "
        type: string
      CreditCardPostalCode:
        description: " The billing address's zip code. This field is required only\
          \ when you define a debit card or credit card payment.\n**Character limit**:\
          \ 20 **Values**: a string of 20 characters or fewer "
        type: string
      CreditCardState:
        description: ' The billing address''s state. Use this field is if the `CreditCardCountry`
          value is either Canada or the US. State names must be spelled in full. '
        type: string
      CreditCardType:
        description: "The type of the credit card.\n    \nPossible values  include\
          \ `Visa`, `MasterCard`, `AmericanExpress`, `Discover`, `JCB`, and `Diners`.\
          \ For more information about credit card types supported by different payment\
          \ gateways, see [Supported Payment Gateways](https://knowledgecenter.zuora.com/CB_Billing/M_Payment_Gateways/Supported_Payment_Gateways).\n"
        type: string
      DeviceSessionId:
        description: " The session ID of the user when the `PaymentMethod` was created\
          \ or updated. Some gateways use this field for fraud prevention. If this\
          \ field is passed to Zuora, then Zuora passes this field to supported gateways.\
          \ Currently only Verifi supports this field.\n**Character limit**: 255 "
        type: string
      Email:
        description: " An email address for the payment method in addition to the\
          \ bill to contact email address.\n**Character limit**: 80 **Values**: a\
          \ string of 80 characters or fewer "
        type: string
      ExistingMandate:
        description: " Indicates if the customer has an existing mandate or a new\
          \ mandate. A mandate is a signed authorization for UK and NL customers.\
          \ When you are migrating mandates from another system, be sure to set this\
          \ field correctly. If you indicate that a new mandate is an existing mandate\
          \ or vice-versa, then transactions fail. This field is used only for the\
          \ direct debit payment method.\n**Character limit**: 3 **Values**: `Yes`\
          \ or `No` "
        type: string
      FirstName:
        description: " The customer's first name. This field is used only for the\
          \ direct debit payment method.\n**Character limit**: 30 **Values**: a string\
          \ of 30 characters or fewer "
        type: string
      IBAN:
        description: " The International Bank Account Number. This field is used only\
          \ for the direct debit payment method.\n**Character limit**: 42 **Values**:\
          \ a string of 42 characters or fewer "
        type: string
      IPAddress:
        description: " The IP address of the user when the payment method was created\
          \ or updated. Some gateways use this field for fraud prevention. If this\
          \ field is passed to Zuora, then Zuora passes this field to supported gateways.\
          \ Currently PayPal, CyberSource, Authorize.Net, Verifi, and WorldPay support\
          \ this field.\n**Character limit**: 15 **Values**: a string of 15 characters\
          \ or fewer "
        type: string
      Id:
        description: Object identifier.
        type: string
      IdentityNumber:
        description: "The unique identity number of the customer account. \n"
        type: string
      IsCompany:
        description: 'Whether the customer account is a company.

          '
        type: boolean
      LastFailedSaleTransactionDate:
        description: " The date of the last failed attempt to collect payment with\
          \ this payment method.\n**Character limit**: 29 **Values**: automatically\
          \ generated "
        format: date-time
        type: string
      LastName:
        description: " The customer's last name. This field is used only for the direct\
          \ debit payment method.\n**Character limit**: 70 **Values**: a string of\
          \ 70 characters or fewer "
        type: string
      LastTransactionDateTime:
        description: " The date of the most recent transaction.\n**Character limit**:\
          \ 29 **Values**: a valid date and time value "
        format: date-time
        type: string
      LastTransactionStatus:
        description: " The status of the most recent transaction.\n**Character limit**:\
          \ 39 **Values**: automatically generated "
        type: string
      MandateCreationDate:
        description: " The date when the mandate was created, in `yyyy-mm-dd` format.\
          \ A mandate is a signed authorization for UK and NL customers. This field\
          \ is used only for the direct debit payment method.\n**Character limit**:\
          \ 29 "
        format: date
        type: string
      MandateID:
        description: " The ID of the mandate. A mandate is a signed authorization\
          \ for UK and NL customers. This field is used only for the direct debit\
          \ payment method.\n**Character limit**: 36 **Values**: a string of 36 characters\
          \ or fewer "
        type: string
      MandateReceived:
        description: " Indicates if  the mandate was received. A mandate is a signed\
          \ authorization for UK and NL customers. This field is used only for the\
          \ direct debit payment method.\n**Character limit**: 3 **Values**: `Yes`\
          \ or `No `(case-sensitive) "
        type: string
      MandateUpdateDate:
        description: " The date when the mandate was last updated, in `yyyy-mm-dd`\
          \ format. A mandate is a signed authorization for UK and NL customers. This\
          \ field is used only for the direct debit payment method.\n**Character limit**:\
          \ 29 "
        format: date
        type: string
      MaxConsecutivePaymentFailures:
        description: " Specifies the number of allowable consecutive failures Zuora\
          \ attempts with the payment method before stopping.\n**Values**: a valid\
          \ number "
        type: integer
      Name:
        description: The name of the payment method.
        type: string
      NumConsecutiveFailures:
        description: "The number of consecutive failed payments for this payment method.\
          \ It is reset to `0` upon successful payment. \n"
        format: int32
        maximum: 100
        minimum: 0
        type: integer
      PaymentMethodStatus:
        description: |2
           This field is used to indicate the status of the payment method created within an account. It is set to `Active` on creation.
          **Character limit**: 6 **Values**: `Active` or `Closed`
        type: string
      PaymentRetryWindow:
        description: " The retry interval setting, which prevents making a payment\
          \ attempt if the last failed attempt was within the last specified number\
          \ of hours. This field is required if the `UseDefaultRetryRule` field value\
          \ is set to `false`.\n**Character limit**: 4 **Values**: a whole number\
          \ between 1 and 1000, exclusive "
        type: integer
      PaypalBaid:
        description: " The PayPal billing agreement ID, which is a contract between\
          \ two PayPal accounts. Typically, the selling party initiates a request\
          \ to create a BAID, and sends it to buying party for acceptance. The seller\
          \ can keep track of the BAID and use it for future charges against the buyer.\
          \ This field is required when defining a PayPal payment method.\n**Character\
          \ limit**: 64 **Values**: a string of 64 characters or fewer "
        type: string
      PaypalEmail:
        description: " The email address associated with the account holder's PayPal\
          \ account or of the PayPal account of the person paying for the service.\
          \ This field is required only when you define a PayPal payment method.\n\
          **Character limit**: 80 **Values**: a string of 80 characters or fewer "
        type: string
      PaypalPreapprovalKey:
        description: " PayPal's Adaptive Payments API key. Zuora does not create this\
          \ key, nor does it call PayPal to generate it. You must use PayPal's Adaptive\
          \ Payments' API to generate this key, and then pass it to Zuora. Zuora uses\
          \ this key to authorize future payments to PayPal's Adaptive Payments API.\
          \ This field is required when you use PayPal Adaptive Payments gateway.\n\
          **Character limit**: 32 **Values**: a valid PayPal Adaptive Payment pre-approval\
          \ key "
        type: string
      PaypalType:
        description: " Specifies the PayPal gateway: PayFlow Pro (Express Checkout)\
          \ or Adaptive Payments. This field is required when you use PayPal Adaptive\
          \ Payments or Payflow Pro (Express Checkout) gateways.\n**Character limit**:\
          \ 32 **Values**: `ExpressCheckout` or `AdaptivePayments` "
        type: string
      Phone:
        description: " The phone number that the account holder registered with the\
          \ bank. This field is used for credit card validation when passing to a\
          \ gateway.\n**Character limit**: 40 **Values**: a string of 40 characters\
          \ or fewer "
        type: string
      PostalCode:
        description: " The zip code of the customer's address. This field is used\
          \ only for the direct debit payment method.\n**Character limit**: 20 **Values**:\
          \ a string of 20 characters or fewer "
        type: string
      SecondTokenId:
        description: ' A gateway unique identifier that replaces sensitive payment
          method data. `SecondTokenId` is conditionally required only when `TokenId`
          is being used to represent a gateway customer profile. `SecondTokenId` is
          used in the CC Reference Transaction payment method. **Character limit**:
          64 **Values**: a string of 64 characters or fewer '
        type: string
      State:
        description: " The state of the customer's address. This field is used only\
          \ for the direct debit payment method.\n**Character limit**: 70 **Values**:\
          \ a string of 70 characters or fewer "
        type: string
      StreetName:
        description: " The street name of the customer's address. This field is used\
          \ only for the direct debit payment method.\n**Character limit**: 100 **Values**:\
          \ a string of 100 characters or fewer "
        type: string
      StreetNumber:
        description: " The street number of the customer's address. This field is\
          \ used only for the direct debit payment method.\n**Character limit**: 30\
          \ **Values**: a string of 30 characters or fewer "
        type: string
      TokenId:
        description: " A gateway unique identifier that replaces sensitive payment\
          \ method data or represents a gateway's unique customer profile. `TokenId`\
          \ is required for the CC Reference Transaction payment method.\n**Character\
          \ limit**: 255 **Values**: a string of 255 characters or fewer "
        type: string
      TotalNumberOfErrorPayments:
        description: " The number of error payments that used this payment method.\n\
          **Character limit**: **Values**: automatically generated "
        format: int32
        type: integer
      TotalNumberOfProcessedPayments:
        description: " The number of successful payments that used this payment method.\n\
          **Character limit**: **Values**: automatically generated "
        format: int32
        type: integer
      Type:
        description: 'The type of payment method. '
        enum:
        - ACH
        - ApplePay
        - BankTransfer
        - Cash
        - Check
        - CreditCard
        - CreditCardReferenceTransaction
        - DebitCard
        - Other
        - PayPal
        - WireTransfer
        type: string
      UpdatedById:
        description: " The ID of the user who last updated the payment method.\n**Character\
          \ limit**: 32 **Values**: automatically generated "
        type: string
      UpdatedDate:
        description: " The date when the payment method was last updated.\n**Character\
          \ limit**: 29 **Values**: automatically generated "
        format: date-time
        type: string
      UseDefaultRetryRule:
        description: " Determines whether to use the default retry rules configured\
          \ in the Zuora Payments settings. Set this to `true` to use the default\
          \ retry rules. Set this to `false` to set the specific rules for this payment\
          \ method. If you set this value to `false`, then the fields, `PaymentRetryWindow`\
          \ and `MaxConsecutivePaymentFailures`, are required.\n**Character limit**:\
          \ 5 **Values**: `t``rue`, `false` "
        type: boolean
    type: object
  ProxyGetPaymentMethodSnapshot:
    properties:
      AccountId:
        description: The ID of the customer account associated with this payment method.
        type: string
      AchAbaCode:
        description: The nine-digit routing number or ABA number used by banks. Applicable
          to ACH payment methods.
        type: string
      AchAccountName:
        description: The name of the account holder, which can be either a person
          or a company. Applicable to ACH payment methods.
        type: string
      AchAccountNumberMask:
        description: 'This is a masked displayable version of the ACH account number,
          used for security purposes. For example: `XXXXXXXXX54321`.'
        type: string
      AchAccountType:
        description: The type of bank account associated with the ACH payment.
        enum:
        - BusinessChecking
        - Checking
        - Saving
        type: string
      AchBankName:
        description: The name of the bank where the ACH payment account is held.
        type: string
      BankBranchCode:
        description: The branch code of the bank used for direct debit.
        type: string
      BankCheckDigit:
        description: The check digit in the international bank account number, which
          confirms the validity of the account. Applicable to direct debit payment
          methods.
        type: string
      BankCity:
        description: The city of the direct debit bank.
        type: string
      BankCode:
        description: The sort code or number that identifies the bank. This is also
          known as the sort code.
        type: string
      BankIdentificationNumber:
        description: The first six digits of the payment method's number, such as
          the credit card number or account number. Banks use this number to identify
          a payment method.
        type: string
      BankName:
        description: The name of the direct debit bank.
        type: string
      BankPostalCode:
        description: The zip code or postal code of the direct debit bank.
        type: string
      BankStreetName:
        description: The name of the street of the direct debit bank.
        type: string
      BankStreetNumber:
        description: The number of the direct debit bank.
        type: string
      BankTransferAccountName:
        description: The name on the direct debit bank account.
        type: string
      BankTransferAccountNumberMask:
        description: 'This is a masked displayable version of the bank account number,
          used for security purposes. For example: `XXXXXXXXX54321`.'
        type: string
      BankTransferAccountType:
        description: The type of the customer's bank account. Applicable to direct
          debit payment methods.
        type: string
      BankTransferType:
        description: "Specifies the type of direct debit transfer. The value of this\
          \ field is dependent on the country of the user.\n\nPossible Values: \n\n\
          \n* `AutomatischIncasso` (NL)\n\n* `LastschriftDE` (Germany)\n\n* `LastschriftAT`\
          \ (Austria)\n\n* `DemandeDePrelevement` (FR)\n\n* `DirectDebitUK` (UK)\n\
          \n* `Domicil` (Belgium)\n\n* `LastschriftCH` (CH)\n\n* `RID` (Italy)\n\n\
          * `OrdenDeDomiciliacion` (Spain)\n* `Autogiro` (Sweden)\n* `Betalingsservice`\
          \ (Denmark)\n"
        enum:
        - AutomatischIncasso
        - LastschriftDE
        - LastschriftAT
        - DemandeDePrelevement
        - DirectDebitUK
        - Domicil
        - LastschriftCH
        - RID
        - OrdenDeDomiciliacion
        - Autogiro
        - Betalingsservice
        type: string
      BusinessIdentificationCode:
        description: The business identification code for Swiss direct payment methods
          that use the Global Collect payment gateway. Only applicable to direct debit
          payments in Switzerland with Global Collect.
        type: string
      City:
        description: The city of the customer's address. Applicable to debit payment
          methods.
        type: string
      CompanyName:
        description: 'The name of the company.

          '
        type: string
      Country:
        description: The two-letter country code of the customer's address. Applicable
          to direct debit payment methods.
        type: string
      CreditCardAddress1:
        description: The first line of the card holder's address, which is often a
          street address or business name. Applicable to credit card and direct debit
          payment methods.
        type: string
      CreditCardAddress2:
        description: The second line of the card holder's address. Applicable to credit
          card and direct debit payment methods.
        type: string
      CreditCardCity:
        description: The city of the card holder's address. Applicable to credit card
          and direct debit payment methods.
        type: string
      CreditCardCountry:
        description: The country of the card holder's address.
        type: string
      CreditCardExpirationMonth:
        description: The expiration month of the credit card or debit card. Applicable
          to credit card and direct debit payment methods.
        format: int32
        type: integer
      CreditCardExpirationYear:
        description: The expiration month of the credit card or debit card. Applicable
          to credit card and direct debit payment methods.
        format: int32
        type: integer
      CreditCardHolderName:
        description: The full name of the card holder. Applicable to credit card and
          direct debit payment methods.
        type: string
      CreditCardMaskNumber:
        description: A masked version of the credit or debit card number.
        type: string
      CreditCardPostalCode:
        description: The billing address's zip code.
        type: string
      CreditCardState:
        description: The billing address's state. Applicable if `CreditCardCountry`
          is either Canada or the US.
        type: string
      CreditCardType:
        description: The type of credit card or debit card.
        enum:
        - AmericanExpress
        - Discover
        - MasterCard
        - Visa
        type: string
      DeviceSessionId:
        description: The session ID of the user when the `PaymentMethod` was created
          or updated.
        type: string
      Email:
        description: An email address for the payment method in addition to the bill
          to contact email address.
        type: string
      ExistingMandate:
        description: Indicates if the customer has an existing mandate or a new mandate.
          Only applicable to direct debit payment methods.
        enum:
        - 'Yes'
        - 'No'
        type: string
      FirstName:
        description: The customer's first name. Only applicable to direct debit payment
          methods.
        type: string
      IBAN:
        description: The International Bank Account Number. Only applicable to direct
          debit payment methods.
        type: string
      IPAddress:
        description: The IP address of the user when the payment method was created
          or updated.
        type: string
      Id:
        description: Object identifier.
        type: string
      IdentityNumber:
        description: "The unique identity number of the customer account. \n"
        type: string
      IsCompany:
        description: 'Whether the customer account is a company.

          '
        type: boolean
      LastFailedSaleTransactionDate:
        description: The date of the last failed attempt to collect payment with this
          payment method.
        format: date-time
        type: string
      LastName:
        description: The customer's last name. Only applicable to direct debit payment
          methods.
        type: string
      LastTransactionDateTime:
        description: The date of the most recent transaction.
        format: date-time
        type: string
      LastTransactionStatus:
        description: The status of the most recent transaction.
        type: string
      MandateCreationDate:
        description: The date when the mandate was created, in `yyyy-mm-dd` format.
          A mandate is a signed authorization for UK and NL customers. Only applicable
          to direct debit payment methods.
        format: date
        type: string
      MandateID:
        description: The ID of the mandate. A mandate is a signed authorization for
          UK and NL customers. Only applicable to direct debit payment methods.
        type: string
      MandateReceived:
        description: Indicates if  the mandate was received. A mandate is a signed
          authorization for UK and NL customers. Only applicable to direct debit payment
          methods.
        type: string
      MandateUpdateDate:
        description: The date when the mandate was last updated, in `yyyy-mm-dd` format.
          A mandate is a signed authorization for UK and NL customers. Only applicable
          to direct debit payment methods.
        format: date
        type: string
      MaxConsecutivePaymentFailures:
        description: The number of allowable consecutive failures Zuora attempts with
          the payment method before stopping.
        type: integer
      Name:
        description: The name of the payment method.
        type: string
      NumConsecutiveFailures:
        description: The number of consecutive failed payment for the payment method.
        format: int32
        type: integer
      PaymentMethodId:
        description: Object identifier of the payment method.
        type: string
      PaymentMethodStatus:
        description: Specifies the status of the payment method.
        enum:
        - Active
        - Closed
        type: string
      PaymentRetryWindow:
        description: The retry interval setting, which prevents making a payment attempt
          if the last failed attempt was within the last specified number of hours.
        type: integer
      PaypalBaid:
        description: The PayPal billing agreement ID, which is a contract between
          two PayPal accounts.
        type: string
      PaypalEmail:
        description: The email address associated with the account holder's PayPal
          account or of the PayPal account of the person paying for the service.
        type: string
      PaypalPreapprovalKey:
        description: PayPal's Adaptive Payments API key.
        type: string
      PaypalType:
        description: 'Specifies the PayPal gateway: PayFlow Pro (Express Checkout)
          or Adaptive Payments.'
        enum:
        - ExpressCheckout
        - AdaptivePayments
        type: string
      Phone:
        description: The phone number that the account holder registered with the
          bank. This field is used for credit card validation when passing to a gateway.
        type: string
      PostalCode:
        description: The zip code of the customer's address. Only applicable to direct
          debit payment methods.
        type: string
      SecondTokenId:
        description: A gateway unique identifier that replaces sensitive payment method
          data. Applicable to CC Reference Transaction payment methods.
        type: string
      State:
        description: The state of the customer's address. Only applicable to direct
          debit payment methods.
        type: string
      StreetName:
        description: The street name of the customer's address. Only applicable to
          direct debit payment methods.
        type: string
      StreetNumber:
        description: The street number of the customer's address. Only applicable
          to direct debit payment methods.
        type: string
      TokenId:
        description: A gateway unique identifier that replaces sensitive payment method
          data or represents a gateway's unique customer profile. Applicable to CC
          Reference Transaction payment methods.
        type: string
      TotalNumberOfErrorPayments:
        description: The number of error payments that used this payment method.
        format: int32
        type: integer
      TotalNumberOfProcessedPayments:
        description: The number of successful payments that used this payment method.
        format: int32
        type: integer
      Type:
        description: The type of payment method.
        enum:
        - ACH
        - ApplePay
        - BankTransfer
        - Cash
        - Check
        - CreditCard
        - CreditCardReferenceTransaction
        - DebitCard
        - Other
        - PayPal
        - WireTransfer
        type: string
      UseDefaultRetryRule:
        description: Determines whether to use the default retry rules configured
          in the Zuora Payments settings.
        type: boolean
    type: object
  ProxyGetPaymentMethodTransactionLog:
    properties:
      Gateway:
        description: ''
        type: string
      GatewayReasonCode:
        description: ''
        type: string
      GatewayReasonCodeDescription:
        description: ''
        type: string
      GatewayTransactionType:
        description: ''
        type: string
      Id:
        description: Object identifier.
        type: string
      PaymentMethodId:
        description: ''
        type: string
      PaymentMethodType:
        description: ''
        type: string
      RequestString:
        description: ''
        type: string
      ResponseString:
        description: ''
        type: string
      TransactionDate:
        description: ''
        format: date-time
        type: string
      TransactionId:
        description: ''
        type: string
    type: object
  ProxyGetPaymentTransactionLog:
    properties:
      AVSResponseCode:
        description: 'The response code returned by the payment gateway referring
          to the AVS international response of the payment transaction.

          '
        type: string
      BatchId:
        description: 'The ID of the batch used to send the transaction if the request
          was sent in a batch.

          '
        type: string
      CVVResponseCode:
        description: 'The response code returned by the payment gateway referring
          to the CVV international response of the payment transaction.

          '
        type: string
      Gateway:
        description: 'The name of the payment gateway used to transact the current
          payment transaction log.

          '
        type: string
      GatewayReasonCode:
        description: 'The code returned by the payment gateway for the payment. This
          code is gateway-dependent.

          '
        type: string
      GatewayReasonCodeDescription:
        description: "The message returned by the payment gateway for the payment.\
          \ This message is gateway-dependent. \n"
        type: string
      GatewayState:
        description: 'The state of the transaction at the payment gateway.

          '
        enum:
        - MarkedForSubmission
        - Submitted
        - Settled
        - NotSubmitted
        - FailedToSettle
        type: string
      GatewayTransactionType:
        description: "The type of the transaction, either making a payment, or canceling\
          \ a payment. \n"
        enum:
        - Authorization
        - Sale
        - Void
        - Inquiry
        - VoidAuth
        type: string
      Id:
        description: 'The ID of the payment transaction log.

          '
        type: string
      PaymentId:
        description: "The ID of the payment wherein the payment transaction log was\
          \ recorded. \n"
        type: string
      RequestString:
        description: "The payment transaction request string sent to the payment gateway.\
          \ \n"
        type: string
      ResponseString:
        description: "The payment transaction response string returned by the payment\
          \ gateway. \n"
        type: string
      TransactionDate:
        description: "The transaction date when the payment was performed. \n"
        format: date-time
        type: string
      TransactionId:
        description: 'The transaction ID returned by the payment gateway. This field
          is used to reconcile payment transactions between the payment gateway and
          records in Zuora.

          '
        type: string
    type: object
  ProxyGetProduct:
    allOf:
    - properties:
        AllowFeatureChanges:
          description: " Controls whether to allow your users to add or remove features\
            \ while creating or amending a subscription.\n**Character** **limit**:\
            \ n/a\n**Values**: true, false (default) "
          type: boolean
        Category:
          description: |2
             Category of the product. Used by Zuora Quotes Guided Product Selector.
            **Character** **limit**: 100
            **Values**: One of the following:

            - Base Products
            - Add On Services
            - Miscellaneous Products
          type: string
        CreatedById:
          description: 'The ID of the Zuora user who created the `Product` object.
            **Character limit**: 32 **Values**: automatically generated '
          type: string
        CreatedDate:
          description: " The date when the `Product` object was created.\n**Character\
            \ limit**: n/a **Values**: automatically generated "
          format: date-time
          type: string
        Description:
          description: ' A descriptionof the product. **Character limit**: 500 **Values**:
            a string of 500 characters or fewer '
          type: string
        EffectiveEndDate:
          description: 'The date when the product expires and can''t be subscribed
            to anymore, in `yyyy-mm-dd` format. **Character limit**: 29 '
          format: date
          type: string
        EffectiveStartDate:
          description: 'The date when the product becomes available and can be subscribed
            to, in `yyyy-mm-dd` format. **Character limit**: 29 '
          format: date
          type: string
        Id:
          description: Object identifier.
          type: string
        Name:
          description: 'The name of the product. This information is displayed in
            the product catalog pages in the web-based UI. **Character limit**: 100
            **Values**: a string of 100 characters or fewer '
          type: string
        SKU:
          description: |
            The unique SKU for the product. **Character limit**: 50 **Values**: one of the following:

            - leave null for automatic generated
            - an alphanumeric string of 50 characters or fewer
          type: string
        UpdatedById:
          description: 'The ID of the last user to update the object. **Character
            limit**: 32 **Values**: automatically generated '
          type: string
        UpdatedDate:
          description: 'The date when the object was last updated. **Character limit**:
            29 **Values**: automatically generated '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/ProductObjectNSFields'
    - $ref: '#/definitions/ProductObjectCustomFields'
  ProxyGetProductFeature:
    allOf:
    - properties:
        CreatedById:
          description: 'The ID of the Zuora user who created the Account object. **Character
            limit**: 32 **Values**: automatically generated '
          type: string
        CreatedDate:
          description: 'The date when the Account object was created. **Character
            limit**: 29 **Values**: automatically generated '
          format: date-time
          type: string
        FeatureId:
          description: " Internal Zuora ID of the product feature. This field is not\
            \ editable.\n**Character limit**: 32 **Values**: a string of 32 characters\
            \ or fewer "
          type: string
        Id:
          description: Object identifier.
          type: string
        ProductId:
          description: " Id of the product to which the feature belongs. This field\
            \ is not editable.\n**Character limit**: 32 **Values**: a string of 32\
            \ characters or fewer "
          type: string
        UpdatedById:
          description: 'The ID of the user who last updated the account. **Character
            limit**: 32 **Values**: automatically generated '
          type: string
        UpdatedDate:
          description: 'The date when the account was last updated. **Character limit**:
            29 **Values**: automatically generated '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/ProductFeatureObjectCustomFields'
  ProxyGetProductRatePlan:
    allOf:
    - properties:
        CreatedById:
          description: 'The ID of the Zuora user who created the `ProductRatePlan`
            object. **Character limit**: 32 **Values**: automatically generated '
          type: string
        CreatedDate:
          description: " The date when the `ProductRatePlan` object was created.\n\
            **Character limit**: 29 **Values**: automatically generated "
          format: date-time
          type: string
        Description:
          description: 'A description of the product rate plan. **Character limit**:
            500 **Values**: a string of 500 characters or fewer '
          type: string
        EffectiveEndDate:
          description: " The date when the product rate plan expires and can't be\
            \ subscribed to, in `yyyy-mm-dd` format.\n**Character limit**: 29 "
          format: date
          type: string
        EffectiveStartDate:
          description: " The date when the product rate plan becomes available and\
            \ can be subscribed to, in `yyyy-mm-dd` format.\n**Character limit**:\
            \ 29 "
          format: date
          type: string
        Id:
          description: Object identifier.
          type: string
        Name:
          description: 'The name of the product rate plan. The name doesn''t have
            to be unique in a Product Catalog, but the name has to be unique within
            a product. **Character limit**: 100 **Values**: a string of 100 characters
            or fewer '
          type: string
        ProductId:
          description: 'The ID of the product that contains the product rate plan.
            **Character limit**: 32 **Values**: a string of 32 characters or fewer '
          type: string
        UpdatedById:
          description: 'The ID of the last user to update the object. **Character
            limit**: 32 **Values**: automatically generated '
          type: string
        UpdatedDate:
          description: 'The date when the object was last updated. **Character limit**:
            29 **Values**: automatically generated '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/ProductRatePlanObjectNSFields'
    - $ref: '#/definitions/ProductRatePlanObjectCustomFields'
  ProxyGetProductRatePlanCharge:
    allOf:
    - properties:
        AccountingCode:
          description: 'The accounting code for the charge. Accounting codes group
            transactions that contain similar accounting attributes. **Character limit**:
            100 **Values**: an active accounting code in your Zuora Chart of Accounts '
          type: string
        ApplyDiscountTo:
          description: |
            Specifies the type of charges that you want a specific discount to apply to. All field values are case sensitive: note that these values are in all-caps. **Character limit**: 21 **Values**: one of the following:

            - `ONETIME (1)`
            - `RECURRING (2)`
            - `USAGE (4)`
            - `ONETIMERECURRING (3)`
            - `ONETIMEUSAGE (5)`
            - `RECURRINGUSAGE (6)`
            - `ONETIMERECURRINGUSAGE (7)`
          type: string
        BillCycleDay:
          description: " Sets the bill cycle day (BCD) for the charge. The BCD determines\
            \ which day of the month customer is billed. The BCD value in the account\
            \ can override the BCD in this object.\n**Character limit**: 2 **Values**:\
            \ a valid BCD integer, 1 - 31 "
          format: int32
          type: integer
        BillCycleType:
          description: |2
             Specifies how to determine the billing day for the charge. **Character limit**: 20 **Values**: one of the following:

            - `DefaultFromCustomer`
            - `SpecificDayofMonth:`
            - `SubscriptionStartDay`
            - `ChargeTriggerDay`
            - `SpecificDayofWeek`
            **Note**:

            - If you set this field to `SpecificDayofMonth`, you must specify which day of the month as the billing day for the charge in the BillCycleDay field.
            - If you set this field to `SpecificDayofWeek`, you must specify which day of the week as the billing day for the charge in the WeeklyBillCycleDay field.
          type: string
        BillingPeriod:
          description: " The billing period for the charge. The start day of the billing\
            \ period is also called the bill cycle day (BCD).\n**Character limit**:\
            \ 15 **Values**: one of the following\n\n- `Month`\n- `Quarter`\n- `Annual`\n\
            - `Semi-Annual`\n- `Specific Months`\n- `Subscription Term` (This value\
            \ is in **Limited Availability**.)\n- `Week`\n- `Specific Weeks`\n**Note**:\
            \ Specify the number of months or weeks in the SpecificBillingPeriod field\
            \ if you set this field to `Specific Months` or `Specific Weeks`. "
          type: string
        BillingPeriodAlignment:
          description: |2
             Aligns charges within the same subscription if multiple charges begin on different dates.
            **Character limit**: 24 **Values**: one of the following:

            - `AlignToCharge`
            - `AlignToSubscriptionStart`
            - `AlignToTermStart`
          type: string
        BillingTiming:
          description: |2+
             The billing timing for the charge. You can choose to bill in advance or in arrears for recurring charge types. This field is not used in one-time or usage based charge types.
            **Character limit**: **Values**: one of the following:

            - `In Advance`
            - `In Arrears`

            This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

          type: string
        ChargeModel:
          description: |2
             Determines how to calculate charges. Charge models must be individually activated in Zuora Billing administration.
            **Character limit**: 27 **Values**: one of the following:

            - `Discount-Fixed Amount`
            - `Discount-Percentage`
            - `Flat Fee Pricing`
            - `Per Unit Pricing`
            - `Overage Pricing`
            - `Tiered Pricing`
            - `Tiered with Overage Pricing`
            - `Volume Pricing`
          type: string
        ChargeType:
          description: |2
             Specifies the type of charge.
            **Character limit**: 9 **Values**: one of the following:

            - `OneTime`
            - `Recurring`
            - `Usage`
          type: string
        CreatedById:
          description: 'The ID of the Zuora user who created the `ProductRatePlanCharge`
            object. **Character limit**: 32 **Values**: automatically generated '
          type: string
        CreatedDate:
          description: " The date when the  `ProductRatePlanCharge` object was created.\n\
            **Character limit**: 29 **Values**: automatically generated "
          format: date-time
          type: string
        DefaultQuantity:
          description: " The default quantity of units, such as the number of authors\
            \ in a hosted wiki service. This field is required if you use a per-unit\
            \ pricing model.\n**Character limit**: 16 **Values**: a valid quantity\
            \ value "
          format: double
          type: number
        DeferredRevenueAccount:
          description: |2+
             The name of the deferred revenue account for this charge.
            **Character limit**: 100 **Values**: an active accounting code in your Zuora Chart of Accounts
            This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

          type: string
        Description:
          description: 'A description of the charge. **Character limit**: 500 **Values**:
            a string of 500 characters or fewer '
          type: string
        DiscountLevel:
          description: |2
             Specifies if the discount applies to just the product rate plan, the entire subscription, or to any activity in the account.
            **Character limit**: 12 **Values**: one of the following:

            - `rateplan`
            - `subscription`, `account`
          type: string
        EndDateCondition:
          description: " Defines when the charge ends after the charge trigger date.\n\
            **Values**: one of the following:\n\n- `SubscriptionEnd`: The charge ends\
            \ on the subscription end date after a specified period based on the trigger\
            \ date of the charge. This is the default value.\n- `FixedPeriod`: The\
            \ charge ends after a specified period based on the trigger date of the\
            \ charge. If you set this field to `FixedPeriod`, you must specify the\
            \ length of the period and a period type by defining the `UpToPeriods`\
            \ and `UpToPeriodsType` fields.\n**Note**: If the subscription ends before\
            \ the charge end date, the charge ends when the subscription ends. But\
            \ if the subscription end date is subsequently changed through a Renewal,\
            \ or Terms and Conditions amendment, the charge will end on the charge\
            \ end date. "
          type: string
        Id:
          description: Object identifier.
          type: string
        IncludedUnits:
          description: 'Specifies the number of units in the base set of units. **Character
            limit**: 16 **Values**: a positive decimal value '
          format: double
          type: number
        LegacyRevenueReporting:
          description: ''
          type: boolean
        ListPriceBase:
          description: |
            The list price base for the product rate plan charge. **Values**: one of the following:

            - `Per Month`
            - `Per Billing Period`
            - `Per Week`
          type: string
        MaxQuantity:
          description: " Specifies the maximum number of units for this charge. Use\
            \ this field and the `MinQuantity` field to create a range of units allowed\
            \ in a product rate plan charge.\n**Character limit**: 16 **Values**:\
            \ a positive decimal value "
          format: double
          type: number
        MinQuantity:
          description: 'Specifies the minimum number of units for this charge. Use
            this field and the `MaxQuantity` field to create a range of units allowed
            in a product rate plan charge. **Character limit**: 16 **Values**: a positive
            decimal value '
          format: double
          type: number
        Name:
          description: 'The name of the product rate plan charge. **Character limit**:
            100 **Values**: a string of 100 characters or fewer '
          type: string
        NumberOfPeriod:
          description: 'Specifies the number of periods to use when calculating charges
            in an overage smoothing charge model. **Character limit**: **Values**:
            a positive whole number '
          format: int64
          type: integer
        OverageCalculationOption:
          description: |
            Determines when to calculate overage charges. If the value of the SmoothingMode field is not specified, the value of this field is ignored. **Character limit**: 20 **Values**: one of the following:

            - `EndOfSmoothingPeriod`: This option is used by default. The overage is charged at the end of the smoothing period.
            - `PerBillingPeriod`: The overage is charged on-demand rather than waiting until the end of the smoothing period.
          type: string
        OverageUnusedUnitsCreditOption:
          description: |2
             Determines whether to credit the customer with unused units of usage.
            **Character limit**: 20 **Values**: one of the following:

            - `NoCredit`
            - `CreditBySpecificRate`
          type: string
        PriceChangeOption:
          description: |2
             Applies an automatic price change when a termed subscription is renewed.
            **Character limit**: **Values**: one of the following:

            - `NoChange` (default)
            - `SpecificPercentageValue`
            - `UseLatestProductCatalogPricing`
          type: string
        PriceIncreasePercentage:
          description: " Specifies the percentage to increase or decrease the price\
            \ of a termed subscription's renewal. Use this field if you set the value\
            \ to `SpecificPercentageValue`.\n**Character limit**: 16 **Values**: a\
            \ decimal value between -100 and 100 "
          format: double
          type: number
        ProductRatePlanId:
          description: " The ID of the product rate plan associated with this product\
            \ rate plan charge.\n**Character limit**: 32 **Values**: a valid product\
            \ rate plan ID "
          type: string
        RecognizedRevenueAccount:
          description: |2+
             The name of the recognized revenue account for this charge.

            - Required when the Allow Blank Accounting Code setting is No.
            - Optional when the Allow Blank Accounting Code setting is Yes.

            **Character limit**: 100 **Values**: an active accounting code in your Zuora Chart of Accounts
            This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

          type: string
        RevRecCode:
          description: 'Associates this product rate plan charge with a specific revenue
            recognition code. **Character limit**: 70 **Values**: a valid revenue
            recognition code '
          type: string
        RevRecTriggerCondition:
          description: |2
             Specifies when revenue recognition begins.
            **Character limit**: 22 **Values**: one of the following:

            - `ContractEffectiveDate`
            - `ServiceActivationDate`
            - `CustomerAcceptanceDate`
          type: string
        RevenueRecognitionRuleName:
          description: |
            Determines when to recognize the revenue for this charge. **Character limit**: 25 **Values**: one of the following:

            - `Recognize upon invoicing`
            - `Recognize daily over time`
          type: string
        SmoothingModel:
          description: |2
             Specifies the smoothing model for an overage smoothing charge model.
            **Character limit**: 22 **Values**: one of the following:

            - `RollingWindow`
            - `Rollover`
          type: string
        SpecificBillingPeriod:
          description: " Customizes the number of months or weeks for the charges\
            \ billing period. This field is required if you set the value of the BillingPeriod\
            \ field to `Specific Months` or `Specific Weeks`.\n**Values**: a positive\
            \ integer "
          format: int64
          type: integer
        TaxCode:
          description: " Specifies the tax code for taxation rules. Required when\
            \ the Taxable field is set to `True`.\n\n**Character limit**: 64\n\n**Values**:\
            \ a valid tax code\n\n**Note**: This value affects the tax calculation\
            \ of rate plan charges that come from the `ProductRatePlanCharge`. "
          type: string
        TaxMode:
          description: " Determines how to define taxation for the charge. Required\
            \ when the Taxable field is set to `True`.\n\n**Character limit**: 12\n\
            \n**Values**: one of the following:\n\n- `TaxExclusive`\n- `TaxInclusive`\n\
            \n**Note**: This value affects the tax calculation of rate plan charges\
            \ that come from the `ProductRatePlanCharge`. "
          type: string
        Taxable:
          description: " Determines whether the charge is taxable. When set to `True`,\
            \ the TaxMode and TaxCode fields are required when creating or updating\
            \ th ProductRatePlanCharge object.\n\n**Character limit**: 5\n\n**Values**:\
            \ `True`, `False`\n\n**Note**: This value affects the tax calculation\
            \ of rate plan charges that come from the `ProductRatePlanCharge`. "
          type: boolean
        TriggerEvent:
          description: |2
             Specifies when to start billing the customer for the charge.
            **Character limit**: 18 **Values**: one of the following:

            - `ContractEffective` is the date when the subscription's contract goes into effect and the charge is ready to be billed.
            - `ServiceActivation` is the date when the services or products for a subscription have been activated and the customers have access.
            - `CustomerAcceptance` is when the customer accepts the services or products for a subscription.
          type: string
        UOM:
          description: |2
             Specifies the units to measure usage.
            **Character limit**: 25 **Values**: a configured unit of measure **Note**: You must specify this field when creating the following charge models:

            - Per Unit Pricing
            - Volume Pricing
            - Overage Pricing
            - Tiered Pricing
            - Tiered with Overage Pricing
          type: string
        UpToPeriods:
          description: |2
             Specifies the length of the period during which the charge is active. If this period ends before the subscription ends, the charge ends when this period ends.
            **Character limit**: 5 **Values**: a whole number between 0 and 65535, exclusive **Note**:

            - You must use this field together with the `UpToPeriodsType` field to specify the time period. This field is applicable only when the `EndDateCondition` field is set to `FixedPeriod`.
            - If the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge end date will change accordingly up to the original period end.
          format: int64
          type: integer
        UpToPeriodsType:
          description: |2
             The period type used to define when the charge ends.
            **Character limit**: -- **Values**: one of the following:

            - `Billing Periods` (default)
            - `Days`
            - `Weeks`
            - `Months`
            - `Years`

            **Note**:

            - You must use this field together with the `UpToPeriods` field to specify the time period.
            - This field is applicable only when the `EndDateCondition` field is set to `FixedPeriod`.
          type: string
        UpdatedById:
          description: 'The ID of the last user to update the object. **Character
            limit**: 32 **Values**: automatically generated '
          type: string
        UpdatedDate:
          description: 'The date when the object was last updated. **Character limit**:
            29 **Values**: automatically generated '
          format: date-time
          type: string
        UseDiscountSpecificAccountingCode:
          description: 'Determines whether to define a new accounting code for the
            new discount charge. **Character limit**: 5 **Values**: `True`, `False` '
          type: boolean
        UseTenantDefaultForPriceChange:
          description: ' Applies the tenant-level percentage uplift value for an automatic
            price change to a termed subscription''s renewal. **Character limit**:
            5 **Values**: `true`, `false` '
          type: boolean
        WeeklyBillCycleDay:
          description: |2
             Specifies which day of the week as the bill cycle day (BCD) for the charge.
            This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

            **Values**: one of the following:

            - `Sunday`
            - `Monday`
            - `Tuesday`
            - `Wednesday`
            - `Thursday`
            - `Friday`
            - `Saturday`
          type: string
      type: object
    - $ref: '#/definitions/ProductRatePlanChargeObjectNSFields'
    - $ref: '#/definitions/ProductRatePlanChargeObjectCustomFields'
  ProxyGetProductRatePlanChargeTier:
    properties:
      CreatedById:
        description: 'The ID of the Zuora user who created the ProductRatePlanChargeTier
          object. **Character limit**: 32 **Values**: automatically generated '
        type: string
      CreatedDate:
        description: 'The date when the ProductRatePlanChargeTier object was created.
          **Character limit**: 29 **Values**: automatically generated '
        format: date-time
        type: string
      Currency:
        description: 'The code corresponding to the currency for the tier''s price.
          **Character limit**: 3 **Values**: a valid currency code '
        type: string
      EndingUnit:
        description: 'The end number of a range of units for the tier. **Character
          limit**: 16 **Values**: any positive decimal value '
        format: double
        type: number
      Id:
        description: Object identifier.
        type: string
      Price:
        description: " The price of the tier if the charge is a flat fee, or the price\
          \ of each unit in the tier if the charge model is tiered pricing.\n**Character\
          \ limit**: 16 **Values**: a valid currency value "
        format: double
        type: number
      PriceFormat:
        description: 'Indicates if pricing is a flat fee or is per unit. This field
          is for tiered and volume pricing models only. **Character limit**: 8 **Values**:
          `FlatFee`, `PerUnit` **Note:** The values `Flat Fee` and `Per Unit` (with
          spaces) is valid for create or update calls. '
        type: string
      StartingUnit:
        description: " The starting number of a range of units for the tier.\n**Character\
          \ limit**: 16 **Values**: any positive decimal value "
        format: double
        type: number
      Tier:
        description: " A unique number that identifies the tier that the price applies\
          \ to.\n**Character limit**: 20 **Values**: automatically generated "
        format: int32
        type: integer
      UpdatedById:
        description: " The ID of the user who last updated the product rate plan charge\
          \ tier.\n**Character limit**: 32 **Values**: automatically generated "
        type: string
      UpdatedDate:
        description: " The date when the product rate plan charge tier was last updated.\n\
          **Character limit**: 29 **Values**: automatically generated "
        format: date-time
        type: string
    type: object
  ProxyGetRatePlan:
    allOf:
    - properties:
        AmendmentId:
          description: " The ID of the amendment associated with the rate plan. This\
            \ field only applies to amendment rate plans.\n**Character limit**: 32\
            \ **Values**: a valid amendment ID "
          type: string
        AmendmentType:
          description: 'The type of amendment associated with the rate plan. This
            field only applies to amendment rate plans. '
          type: string
        CreatedById:
          description: 'The ID of the Zuora user who created the RatePlan object.
            **Character limit**: 32 **Values**: automatically generated '
          type: string
        CreatedDate:
          description: 'The date when the `RatePlan` object was last updated. **Character
            limit**: 29 **Values**: automatically generated '
          format: date-time
          type: string
        Id:
          description: Object identifier.
          type: string
        Name:
          description: "The name of the rate plan.\n\n**Values**: inherited from `ProductRatePlan.Name` "
          type: string
        SubscriptionId:
          description: 'The ID of the subscription that the rate plan belongs to.
            **Character limit**: 32 **Values**: a valid subscription ID '
          type: string
        UpdatedById:
          description: " The ID of the user who last updated the rate plan.\n**Character\
            \ limit**: 32 **Values**: automatically generated "
          type: string
        UpdatedDate:
          description: " The date when the rate plan was last updated.\n**Character\
            \ limit**: 29 **Values**: automatically generated "
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/RatePlanObjectCustomFields'
  ProxyGetRatePlanCharge:
    allOf:
    - properties:
        AccountingCode:
          description: "The accounting code for the charge. Accounting codes group\
            \ transactions that contain similar accounting attributes.\n\n**Character\
            \ limit**: 100\n\n**Values**: inherited from `ProductRatePlanCharge.AccountingCode`\n\
            \n**Note**: This value changes if `ProductRatePlanCharge.AccountingCode`\
            \ is updated. The values of `UpdatedById` and `UpdatedDate` for the `RatePlanCharge`\
            \ do not change when `ProductRatePlanCharge.AccountingCode` is updated. "
          type: string
        ApplyDiscountTo:
          description: ' Specifies the type of charges a specific discount applies
            to. **Character limit**: 21 **Values**: inherited from `ProductRatePlanCharge.ApplyDiscountTo` '
          type: string
        BillCycleDay:
          description: " Indicates the charge's billing cycle day (BCD), which is\
            \ when bill runs generate invoices for charges associated with the product\
            \ rate plan charge or the account.\n**Character limit**: 2 **Values**:\
            \ inherited from `ProductRatePlanCharge.BillCycleDay` "
          format: int32
          type: integer
        BillCycleType:
          description: " Specifies how to determine the billing day for the charge.\n\
            **Character limit**: 20 **Values**: inherited from `ProductRatePlanCharge.BillCycleType`\
            \ **Note:** You can override the value inherited from the Product Rate\
            \ Plan Charge, but only when creating a new subscription or a New Product\
            \ amendment. "
          type: string
        BillingPeriod:
          description: " Allows billing period to be overridden on rate plan charge.\n\
            ****Values**: **inherited from `ProductRatePlanCharge.BillingPeriod` **Note:**\
            \ You can override the value inherited from the Product Rate Plan Charge,\
            \ but only when creating a new subscription or a New Product amendment. "
          type: string
        BillingPeriodAlignment:
          description: " Aligns charges within the same subscription if multiple charges\
            \ begin on different dates.\n**Character limit**: 24 **Values**: inherited\
            \ from `ProductRatePlanCharge.BillingPeriodAlignment` "
          type: string
        BillingTiming:
          description: |2+
             The billing timing for the charge. You can choose to bill in advance or in arrears for recurring charge types. This field is not used in one-time or usage based charge types.
            **Character limit**: **Values**: one of the following:

            - `In Advance`
            - `In Arrears`
            **Note:** You can override the value inherited from the Product Rate Plan Charge when a subscription has a recurring charge type.
            This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

          type: string
        ChargeModel:
          description: " Determines how to evaluate charges. Charge models must be\
            \ individually activated in the web-based UI.\n**Character limit**: 29\
            \ **Values**: inherited from `ProductRatePlanCharge.ChargeModel` "
          type: string
        ChargeNumber:
          description: |2
             A unique number that identifies the charge. This number is returned as a string.
            **Character limit**: 50 **Values**: one of the following:

            - automatically generated if left null
            - a unique number of 50 characters or fewer
          type: string
        ChargeType:
          description: " Specifies the type of charge.\n**Character limit**: 9 **Values**:\
            \ inherited from `ProductRatePlanCharge.ChargeType` "
          type: string
        ChargedThroughDate:
          description: " The date through which a customer has been billed for the\
            \ charge.\n**Character limit**: 29 **Values**: automatically generated "
          format: date
          type: string
        CreatedById:
          description: 'The ID of the Zuora user who created the `RatePlanCharge`
            object. **Character limit**: 32 **Values**: automatically generated '
          type: string
        CreatedDate:
          description: " The date when the `RatePlanCharge` object was created.\n\
            **Character limit**: 29 **Values**: automatically generated "
          format: date-time
          type: string
        DMRC:
          description: 'A delta monthly recurring charge is the change in monthly
            recurring revenue caused by an amendment or a new subscription. **Character
            limit**: 16 **Values**: automatically generated '
          format: double
          type: number
        DTCV:
          description: " After an Amendment, the change in the total contract value\
            \ (TCV) amount for this charge, compared with its previous value.\n**Character\
            \ limit**: 16 **Values**: automatically generated "
          format: double
          type: number
        Description:
          description: " A description of the charge.\n**Character limit**: 500 **Values**:\
            \ inherited from `ProductRatePlanCharge.Description` "
          type: string
        DiscountLevel:
          description: 'Specifies if the discount applies to just the product rate
            plan, the entire subscription, or to any activity in the account. **Character
            limit**: 12 **Values**: inherited from `ProductRatePlanCharge.DiscountLevel` '
          type: string
        EffectiveEndDate:
          description: " The date when the segmented charge ends or ended.\n**Character\
            \ limit**: 16 **Values**: automatically generated "
          format: date
          type: string
        EffectiveStartDate:
          description: " The date when the segmented charge starts or started.\n**Character\
            \ limit**: 16 **Values**: automatically generated "
          format: date
          type: string
        EndDateCondition:
          description: " Defines when the charge ends after the charge trigger date.\
            \ This field can be updated when **Status** is `Draft`.\n**Values**: one\
            \ of the following:\n\n- `SubscriptionEnd`: The charge ends on the subscription\
            \ end date after the charge trigger date. This is the default value.\n\
            - `FixedPeriod`: The charge ends after a specified period based on the\
            \ trigger date of the charge. If you set this field to `FixedPeriod`,\
            \ you must specify the length of the period and a period type by defining\
            \ the `UpToPeriods` and `UpToPeriodsType` fields.\n- `SpecificEndDate`:\
            \ The specific date on which the charge ends. If you set this field to\
            \ `SpecificEndDate`, you must specify the specific date by defining the\
            \ `SpecificEndDate` field.\n\n**Note**: If the subscription ends before\
            \ the charge end date, the charge ends when the subscription ends. But\
            \ if the subscription end date is subsequently changed through a Renewal,\
            \ or Terms and Conditions amendment, the charge will end on the charge\
            \ end date. "
          type: string
        Id:
          description: Object identifier.
          type: string
        IsLastSegment:
          description: 'Indicates if the segment of the rate plan charge is the most
            recent segment. **Character limit**: 5 **Values**: automatically generated:
            `true`, `false` '
          type: boolean
        ListPriceBase:
          description: |
            The list price base for the product rate plan charge. **Values**: one of the following:

            - `Per Month`
            - `Per Billing Period`
            - `Per Week`
          type: string
        MRR:
          description: 'Monthly recurring revenue (MRR) is the amount of recurring
            charges in a given month. The MRR calculation doesn''t include one-time
            charges nor usage charges. **Character limit**: 16 **Values**: automatically
            generated '
          format: double
          type: number
        Name:
          description: 'The name of the rate plan charge. **Character limit**: 100
            **Values**: automatically generated '
          type: string
        NumberOfPeriods:
          description: 'Specifies the number of periods to use when calculating charges
            in an overage smoothing charge model. **Character limit**: 5 **Values**:
            inherited from `ProductRatePlanCharge.NumberOfPeriod` '
          format: int64
          type: integer
        OriginalId:
          description: 'The original ID of the rate plan charge. **Character limit**:
            32 **Values**: automatically generated '
          type: string
        OverageCalculationOption:
          description: 'Determines when to calculate overage charges. If the value
            of the SmoothingMode field is null (not specified and not inherited from
            ProductRatePlanCharge.SmoothingMode), the value of this field is ignored.
            **Character limit**: 20 **Values**: inherited from `ProductRatePlanCharge.OverageCalculationOption` '
          type: string
        OverageUnusedUnitsCreditOption:
          description: " Determines whether to credit the customer with unused units\
            \ of usage.\n**Character limit**: 20 **Values**: inherited from `ProductRatePlanCharge.OverageUnusedUnitsCreditOption` "
          type: string
        PriceChangeOption:
          description: |2
             Applies an automatic price change when a termed subscription is renewed.
            **Character limit**: **Values**: one of the following:

            - `NoChange` (default)
            - `SpecificPercentageValue`
            - `UseLatestProductCatalogPricing`
          type: string
        PriceIncreasePercentage:
          description: " Specifies the percentage to increase or decrease the price\
            \ of renewed subscriptions.\n**Character limit**: 16 **Values**: a decimal\
            \ value between -100 and 100 "
          format: double
          type: number
        ProcessedThroughDate:
          description: " The date until when charges have been processed. When billing\
            \ in arrears, such as usage, this field value is the the same as the `ChargedThroughDate`\
            \ value. This date is the earliest date when a charge can be amended.\n\
            **Character limit**: 29 **Values**: automatically generated "
          format: date
          type: string
        Quantity:
          description: " The default quantity of units, such as the number of authors\
            \ in a hosted wiki service. Valid for all charge models except for Flat\
            \ Fee pricing.\n**Character limit**: 16 **Values**: a valid quantity value "
          format: double
          type: number
        RatePlanId:
          description: " The ID of the rate plan associated with the rate plan charge.\n\
            **Character limit**: 32 **Values**: inherited from `RatePlan.Id` "
          type: string
        RevRecCode:
          description: " Associates this product rate plan charge with a specific\
            \ revenue recognition code.\n\n**Character limit**: 70\n\n**Values**:\
            \ inherited from `ProductRatePlanCharge.RevRecCode` or a valid revenue\
            \ recognition code\n\n**Note**: Unless overridden, this value changes\
            \ if `ProductRatePlanCharge.RevRecCode` is updated. The values of `UpdatedById`\
            \ and `UpdatedDate` for the `RatePlanCharge` do not change when `ProductRatePlanCharge.RevRecCode`\
            \ is updated. "
          type: string
        RevRecTriggerCondition:
          description: " Specifies when revenue recognition begins.\n\n**Character\
            \ limit**: 22\n\n**Values**: inherited from `ProductRatePlanCharge.RevRecTriggerCondition`\
            \ or one of the following:\n\n-  `ContractEffectiveDate`\n\n-  `ServiceActivationDate`\n\
            \n-  `CustomerAcceptanceDate`\n\nNote: Unless overridden, this value changes\
            \ if `ProductRatePlanCharge.RevRecTriggerCondition` is updated. The values\
            \ of `UpdatedById` and `UpdatedDate` for the `RatePlanCharge` do not change\
            \ when `ProductRatePlanCharge.RevRecTriggerCondition` is updated. "
          type: string
        RevenueRecognitionRuleName:
          description: " Specifies the Revenue Recognition Rule that you want the\
            \ Rate Plan Charge to use. This field can be updated when **Status** is\
            \ `Draft`. By default, the Revenue Recognition Rule is inherited from\
            \ the Product Rate Plan Charge. For Amend calls, you can use this field\
            \ only for NewProduct amendments. For Update calls, you can use this field\
            \ only to update subscriptions in draft status. Note that if you use this\
            \ field to specify a Revenue Recognition Rule for the Rate Plan Charge,\
            \ the rule will remain as specified even if you later change the rule\
            \ used by the corresponding Product Rate Plan Charge.\n\n**Character limit**:\
            \ n/a\n\n**Values**: inherited from `ProductRatePlanCharge.RevenueRecognitionRuleName`\
            \ or the name of an active Revenue Recognition Rule\n\n**Note**: Unless\
            \ overridden, this value changes if `ProductRatePlanCharge.RevenueRecognitionRuleName`\
            \ is updated. The values of `UpdatedById` and `UpdatedDate` for the `RatePlanCharge`\
            \ do not change when `ProductRatePlanCharge.RevenueRecognitionRuleName`\
            \ is updated. "
          type: string
        Segment:
          description: " The identifying number of the subscription rate plan segment.\
            \ Segments are numbered sequentially, starting with 1.\n**Character limit**:\
            \ 2 **Values**: automatically generated "
          format: int32
          type: integer
        SpecificBillingPeriod:
          description: " Customizes the number of months or weeks for the charges\
            \ billing period. This field is required if you set the value of the BillingPeriod\
            \ field to `Specific Months` or `Specific Weeks`.\n**Character limit**:\
            \ 5 **Values**: inherited from `ProductRatePlanCharge.BillingPeriod` **Note:**\
            \ You can override the value inherited from the Product Rate Plan Charge,\
            \ but only when creating a new subscription or a New Product amendment. "
          format: int64
          type: integer
        SpecificEndDate:
          description: |2
             The specific date on which the charge ends, in `yyyy-mm-dd` format.
            **Character limit**: 29 **Note**:

            - This field is only applicable when the `EndDateCondition` field is set to `SpecificEndDate`.
            - If the subscription ends before the specific end date, the charge ends when the subscription ends. But if the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge will end on the specific end date.
          format: date
          type: string
        TCV:
          description: " The total contract value (TCV) is the value of a single rate\
            \ plan charge in a subscription over the lifetime of the subscription.\
            \ This value does not represent all charges on the subscription. The TCV\
            \ includes recurring charges and one-time charges, but it doesn't include\
            \ usage charge.\n**Character limit**: 16 **Values**: automatically generated "
          format: double
          type: number
        TriggerDate:
          description: " The date when the charge becomes effective and billing begins,\
            \ in `yyyy-mm-dd` format. This field is required if the `TriggerEvent`\
            \ field value is `SpecificDate`.\n**Character limit**: 29 "
          format: date
          type: string
        TriggerEvent:
          description: |2
             Specifies when to start billing the customer for the charge.
            **Note: **This field can be passed through the Subscribe and Amend calls and will override the default value set on the Product Rate Plan Charge.
            **Character limit**: 18 **Values**: inherited from `ProductRatePlanCharge.TriggerEvent` and can be one of the following values:

            - `ContractEffective` is the date when the subscription's contract goes into effect and the charge is ready to be billed.
            - `ServiceActivation` is when the services or products for a subscription have been activated and the customers have access.
            - `CustomerAcceptance` is when the customer accepts the services or products for a subscription.
            - `SpecificDate` is valid only on the RatePlanCharge.
          type: string
        UOM:
          description: " Specifies the units to measure usage.\n**Character limit**:\
            \ 25 **Values**: inherited from `ProductRatePlanCharge.UOM` "
          type: string
        UpToPeriods:
          description: |2
             Specifies the length of the period during which the charge is active. If this period ends before the subscription ends, the charge ends when this period ends.
            **Character limit**: 5 **Values**: inherited from `ProductRatePlanCharge.UpToPeriods` **Note**:

            - You must use this field together with the `UpToPeriodsType` field to specify the time period. This field is only applicable only when the `EndDateCondition` field is set to `FixedPeriod`.
            - You can override the value inherited from the Product Rate Plan Charge, but only when creating a new subscription or a New Product amendment.
            - Use this field to override the value in `ProductRatePlanCharge.UpToPeriod`.
            - If you override the value in this field, enter a whole number between 0 and 65535, exclusive.
            - If the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge end date will change accordingly up to the original period end.
          format: int64
          type: integer
        UpToPeriodsType:
          description: |2
             The period type used to define when the charge ends. This field can be updated when **Status** is `Draft`. **Values**: one of the following:

            - `Billing Periods` (default)
            - `Days`
            - `Weeks`
            - `Months`
            - `Years`
            **Note**:

            - You must use this field together with the `UpToPeriods` field to specify the time period.
            - This field is only applicable only when the `EndDateCondition` field is set to `FixedPeriod`.
          type: string
        UpdatedById:
          description: 'The ID of the last user to update the object. **Character
            limit**: 32 **Values**: automatically generated '
          type: string
        UpdatedDate:
          description: " The date when the object was last updated.\n**Character limit**:\
            \ 29 **Values**: automatically generated "
          format: date-time
          type: string
        Version:
          description: ' The version of the rate plan charge. Each time a charge is
            amended, Zuora creates a new version of the rate plan charge. **Character
            limit**: 5 **Values**: automatically generated '
          format: int64
          type: integer
        WeeklyBillCycleDay:
          description: |2
             Specifies which day of the week as the bill cycle day (BCD) for the charge.
            This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

            **Values**: one of the following:

            - `Sunday`
            - `Monday`
            - `Tuesday`
            - `Wednesday`
            - `Thursday`
            - `Friday`
            - `Saturday`
          type: string
      type: object
    - $ref: '#/definitions/RatePlanChargeObjectCustomFields'
  ProxyGetRatePlanChargeTier:
    properties:
      CreatedById:
        description: 'The ID of the Zuora user who created the RatePlanChargeTier
          object. **Character limit**: 32 **Values**: automatically generated '
        type: string
      CreatedDate:
        description: " The date when the RatePlanChargeTier object was created.\n\
          **Character limit**: 29 **Values**: automatically generated "
        format: date-time
        type: string
      EndingUnit:
        description: " The end number of a range of units for the tier.\n**Character\
          \ limit**: 16 **Values**: any positive decimal value "
        format: double
        type: number
      Id:
        description: Object identifier.
        type: string
      Price:
        description: " The price of the tier if the charge is a flat fee, or the price\
          \ of each unit in the tier if the change model is tiered pricing.\n**Character\
          \ limit**: 16 **Values**: any positive decimal value "
        format: double
        type: number
      PriceFormat:
        description: " Indicates if the price is a flat fee or is per unit.\n**Character\
          \ limit**: 8 **Values**: `Flat Fee`, `Per Unit` "
        type: string
      RatePlanChargeId:
        description: " The ID of the subscription or amendment rate plan charge associated\
          \ with this tier. You can't create an unassociated tier.\n**Character limit**:\
          \ 32 **Values**: inherited from `RatePlanCharge.Id`. "
        type: string
      StartingUnit:
        description: " The start number of a range of units for the tier.\n**Character\
          \ limit**: 16 **Values**: any positive decimal value "
        format: double
        type: number
      Tier:
        description: " A unique number that identifies the tier that the price applies\
          \ to.\n**Character limit**: 20 **Values**: automatically generated "
        format: int32
        type: integer
      UpdatedById:
        description: 'The ID of the last user to update the object. **Character limit**:
          32 **Values**: automatically generated '
        type: string
      UpdatedDate:
        description: " The date when the object was last updated.\n**Character limit**:\
          \ 29 **Values**: automatically generated "
        format: date-time
        type: string
    type: object
  ProxyGetRefund:
    allOf:
    - properties:
        AccountId:
          description: " The ID of the account associated with this refund. Specify\
            \ a value for this field only if you're creating an electronic non-referenced\
            \ refund. Don't specify a value for any other type of refund; Zuora associates\
            \ the refund automatically with the account from the associated payment.\n\
            **Character limit**: 32 **Values**: a valid account ID "
          type: string
        AccountingCode:
          description: " The accounting code for the payment or invoice line item\
            \ that the refund applies to. If there is no accounting code, then this\
            \ value is null. Accounting codes group transactions that contain similar\
            \ accounting attributes.\n**Character limit**: 50 **Values**: automatically\
            \ generated "
          type: string
        Amount:
          description: " The amount of the refund. The amount can't exceed the amount\
            \ of the associated payment. If the original payment was applied to a\
            \ single invoice, then you can create a partial refund. However, if the\
            \ payment was applies to multiple invoices, then you can only make a partial\
            \ refund through the web-based UI, not through the API.\n**Character limit**:\
            \ 16 **Values**: a valid currency amount "
          format: double
          type: number
        CancelledOn:
          description: " The date the refund was cancelled.\n**Values**: automatically\
            \ generated "
          format: date-time
          type: string
        Comment:
          description: " Use this field to record comments about the refund.\n**Character\
            \ limit**: 255 **Values**: a string of 255 characters or fewer "
          type: string
        CreatedById:
          description: " The ID of the Zuora user who created the `Refund` object.\n\
            **Character limit**: 32 **Values**: automatically generated "
          type: string
        CreatedDate:
          description: " The date when the `Refund` object was created.\n**Character\
            \ limit**: 29 **Values**: automatically generated "
          format: date-time
          type: string
        Gateway:
          description: " The gateway that processed the original payment. Zuora uses\
            \ this same gateway for the corresponding refund. If this payment gateway\
            \ is no longer active, then the electronic refund fails. A gateway is\
            \ an online service provider that connects an online shopping cart to\
            \ a payment processor.\n**Values**: automatically inherited from the `Payment`\
            \ object "
          type: string
        GatewayResponse:
          description: " The message returned from the payment gateway for the refund.\
            \ This message is gateway-dependent.\n**Character limit**: 500 **Values**:\
            \ automatically generated "
          type: string
        GatewayResponseCode:
          description: " The code returned from the payment gateway for the payment.\
            \ This code is gateway-dependent.\n**Character limit**: 20 **System****Values**:\
            \ automatically generated "
          type: string
        GatewayState:
          description: " The status of the payment in the gateway.\n**Character limit**:\
            \ 19 **Values**: automatically generated "
          type: string
        Id:
          description: Object identifier.
          type: string
        MarkedForSubmissionOn:
          description: ' The date when a payment was marked and waiting for batch
            submission to the payment process. **Character limit**: 29 **Values**:
            automatically generated '
          format: date-time
          type: string
        MethodType:
          description: |2
             Indicates how an external refund was issued to a customer. This field is required for an external refund. You can issue an external refund on an electronic payment. **Character limit**: 30 **Values**:

            - `ACH`
            - `Cash`
            - `Check`
            - `CreditCard`
            - `Other`
            - `PayPal`
            - `WireTransfer`
            - `DebitCard`
            - `CreditCardReferenceTransaction`
          type: string
        PaymentMethodId:
          description: " The unique ID of the payment method that the customer used\
            \ to make the payment. Specify a value for this field only if you're creating\
            \ an electronic non-referenced refund.\n**Character limit**: 32 **V****alues**:\
            \ a valid payment method ID "
          type: string
        PaymentMethodSnapshotId:
          description: " The unique ID of the payment method snapshot which is a copy\
            \ of the particular Payment Method used in a transaction.\n**Character\
            \ limit**: 32 **V****alues**: a valid payment method snapshot ID "
          type: string
        ReasonCode:
          description: " A code identifying the reason for the transaction. Must be\
            \ an existing reason code or empty. If you do not specify a value, Zuora\
            \ uses the default reason code.\n**Character limit**: 32 **V****alues**:\
            \ a valid reason code "
          type: string
        ReferenceID:
          description: " The transaction ID returned by the payment gateway for an\
            \ electronic refund. Use this field to reconcile refunds between your\
            \ gateway and Zuora Payments.\n**Character limit**: 60 **Values**: a string\
            \ of 60 characters or fewer "
          type: string
        RefundDate:
          description: " The date of the refund, in `yyyy-mm-dd` format. The date\
            \ of the refund cannot be before the payment date. Specify this field\
            \ only for external refunds. Zuora automatically generates this field\
            \ for electronic refunds.\n**Character limit**: 29 "
          format: date
          type: string
        RefundNumber:
          description: " The unique identifier of the refund.\n**Character limit**:\
            \ 50 **Values**: automatically generated "
          type: string
        RefundTransactionTime:
          description: " The date and time when the refund was issued.\n**Character\
            \ limit**: 29 **Values**: automatically generated "
          format: date-time
          type: string
        SecondRefundReferenceId:
          description: " The transaction ID returned by the payment gateway if there\
            \ is an additional transaction for the payment. Use this field to reconcile\
            \ payments between your gateway and Zuora Payments.\n**Character limit**:\
            \ 60 **Values**: a string of 60 characters or fewer "
          type: string
        SettledOn:
          description: " The date when the payment was settled in the payment processor.\
            \ This field is used by the Spectrum gateway only and not applicable to\
            \ other gateways.\n**Character limit**: 29 **Values**: automatically generated "
          format: date-time
          type: string
        SoftDescriptor:
          description: |2
             A payment gateway-specific field that maps Zuora to other gateways . **Character limit**: 35 **Values**:

            - 3-byte company identifier &quot;*&quot; 18-byte descriptor
            - 7-byte company identifier &quot;*&quot; 14-byte descriptor
            - 12-byte company identifier &quot;*&quot; 9-byte descriptor
          type: string
        SoftDescriptorPhone:
          description: |2
             A payment gateway-specific field that maps Zuora to other gateways . **Character limit**: 20 **Values**:

            - Customer service phone number formatted as: `NNN-NNN-NNNN` or `NNN-AAAAAAA`
            - URL (non-e-Commerce): Transactions sent with a URL do not qualify for the best interchange rate
            - Email address
          type: string
        SourceType:
          description: |2
             Specifies whether the refund is a refund payment or a credit balance. This field is required when creating an non-referenced refund. If you creating an non-referenced refund, then set this value to `CreditBalance`.
            **Character limit**: 13 **Values**:

            - `Payment`
            - `CreditBalance`
          type: string
        Status:
          description: |2
             The status of the refund.
            **Character limit**: 10 **Values**: automatically generated:

            - `Canceled`
            - `Error`
            - `Processed`
            - `Processing`
          type: string
        SubmittedOn:
          description: " The date when the payment was submitted.\n**Character limit**:\
            \ 29 **Values**: automatically generated "
          format: date-time
          type: string
        TransferredToAccounting:
          description: |2
             Specifies whether or not the object has been transferred to an external accounting system. Use this field for integrations with accounting systems such as NetSuite.
            **Character limit**: 10 **Values**: automatically generated:

            - `Processing`
            - `Yes`
            - `Error`
            - `Ignore`
          type: string
        Type:
          description: |2
             Specifies if the refund is electronic or external.
            **Character limit**: 10 **Values**:

            - `Electronic`
            - External
          type: string
        UpdatedById:
          description: " The ID of the last user to update the object.\n**Character\
            \ limit**: 32 **Values**: automatically generated "
          type: string
        UpdatedDate:
          description: " The date when the object was last updated.\n**Character limit**:\
            \ 29 **Values**: automatically generated "
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/RefundObjectNSFields'
    - $ref: '#/definitions/RefundObjectCustomFields'
  ProxyGetRefundInvoicePayment:
    properties:
      CreatedById:
        description: " The ID of the Zuora user who created the RefundInvoicePayment\
          \ object.\n**Character limit**: 32 **Values**: automatically generated "
        type: string
      CreatedDate:
        description: " The date when the RefundInvoicePayment object was created.\n\
          **Character limit**: 29 **Values**: automatically generated "
        format: date-time
        type: string
      Id:
        description: Object identifier.
        type: string
      InvoiceId:
        description: " The unique ID of the invoice associated with this refund invoice\
          \ payment.\n**Character limit**: 32 **Values**: a valid invoice ID "
        type: string
      InvoicePaymentId:
        description: ' The ID of the `InvoicePayment.Id` '
        type: string
      RefundAmount:
        description: 'Specifies the amount of a refund applied against a payment.
          **Character limit**: 16 **Values**: automatically generated '
        format: double
        type: number
      RefundId:
        description: " The ID of the Refund object\n**Character limit**: 32 **Values**:\
          \ inherited from `Refund.Id` "
        type: string
      UpdatedById:
        description: " The ID of the last user to update the object.\n**Character\
          \ limit**: 32 **Values**: automatically generated "
        type: string
      UpdatedDate:
        description: " The date when the object was last updated.\n**Character limit**:\
          \ 29 **Values**: automatically generated "
        format: date-time
        type: string
    type: object
  ProxyGetRefundTransactionLog:
    properties:
      BatchId:
        description: ''
        type: string
      Gateway:
        description: ''
        type: string
      GatewayReasonCode:
        description: ''
        type: string
      GatewayReasonCodeDescription:
        description: ''
        type: string
      GatewayState:
        description: ''
        type: string
      GatewayTransactionType:
        description: ''
        type: string
      Id:
        description: Object identifier.
        type: string
      RefundId:
        description: ''
        type: string
      RequestString:
        description: ''
        type: string
      ResponseString:
        description: ''
        type: string
      TransactionDate:
        description: ''
        format: date-time
        type: string
      TransactionId:
        description: ''
        type: string
    type: object
  ProxyGetSubscription:
    allOf:
    - properties:
        AccountId:
          description: ' This field can be updated when **Status** is `Draft`. The
            ID of a valid account ID. '
          type: string
        AutoRenew:
          description: " This field can be updated when **Status** is `Draft`. Indicates\
            \ if the subscription automatically renews at the end of the term.\n**Values**:\
            \ `true`, `false` "
          type: boolean
        CancelledDate:
          description: ' The date on which the subscription was canceled. '
          format: date
          type: string
        ContractAcceptanceDate:
          description: ' The date when the customer accepts the contract. This field
            can be updated when **Status** is `Draft`. '
          format: date
          type: string
        ContractEffectiveDate:
          description: " The date when the contract takes effect. This field can be\
            \ updated when **Status** is `Draft`.\n**Note**: This field is required\
            \ in the subscribe call. If you set the value of this field to null and\
            \ both the ServiceActivationDate and ContractAcceptanceDate fields are\
            \ not required, the subscribe call still returns success, but the new\
            \ subscription is in `DRAFT` status. To activate the subscription, you\
            \ must set a valid date to this field. "
          format: date
          type: string
        CreatedById:
          description: 'The user ID of the person who created the subscription. **Character
            limit**: 32 **Values**: automatically generated '
          type: string
        CreatedDate:
          description: " The date the subscription was created. This value is the\
            \ same as the OriginalCreatedDate value until the subscription is amended.\n\
            **Values**: automatically generated "
          format: date-time
          type: string
        CreatorAccountId:
          description: " The account ID that created the subscription or the amended\
            \ subscription.\n**Character limit**: 32 **Values**: automatically generated "
          type: string
        CreatorInvoiceOwnerId:
          description: " The account ID that owns the invoices associated with the\
            \ subscription or the amended subscription.\n**Character limit**: 32 **Values**:\
            \ automatically generated "
          type: string
        CurrentTerm:
          description: " The length of the period for the current subscription term.\
            \ If TermType is set to `TERMED`, this field is required and must be greater\
            \ than `0`. If TermType is set to `EVERGREEN`, this value is ignored.\
            \ Default is `0`.\n**Character limit**: 20 **Values**: automatically generated "
          format: int32
          type: integer
        CurrentTermPeriodType:
          description: |2
             The period type for the current subscription term. This field is used with the CurrentTerm field to specify the current subscription term.
            **Values**:

            - `Month` (default)
            - `Year`
            - `Day`
            - `Week`
          type: string
        Id:
          description: Object identifier.
          type: string
        InitialTerm:
          description: " The length of the period for the first subscription term.\
            \ This field can be updated when Status is `Draft`.\n**Required**: If\
            \ TermType is Termed **Character limit**: 20 **Values**: any valid number.\
            \ The default value is 0. "
          format: int32
          type: integer
        InitialTermPeriodType:
          description: |2
             The period type for the first subscription term.
            **Values**:

            - `Month` (default)
            - `Year`
            - `Day`
            - `Week`
            **Note**:

            - This field can be updated when Status is `Draft`.
            - This field is used with the InitialTerm field to specify the initial subscription term.
          type: string
        InvoiceOwnerId:
          description: ' This field can be updated when **Status** is `Draft`. A valid
            account ID. '
          type: string
        IsInvoiceSeparate:
          description: " Determines if the subscription is invoiced separately. If\
            \ `TRUE`, then all charges for this subscription are collected into the\
            \ subscription's own invoice.\n**V****alues**: `TRUE`, `FALSE `(default) "
          type: boolean
        Name:
          description: |2
             The unique identifier of the subscription. If you don't specify a value, then Zuora generates a name automatically. Whether auto-generated or manually specified, the subscription name must be unique. Otherwise an error will occur.
            **Character limit**: 100 **Values**: one of the following:

            - leave null to automatically generate
            - a string of 100 characters or fewer
          type: string
        Notes:
          description: " Use this field to record comments about the subscription.\n\
            **Character limit**: 500 **Values**: a string of 500 characters or fewer "
          type: string
        OriginalCreatedDate:
          description: " The date when the subscription was originally created. This\
            \ value is the same as the CreatedDate value until the subscription is\
            \ amended.\n**Values**: automatically generated "
          format: date-time
          type: string
        OriginalId:
          description: " The original ID of this subscription.\n**Values**: automatically\
            \ generated "
          type: string
        PreviousSubscriptionId:
          description: " The subscription ID immediately prior to the current subscription.\n\
            **Character limit**: 32 **Values**: automatically generated "
          type: string
        RenewalSetting:
          description: " This field can be updated when **Status** is `Draft`. Specifies\
            \ whether a termed subscription will remain termed or change to evergreen\
            \ when it is renewed.\n**Required**: If TermType is Termed **Values**:\
            \ `RENEW_WITH_SPECIFIC_TERM `(default), `RENEW_TO_EVERGREEN` "
          type: string
        RenewalTerm:
          description: |2
             The length of the period for the subscription renewal term. This field can be updated when **Status** is `Draft`.
            **Required**: If TermType is Termed.
            **Character limit**: 20 **Values**: one of the following:

            - leave null to default to `0`
            - any number
          format: int32
          type: integer
        RenewalTermPeriodType:
          description: |2
             The period type for the subscription renewal term.
            **Values**:

            - `Month` (default)
            - `Year`
            - `Day`
            - `Week`
            **Note**:

            - This field is used with the RenewalTerm field to specify the subscription renewal term.
            - This field can be updated when Status is `Draft`.
          type: string
        ServiceActivationDate:
          description: ' The date when the subscription is activated. This field can
            be updated when **Status** is `Draft`. '
          format: date
          type: string
        Status:
          description: |2
             The status of the subscription.
            **Character limit**: 17 **Values**: automatically generated **Possible values**: one of the following:

            - `Draft`
            - `Pending Activation`
            - `Pending Acceptance`
            - `Active`
            - `Cancelled`
            - `Expired`
            - `Suspended` (This value is in **Limited Availability**.)
          type: string
        SubscriptionEndDate:
          description: " The date when the subscription term ends, where the subscription\
            \ ends at midnight the day before. For example, if the SubscriptionEndDate\
            \ is 12/31/2016, the subscriptions ends at midnight (00:00:00 hours) on\
            \ 12/30/2016. This date is the same as the term end date or the cancelation\
            \ date, as appropriate.\n**Character limit**: 29 **Values**: automatically\
            \ generated "
          format: date
          type: string
        SubscriptionStartDate:
          description: " The date when the subscription term starts. This date is\
            \ the same as the start date of the original term, which isn't necessarily\
            \ the start date of the current or new term.\n**Character limit**: 29\
            \ **Values**: automatically generated "
          format: date
          type: string
        TermEndDate:
          description: ' This field can be updated when **Status** is `Draft`. The
            date when the subscription term ends. If the subscription is evergreen,
            the TermEndDate value is null or is the cancelation date, as appropriate.
            **Character limit**: 29 **Values**: automatically generated '
          format: date
          type: string
        TermStartDate:
          description: " This field can be updated when **Status** is `Draft`. The\
            \ date when the subscription term begins. If this is a renewal subscription,\
            \ then this date is different from the subscription start date.\n**Character\
            \ limit**: 29 **Version notes**: -- "
          format: date
          type: string
        TermType:
          description: " This field can be updated when **Status** is `Draft`. Indicates\
            \ if a subscription is termed or evergreen.\n**Character limit**: 9 **Values**:\
            \ `TERMED`, `EVERGREEN` "
          type: string
        UpdatedById:
          description: " The ID of the user who last updated the subscription.\n**Character\
            \ limit:** 32 **Values: **automatically generated "
          type: string
        UpdatedDate:
          description: " The date when the subscription was last updated.\n**Character\
            \ limit:** 29 **Values**: automatically generated "
          format: date-time
          type: string
        Version:
          description: " The version number of the subscription.\n**Values**: automatically\
            \ generated "
          format: int32
          type: integer
      type: object
    - $ref: '#/definitions/SubscriptionObjectQTFields'
    - $ref: '#/definitions/SubscriptionObjectNSFields'
    - $ref: '#/definitions/SubscriptionObjectCustomFields'
  ProxyGetSubscriptionProductFeature:
    allOf:
    - properties:
        CreatedById:
          description: ''
          type: string
        CreatedDate:
          description: " Date and time when the product feature was added to the subscription.\n\
            **Character limit**: 29 **Values**: "
          format: date-time
          type: string
        Description:
          description: " Description of the subscription product feature.\n**Character\
            \ limit**: 500 **Values**: "
          type: string
        FeatureCode:
          description: " Unique code of the feature.\n**Character limit**: 255 **Values**: "
          type: string
        FeatureId:
          description: " Internal Zuora ID of the feature.\n**Character limit**: 32\
            \ **Values**: "
          type: string
        Id:
          description: Object identifier.
          type: string
        Name:
          description: " Name of the feature.\n**Character limit**: 255 **Values**: "
          type: string
        RatePlanId:
          description: " Id of the product rate plan to which the feature belongs.\n\
            **Character limit**: 32 **Values**: "
          type: string
        UpdatedById:
          description: " Internal Zuora ID of the user who last updated the subscription\
            \ product feature.\n**Character limit**: 32 **Values**: "
          type: string
        UpdatedDate:
          description: " Date and time when the subscription product feature was last\
            \ updated.\n**Character limit**: 29 **Values**: "
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/SubscriptionProductFeatureObjectCustomFields'
  ProxyGetTaxationItem:
    allOf:
    - properties:
        AccountingCode:
          description: ' The Chart of Accounts '
          type: string
        CreatedById:
          description: " The ID of the user who created the taxation item.\n**Character\
            \ limit**: 32 **Values**: automatically generated "
          type: string
        CreatedDate:
          description: " The date when the payment was created in the Zuora system.\n\
            **Character limit**: 29 **Values**: automatically generated "
          format: date-time
          type: string
        ExemptAmount:
          description: " The amount of taxes or VAT for which the customer has an\
            \ exemption.\n**Character limit**: 16 **Values**: a decimal value "
          format: double
          type: number
        Id:
          description: Object identifier.
          type: string
        InvoiceItemId:
          description: " The ID of the specific invoice item that the taxation information\
            \ applies to.\n**Character limit**: 32 **Values**: a valid invoice item\
            \ ID "
          type: string
        Jurisdiction:
          description: " The jurisdiction that applies the tax or VAT. This value\
            \ is typically a state, province, county, or city.\n**Character limit**:\
            \ 32 **Values**: a string of 32 characterrs or fewer "
          type: string
        LocationCode:
          description: " The identifier for the location based on the value of the\
            \ `TaxCode` field.\n**Character limit**: 32 **Values**: automatically\
            \ generated "
          type: string
        Name:
          description: " The name of the tax rate, such as sales tax or GST. This\
            \ name is displayed on invoices.\n**Character limit**: 128 **Values**:\
            \ a string of 128 characters or fewer "
          type: string
        TaxAmount:
          description: " The amount of the tax applied to the charge.\n**Character\
            \ limit**: 16 **Values**: a decimal value "
          format: double
          type: number
        TaxCode:
          description: " The tax code identifies which tax rules and tax rates to\
            \ apply to a specific charge.\n**Character limit**: 32 **Values**: a string\
            \ of 32 characters or fewer "
          type: string
        TaxCodeDescription:
          description: " The description for the tax code.\n**Character limit**: 255\
            \ **Values**: a string of 255 characters or fewer "
          type: string
        TaxDate:
          description: " The date that the tax is applied to the charge, in `yyyy-mm-dd`\
            \ format.\n**Character limit**: 29 "
          format: date
          type: string
        TaxRate:
          description: " The tax rate applied to the charge.\n**Character limit**:\
            \ 16 **Values**: a valid decimal value "
          format: double
          type: number
        TaxRateDescription:
          description: " The description of the tax rate.\n**Character limit**: 255\
            \ **Values**: a string of 255 characters or fewer "
          type: string
        TaxRateType:
          description: " The type of the tax rate applied to the charge.\n**Character\
            \ limit**: 10 **Values**: `Percentage`, `FlatFee` "
          type: string
        UpdatedById:
          description: " The ID of the user who last updated the taxation item.\n\
            **Character limit**: **Values**: automatically generated "
          type: string
        UpdatedDate:
          description: 'The date when the taxation item was last updated. **Character
            limit**: **Values**: automatically generated '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/TaxationItemObjectCustomFields'
  ProxyGetUnitOfMeasure:
    properties:
      Active:
        description: " Indicates if the UOM is available for new product rate plans.\
          \ The default value is `true`.\n**Character limit**: 5 **Values**: `true`,\
          \ `false ` "
        type: boolean
      CreatedById:
        description: " The ID of the Zuora user who created the UOM.\n**Character\
          \ limit**: 32 **Values**: automatically generated "
        type: string
      CreatedDate:
        description: " The date when the UOM was created.\n**Character limit**: 29\
          \ **Values**: automatically generated "
        format: date-time
        type: string
      DecimalPlaces:
        description: 'The number of digits to the right of the decimal point that
          you want to measure for the unit. To use whole numbers only, set this value
          to 0. You can''t change this value after this `UOM` is used in any product,
          subscription, or usage. **Character limit**: 1 **Values**: an integer between
          0 and 9, exclusive '
        format: int64
        type: integer
      DisplayedAs:
        description: 'The name of the UOM that you want displayed on invoices. The
          default value is the `UomName` field value. **Character limit**: 50 **Values**:
          A string of 50 characters or fewer '
        type: string
      Id:
        description: Object identifier.
        type: string
      RoundingMode:
        description: " Specifies whether to round the UOM value up or down when the\
          \ value exceeds the `DecimalPlaces` field value. The default value is `Up`.\n\
          **Character limit**: 4 **Values**: `Up`, `Down` "
        type: string
      UomName:
        description: " The name of the UOM, such as license or GB. This name is displayed\
          \ in query results and in the web-based UI labels. If you want a different\
          \ name to be displayed on invoices, then use the `DisplayedAs` field to\
          \ provide the invoice label.\n**Character limit**: 50 **Values**: a string\
          \ of 50 characters or fewer "
        type: string
      UpdatedById:
        description: 'The ID of the user who lasted updated the UOM. **Character limit**:
          32 **Values**: automatically generated '
        type: string
      UpdatedDate:
        description: " The date when the UOM was last updated.\n**Character limit**:\
          \ 29 **Values**: automatically generated "
        format: date-time
        type: string
    type: object
  ProxyGetUsage:
    allOf:
    - properties:
        AccountId:
          description: " The ID of the account associated with the usage data. This\
            \ field is required if no value is specified for the `AccountNumber` field.\n\
            **Character limit**: 32 **Values**: a valid account ID "
          type: string
        AccountNumber:
          description: " The number of the account associated with the usage data.\
            \ This field is required if no value is specified for the `AccountId`\
            \ field.\n**Character limit**: 50 **Values**: a valid account number "
          type: string
        ChargeId:
          description: ' The OrginalId of the rate plan charge related to the usage
            record, e.g., `2c9081a03c63c94c013c6873357a0117` **Character limit**:
            32 **Values**: a valid rate plan charge OriginalID '
          type: string
        CreatedById:
          description: " The user ID of the person who uploaded the usage records.\n\
            **Character limit**: 32 **Values**: automatically generated "
          type: string
        CreatedDate:
          description: " The date when the usage was generated.\n**Character limit**:\
            \ 29 **Values**: automatically generated "
          format: date-time
          type: string
        Description:
          description: 'A description of the usage record.

            '
          type: string
        EndDateTime:
          description: " The end date and time of a range of time when usage is tracked.\
            \ Use this field for reporting; this field doesn't affect usage calculation.\n\
            **Character limit**: 29 **Values**: a valid date and time value "
          format: date-time
          type: string
        Id:
          description: Object identifier.
          type: string
        Quantity:
          description: " Indicates the number of units used.\n**Character limit**:\
            \ 16 **Values**: a valid decimal amount equal to or greater than 0 "
          format: double
          type: number
        RbeStatus:
          description: " Indicates if the rating and billing engine (RBE) processed\
            \ usage data for an invoice.\n**Character limit**: 9 **Values**: automatically\
            \ generated to be one of the following values: `Importing`, `Pending`,\
            \ `Processed` "
          type: string
        SourceType:
          description: " Indicates if the usage records were imported from the web-based\
            \ UI or the API.\n**Character limit**: 6 **Values**: automatically generated\
            \ to be one of the following values: `API`, `Import` "
          type: string
        StartDateTime:
          description: " The start date and time of a range of time when usage is\
            \ tracked. Zuora uses this field value to determine the usage date. Unlike\
            \ the `EndDateTime`, the `StartDateTime` field does affect usage calculation.\n\
            **Character limit**: 29 **Values**: a valid date and time value "
          format: date-time
          type: string
        SubmissionDateTime:
          description: " The date when usage was submitted.\n**Character limit**:\
            \ 29 **Values**: automatically generated "
          format: date-time
          type: string
        SubscriptionId:
          description: " The ID of the subscription that contains the fees related\
            \ to the usage data.\n**Character limit**: 32 **Values**: a valid subscription\
            \ ID "
          type: string
        SubscriptionNumber:
          description: 'The unique identifier number of the subscription that contains
            the fees related to the usage data.

            '
          type: string
        UOM:
          description: " Specifies the units to measure usage. Units of measure are\
            \ configured in the web-based UI. Your values depend on your configuration\
            \ in **Billing Settings**.\n**Character limit**: **Values**: a valid unit\
            \ of measure "
          type: string
        UpdatedById:
          description: " The ID of the user who last updated the usage upload.\n**Character\
            \ limit**: 32 **Values**: automatically generated "
          type: string
        UpdatedDate:
          description: " The date when the usage upload was last updated.\n**Character\
            \ limit**: 29 **Values**: automatically generated "
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/UsageObjectCustomFields'
  ProxyModifyAccount:
    allOf:
    - properties:
        AccountNumber:
          description: |
            Unique account number assigned to the account. **Character limit**: 50 **Values**: one of the following:

            - null to auto-generate
            - a string of 50 characters or fewer that doesn't begin with the default account number prefix
          type: string
        AdditionalEmailAddresses:
          description: 'List of additional email addresses to receive emailed invoices.
            **Character limit**: 120 **Values**: comma-separated list of email addresses '
          type: string
        AllowInvoiceEdit:
          description: " Indicates if associated invoices can be edited.\n**Character\
            \ limit**: 5 **Values**: `true`, `false` (default if left null) "
          type: boolean
        AutoPay:
          description: " Indicates if future payments are automatically collected\
            \ when they're due during a Payment Run.\n**Character limit**: 5 **Values**:\
            \ `true`, `false` (default) "
          type: boolean
        Batch:
          description: " Organizes your customer accounts into groups to optimize\
            \ your billing and payment operations. Required if you use the Subscribe\
            \ call.\n**Character limit**: 20 **Values**:any system-defined batch (`Batch1`\
            \ - `Batch50 `or by name). "
          type: string
        BcdSettingOption:
          description: 'Billing cycle day setting option. **Character limit**: 9 **Values**:
            `AutoSet`, `ManualSet` '
          type: string
        BillCycleDay:
          description: 'Billing cycle day (BCD) on which bill runs generate invoices
            for the account. **Character limit**: 2 **Values**: any activated system-defined
            bill cycle day (`1` - `31`) '
          format: int32
          type: integer
        BillToId:
          description: 'ID of the person to bill for the account. **Character limit**:
            32 **Values**: a valid contact ID for the account '
          type: string
        CommunicationProfileId:
          description: 'Associates the account with a specified communication profile.
            **Character limit**: 32 **Values**: a valid communication profile ID '
          type: string
        CrmId:
          description: 'CRM account ID for the account. A CRM is a customer relationship
            management system, such as Salesforce.com. **Character limit**: 100 **Values**:
            a string of 100 characters or fewer '
          type: string
        Currency:
          description: "Currency that the customer is billed in. \n\nYou can update\
            \ this field only when an account is in Draft status. After the account\
            \ is activated, you cannot update this field.\n"
          type: string
        CustomerServiceRepName:
          description: 'Name of the account''s customer service representative, if
            applicable. **Character limit**: 50 **Values**: a string of 50 characters
            or fewer '
          type: string
        DefaultPaymentMethodId:
          description: 'ID of the default payment method for the account. This field
            is required if the AutoPay field is set to `true`. **Character limit**:
            32 **Values**: a valid ID for an existing payment method '
          type: string
        InvoiceDeliveryPrefsEmail:
          description: 'Indicates if the customer wants to receive invoices through
            email.  **Character limit**: 5 **Values**: `true`, `false` (default if
            left null) '
          type: boolean
        InvoiceDeliveryPrefsPrint:
          description: 'Indicates if the customer wants to receive printed invoices,
            such as through postal mail. **Character limit**: 5 **Values**: `true`,
            `false` (default if left null) '
          type: boolean
        InvoiceTemplateId:
          description: 'The ID of the invoice template. Each customer account can
            use a specific invoice template for invoice generation. **Character limit**:
            32 **Values**: a valid template ID configured in Zuora Billing Settings '
          type: string
        Name:
          description: 'Name of the account as displayed in the Zuora UI. **Character
            limit**: 255 **Values**: a string of 255 characters or fewer '
          type: string
        Notes:
          description: ' Comments about the account. **Character limit**: 65,535 **Values**:
            a string of 65,535 characters '
          type: string
        ParentId:
          description: 'Identifier of the parent customer account for this Account
            object. Use this field if you have customer hierarchy enabled. **Character
            limit**: 32 **Values**: a valid account ID '
          type: string
        PaymentGateway:
          description: |
            Gateway used for processing electronic payments and refunds. **Character limit**: 40 **Values**: one of the following:

            - a valid configured gateway name
            - Null to inherit the default value set in Zuora Payment Settings
          type: string
        PaymentTerm:
          description: 'Indicates when the customer pays for subscriptions. **Character
            limit**: 100 **Values**: a valid, active payment term defined in the web-based
            UI administrative settings '
          type: string
        PurchaseOrderNumber:
          description: 'The number of the purchase order associated with this account.
            Purchase order information generally comes from customers. **Character
            limit**: 100 **Values**: a string of 100 characters or fewer '
          type: string
        SalesRepName:
          description: 'The name of the sales representative associated with this
            account, if applicable. **Character limit**: 50 **Values**: a string of
            50 characters or fewer '
          type: string
        SoldToId:
          description: 'ID of the person who bought the subscription associated with
            the account. **Character limit**: 32 **Values**: a valid contact ID for
            the account '
          type: string
        Status:
          description: "Status of the account in the system.\n\nFollow the following\
            \ rules to update the status of accounts:\n- Include contact IDs in the\
            \ `BillToId` and `SoldToId` fields when you change the `Status` field\
            \ value to `Active`.\n- Before changing the status of an account to `Canceled`,\
            \ cancel all subscriptions associated with this account. You cannot cancel\
            \ an account that has active subscriptions.\n- You can update a Draft\
            \ account to Active, assuming the Bill To/Sold To Contacts are assigned.\
            \ \n- You can update a Canceled account to the Active status at any time.\n\
            - You cannot update the Active or Cancelled status of an account to `Draft`.\n"
          enum:
          - Draft
          - Active
          - Canceled
          maxLength: 8
          type: string
        TaxCompanyCode:
          description: " Unique code that identifies a company account in Avalara.\
            \ Use this field to calculate taxes based on origin and sold-to addresses\
            \ in Avalara.\nThis feature is in **Limited Availability**. If you wish\
            \ to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).\n\
            \n**Character limit**: 50 **Values**: a valid company code "
          type: string
        TaxExemptCertificateID:
          description: 'ID of your customer''s tax exemption certificate. **Character
            limit**: 32 **Values**: a string of 32 characters or fewer '
          type: string
        TaxExemptCertificateType:
          description: 'Type of the tax exemption certificate that your customer holds.  **Character
            limit**: 32 **Values**: a string of 32 characters or fewer '
          type: string
        TaxExemptDescription:
          description: 'Description of the tax exemption certificate that your customer
            holds. **Character limit**: 500 **Values**: a string of 500 characters
            or fewer '
          type: string
        TaxExemptEffectiveDate:
          description: 'Date when the the customer''s tax exemption starts. **Character
            limit**: 29 **Version notes**: requires Zuora Tax '
          format: date
          type: string
        TaxExemptExpirationDate:
          description: 'Date when the customer''s tax exemption certificate expires  **Character
            limit**: 29 **Version notes**: requires Zuora Tax '
          format: date
          type: string
        TaxExemptIssuingJurisdiction:
          description: 'Indicates the jurisdiction in which the customer''s tax exemption
            certificate was issued. **Character limit**: 32 **Values**: a string of
            32 characters or fewer '
          type: string
        TaxExemptStatus:
          description: |2
             Status of the account's tax exemption. Required if you use Zuora Tax.
            **Character limit**: 19 **Values**: one of the following:

            - `Yes`
            - `No`
            - `PendingVerification`
          type: string
        VATId:
          description: " EU Value Added Tax ID.\nThis feature is in **Limited Availability**.\
            \ If you wish to have access to the feature, submit a request at [Zuora\
            \ Global Support](http://support.zuora.com/).\n\n**Character limit**:\
            \ 25 **Values**: a valid Value Added Tax ID "
          type: string
      type: object
    - $ref: '#/definitions/AccountObjectNSFields'
    - $ref: '#/definitions/AccountObjectCustomFields'
    example:
      AccountNumber: AN_1476935163869
      AutoPay: true
      Batch: Batch1
      BillCycleDay: 1
      BillToId: 2c93808457d787030157e03220684fac
      CrmId: crmid
      Currency: USD
      DefaultPaymentMethodId: 2c93808457d787030157e03220ec4fad
      Id: 2c93808457d787030157e0321fdf4fab
      InvoiceTemplateId: 2c93808457d787030157e03208864f97
      Name: AC_1476935163869
      Notes: this is notes
      PaymentTerm: Due Upon Receipt
      SoldToId: 2c93808457d787030157e03220684fac
      Status: Active
  ProxyModifyAmendment:
    allOf:
    - properties:
        AutoRenew:
          description: " Determines whether the subscription is automatically renewed,\
            \ or whether it expires at the end of the term and needs to be manually\
            \ renewed. This field can be updated when Status is `Draft`. **Required:**\
            \ For amendment of type TermsAndConditions when changing the automatic\
            \ renewal status of a subscription.\n**Values**: true, false "
          type: boolean
        ContractEffectiveDate:
          description: " The date when the amendment's changes become effective for\
            \ billing purposes.\n**Version notes**: -- "
          format: date
          type: string
        CurrentTerm:
          description: " The length of the period for the current subscription term.\
            \ This field can be updated when Status is `Draft`.\n**Required**: Only\
            \ if the value of the Type field is set to `TermsAndConditions` and TermType\
            \ is set to `TERMED`. This field is not required if TermType is set to\
            \ `EVERGREEN`.\n**Character limit**: **Values**: a valid number "
          format: int64
          type: integer
        CurrentTermPeriodType:
          description: |2
             The period type for the current subscription term. This field can be updated when Status is `Draft`. **Values**:

            - `Month` (default)
            - `Year`
            - `Day`
            - `Week`
            **Note**:

            - This field can be updated when Status is `Draft`.
            - This field is used with the CurrentTerm field to specify the current subscription term.
          type: string
        CustomerAcceptanceDate:
          description: |
            The date when the customer accepts the amendment's changes to the subscription.

            This field is only required if [Zuora is configured to require customer acceptance in Z-Billing](https://knowledgecenter.zuora.com/CB_Billing/W_Billing_and_Payments_Settings/Define_Default_Subscription_Settings) and the subscription is currently in the Pending Acceptance status (the value of the `Status` field is currently `PendingAcceptance`).

            Use this field together with the `Status` field. When you set a date in this field as a customer acceptance date, you should also set the `Status` field as `Completed`.
          format: date
          type: string
        Description:
          description: " A description of the amendment. This field can be updated\
            \ when Status is `Draft`.\n**Character limit**: 500 **Values**: maximum\
            \ 500 characters "
          type: string
        EffectiveDate:
          description: " The date when the amendment's changes take effective. This\
            \ field validates that the amendment's changes are within valid ranges\
            \ of products and product rate plans.\n**Required**: For the cancellation\
            \ amendments. Optional for other types of amendments.\n**Version notes**:\
            \ -- "
          format: date
          type: string
        Name:
          description: " The name of the amendment. This field can be updated when\
            \ Status is `Draft`.\n**Character limit**: 100 **Values**: a string of\
            \ 100 characters or fewer "
          type: string
        RenewalSetting:
          description: " Specifies whether a termed subscription will remain termed\
            \ or change to evergreen when it is renewed.\n**Required**: If TermType\
            \ is Termed **Values**: RENEW_WITH_SPECIFIC_TERM (default), RENEW_TO_EVERGREEN "
          type: string
        RenewalTerm:
          description: " The term of renewal for the amended subscription. This field\
            \ can be updated when Status is `Draft`.\n**Required**: Only if the value\
            \ of the Type field is set to `TermsAndConditions`.\n**Character limit**:\
            \ **Values:** a valid number "
          format: int64
          type: integer
        RenewalTermPeriodType:
          description: |2
             The period type for the subscription renewal term. This field can be updated when Status is `Draft`.
            **Required**: Only if the value of the Type field is set to `TermsAndConditions`. This field is used with the RenewalTerm field to specify the subscription renewal term.
            **Values**:

            - `Month` (default)
            - `Year`
            - `Day`
            - `Week`
          type: string
        ServiceActivationDate:
          description: |
            The date when service is activated.

            This field is only required if [Zuora is configured to require service activation in Z-Billing](https://knowledgecenter.zuora.com/CB_Billing/W_Billing_and_Payments_Settings/Define_Default_Subscription_Settings) and the subscription is currently in the Pending Activation status (the value of the `Status` field is currently `PendingActivation`).

            Use this field together with the `Status` field. When you set a date in this field as a service activation date, you should also set the `Status` field as the expected next phase status: `Completed` or `PendingAcceptance`.
          format: date
          type: string
        SpecificUpdateDate:
          description: |2
             The date when the UpdateProduct amendment takes effect. This field is only applicable if there is already a future-dated UpdateProduct amendment on the subscription.
            **Required**: Only for the UpdateProduct amendments if there is already a future-dated UpdateProduct amendment on the subscription.
          format: date
          type: string
        Status:
          description: |2
             The status of the amendment. Type: string (enum) **Character limit**: 17 **Values**: one of the following:

            - Draft (default, if left null)
            - Pending Activation
            - Pending Acceptance
            - Completed
          type: string
        SubscriptionId:
          description: " The ID of the subscription that the amendment changes. This\
            \ field can be updated when Status is `Draft`.\n**Character limit**: 32\
            \ **Values**: a valid subscription ID "
          type: string
        TermStartDate:
          description: " The date when the new terms and conditions take effect.\n\
            **Required**: Only if the value of the Type field is set to TermsAndConditions.\n\
            **Version notes**: -- "
          format: date
          type: string
        TermType:
          description: " Indicates if the subscription is TERMED or EVERGREEN. This\
            \ field can be updated when Status is `Draft`.\n\n- A TERMED subscription\
            \ has an expiration date, and must be manually renewed.\n- An EVERGREEN\
            \ subscription doesn't have an expiration date, and must be manually ended.\n\
            \n**Required**: Only when as part of an amendment of type TermsAndConditions\
            \ &#65279;to change the term type of a subscription. Type: string **Character\
            \ limit**: 9 **Values**: TERMED, EVERGREEN "
          type: string
        Type:
          description: |2
             The type of amendment. This field can be updated when Status is `Draft`.
            **Character limit**: 18 **Values**: one of the following:

            - Cancellation
            - NewProduct
            - OwnerTransfer
            - RemoveProduct
            - Renewal
            - UpdateProduct
            - TermsAndConditions
            - SuspendSubscription (This value is in **Limited Availability**.)
            - ResumeSubscription (This value is in **Limited Availability**.)
          type: string
      type: object
    - $ref: '#/definitions/AmendmentObjectCustomFields'
    example:
      Id: 2c93808457d787030157e02e430c1f15
      Name: AMtssl1bnuq1_new
  ProxyModifyBillRun:
    example:
      InvoiceDate: '2020-02-18'
      Status: Posted
    properties:
      InvoiceDate:
        description: "The new invoice date of all invoices invloved in the bill run,\
          \ or the new memo date of all credit memos invloved in the bill run. The\
          \ date cannot fall in a closed accounting period.\n\nThis field takes effect\
          \ only when `Status` is set to `Posted`.\n\n**Note**: The Credit and Debit\
          \ Memos feature is only available if you have the Invoice Settlement feature\
          \ enabled. The Invoice Settlement feature is in Limited Availability. If\
          \ you wish to have access to the feature, submit a request at [Zuora Global\
          \ Support](http://support.zuora.com/). \n"
        format: date
        type: string
      Status:
        description: "The status for this bill run. See [Status Types](https://knowledgecenter.zuora.com/CB_Billing/J_Billing_Operations/G_Bill_Runs#Status_Types)\
          \ for more information.\n\nTo cancel a bill run, specify `Canceled`. To\
          \ post a bill run, specify `Posted`.\n\n**Character limit:** 20\n\n**Values:**\
          \ \n\n  * `Pending`\n  * `Processing`\n  * `Completed`\n  * `Error`\n  *\
          \ `Canceled`\n  * `Posted`\n"
        type: string
    required:
    - Status
    type: object
  ProxyModifyContact:
    allOf:
    - properties:
        AccountId:
          description: " The Zuora account ID associated with this contact. This field\
            \ is not required when you use the Subscribe call. This field is required\
            \ for all other calls.\n**Character limit: **32 **Values: **a valid account\
            \ ID "
          type: string
        Address1:
          description: " The first line of the contact's address, which is often a\
            \ street address or business name.\n**Character limit**: 255 **Values**:\
            \ a string of 255 characters or fewer "
          type: string
        Address2:
          description: " The second line of the contact's address.\n**Character limit**:\
            \ 255 **Values**: a string of 255 characters or fewer "
          type: string
        City:
          description: " The city of the contact's address.\n**Character limit**:\
            \ 40 **Values: **a string of 40 characters or fewer "
          type: string
        Country:
          description: ' The country of the contact''s address. '
          type: string
        County:
          description: " The county. May optionally be used by Zuora Tax to calculate\
            \ county tax.\n**Character limit**: 32 **Values**: a string of 32 characters\
            \ or fewer "
          type: string
        Description:
          description: " A description for the contact.\n**Character limit**: 100\
            \ **Values**: a string of 100 characters or fewer "
          type: string
        Fax:
          description: " The contact's fax number.\n**Character limit**: 40 **Values**:\
            \ a string of 40 characters or fewer "
          type: string
        FirstName:
          description: " The contact's first name.\n**Character limit**: 100 **Values**:\
            \ a string of the contact's first name "
          type: string
        HomePhone:
          description: " The contact's home phone number.\n**Character limit**: 40\
            \ **Values**: a string of 40 characters or fewer "
          type: string
        LastName:
          description: " The contact's last name.\n**Character limit**: 100 **Values**:\
            \ a string of 100 characters or fewer "
          type: string
        MobilePhone:
          description: " The contact's mobile phone number.\n**Character limit**:\
            \ 40 **Values**: a string of 40 characters or fewer "
          type: string
        NickName:
          description: " A nickname for the contact.\n**Character limit**: 100 **Values**:\
            \ a string of 100 characters or fewer "
          type: string
        OtherPhone:
          description: " An additional phone number for the contact.\n**Character\
            \ limit**: 40 **Values**: a string of 40 characters or fewer "
          type: string
        OtherPhoneType:
          description: 'The type of the `OtherPhone`. **Character limit**: 20 **Values**:
            `Work`, `Mobile`, `Home`, `Other` '
          type: string
        PersonalEmail:
          description: " The contact's personal email address.\n**Character limit**:\
            \ 80 **Values**: a string of 80 characters or fewer "
          type: string
        PostalCode:
          description: " The zip code for the contact's address.\n**Character limit:**\
            \ 20 **Values: **a string of 20 characters or fewer "
          type: string
        State:
          description: ' The state or province of the contact''s address. '
          type: string
        TaxRegion:
          description: 'If using Zuora Tax rules '
          type: string
        WorkEmail:
          description: " The contact's business email address.\n**Character limit**:\
            \ 80 **Values**: a string of 80 characters or fewer "
          type: string
        WorkPhone:
          description: " The contact's business phone number.\n**Character limit**:\
            \ 40 **notes**: -- **Values**: a string of 40 characters or fewer "
          type: string
      type: object
    - $ref: '#/definitions/ContactObjectCustomFields'
    example:
      FirstName: FN1476934918260_new
      Id: 2c93808457d787030157e02e606e2095
  ProxyModifyCreditBalanceAdjustment:
    allOf:
    - properties:
        ReasonCode:
          description: 'A code identifying the reason for the transaction. Must be
            an existing [reason code](https://knowledgecenter.zuora.com/CB_Billing/K_Payment_Operations/Reason_Codes_for_Payment_Operations)
            or empty.

            '
          maxLength: 32
          type: string
        Status:
          description: 'The status of the credit balance adjustment.

            '
          enum:
          - Processed
          - Canceled
          type: string
        TransferredToAccounting:
          description: 'Status of the credit balance adjustment''s transfer to an
            external accounting system, such as NetSuite.

            '
          enum:
          - Processing
          - 'Yes'
          - Error
          - Ignore
          type: string
      type: object
    - $ref: '#/definitions/CreditBalanceAdjustmentObjectNSFields'
    - $ref: '#/definitions/CreditBalanceAdjustmentObjectCustomFields'
    example:
      Status: Canceled
  ProxyModifyInvoice:
    allOf:
    - properties:
        RegenerateInvoicePDF:
          description: "Whether to regenerate a PDF file for an invoice that already\
            \ has PDF files generated. \n\nFor one specific invoice, you can use this\
            \ field to regenerate PDF files for a maximum of 100 times.\n\n**Note**:\
            \ If you set this field to `true`, you cannot update any other fields\
            \ in the same update request. Otherwise, you will receive the following\
            \ INVALID_VALUE error:\n\n\"When field RegenerateInvoicePDF is set to\
            \ true to regenerate the invoice PDF file, changes on other fields of\
            \ the invoice are not allowed.\"\n"
          type: boolean
        Status:
          description: |
            The status of the invoice in the system. This status is not the status of the payment of the invoice, just the status of the invoice itself.

             **Character limit**: 8
             **Values**: one of the following:
               -  Draft (default, automatically set upon invoice creation)
               -  Posted
               -  Canceled
          type: string
        TransferredToAccounting:
          description: " Specifies whether or not the invoice was transferred to an\
            \ external accounting system, such as NetSuite.\n**Character limit**:\
            \ 10 **Values**: Processing, Yes, Error, Ignore "
          type: string
      type: object
    - $ref: '#/definitions/InvoiceObjectNSFields'
    - $ref: '#/definitions/InvoiceObjectCustomFields'
    example:
      Status: Posted
  ProxyModifyInvoiceAdjustment:
    allOf:
    - properties:
        ReasonCode:
          description: " A code identifying the reason for the transaction. Must be\
            \ an existing reason code or empty. If you do not specify a value, Zuora\
            \ uses the default reason code.\n**Character limit**: 32 **V****alues**:\
            \ a valid reason code "
          type: string
        Status:
          description: " The status of the invoice adjustment. This field is required\
            \ in the Query call, but is automatically generated in other calls.\n\
            **Character limit**: 9 **Values**: `Canceled`, `Processed` "
          type: string
        TransferredToAccounting:
          description: 'Indicates the status of the adjustment''s transfer to an external
            accounting system, such as NetSuite.

            '
          enum:
          - Processing
          - 'Yes'
          - 'No'
          - Error
          - Ignore
          type: string
      type: object
    - $ref: '#/definitions/InvoiceAdjustmentObjectCustomFields'
  ProxyModifyInvoicePayment:
    properties:
      Amount:
        description: " The amount of the payment.\n**Character limit**: 16 **Values**:\
          \ a valid currency amount "
        format: double
        type: number
    type: object
  ProxyModifyPayment:
    allOf:
    - properties:
        AccountId:
          description: 'The unique account ID for the customer that the payment is
            for.

            '
          maxLength: 32
          minLength: 0
          type: string
        AccountingCode:
          description: 'The aacccounting code for the payment. Accounting codes group
            transactions that contain similar accounting attributes.

            '
          maxLength: 100
          minLength: 0
          type: string
        Amount:
          description: 'The amount of the payment.

            '
          format: double
          maxLength: 16
          minLength: 0
          type: number
        Comment:
          description: 'Additional information related to the payment.

            '
          maxLength: 255
          minLength: 0
          type: string
        EffectiveDate:
          description: 'The date when the payment takes effect.

            '
          format: date
          maxLength: 29
          minLength: 0
          type: string
        PaymentMethodId:
          description: "The ID of the payment method used for the payment. \n"
          maxLength: 32
          minLength: 0
          type: string
        ReferenceId:
          description: 'The transaction ID returned by the payment gateway. Use this
            field to reconcile payments between your gateway and Zuora Payments.

            '
          maxLength: 60
          minLength: 0
          type: string
        Status:
          description: |
            The status of the payment in Zuora. The value depends on the type of payment.

            For electronic payments, the status can be `Processed`, `Error`, or `Voided`. For external payments, the status can be `Processed` or `Canceled`.
          enum:
          - Processed
          - Error
          - Voided
          - Canceled
          type: string
        TransferredToAccounting:
          description: 'Whether the refund was transferred to an external accounting
            system. Use this field for integration with accounting systems, such as
            NetSuite.

            '
          enum:
          - Processing
          - 'Yes'
          - Error
          - Ignore
          type: string
        Type:
          description: 'The type of the payment, whether the payment is external or
            electronic.

            '
          enum:
          - External
          - Electronic
          type: string
      type: object
    - $ref: '#/definitions/PaymentObjectNSFields'
    - $ref: '#/definitions/PaymentObjectCustomFields'
  ProxyModifyPaymentMethod:
    allOf:
    - properties:
        AccountId:
          description: " The ID of the customer account associated with this payment\
            \ method.\n\n**Note:** If a payment method was created without an account\
            \ ID associated, you can update the payment method to specify an account\
            \ ID in this operation. However, if a payment method is already associated\
            \ with a customer account, you cannot update the payment method to associate\
            \ it with another account ID. You cannot remove the previous account ID\
            \ and leave the `AccountId` filed empty in this operation. "
          type: string
        AchAbaCode:
          description: " The nine-digit routing number or ABA number used by banks.\
            \ Use this field for ACH payment methods.\n\n**Character limit**: 9 **Values**:\
            \ a string of 9 characters or fewer "
          type: string
        AchAccountName:
          description: " The name of the account holder, which can be either a person\
            \ or a company. Use this field for ACH payment methods.\n\n**Character\
            \ limit**: 70 **Values**: a string of 70 characters or fewer "
          type: string
        AchAccountType:
          description: |2
             The type of bank account associated with the ACH payment. Use this field for ACH payment methods.

            **Character limit**: 16 **Values**:

            - `BusinessChecking`
            - `Checking`
            - `Saving`
          type: string
        AchAddress1:
          description: " Line 1 for the ACH address. Required on create for the Vantiv\
            \ payment gateway. Optional for other gateways.\n\n**Character limit:**\
            \ **Values:** an address "
          type: string
        AchAddress2:
          description: " Line 2 for the ACH address. Required on create for the Vantiv\
            \ payment gateway. Optional for other gateways.\n\n**Character limit:**\
            \ **Values:** an address "
          type: string
        AchBankName:
          description: " The name of the bank where the ACH payment account is held.\
            \ Use this field for ACH payment methods.\n\n**Character limit**: 70 **Values**:\
            \ a string of 70 characters or fewer "
          type: string
        AchCity:
          description: "The city of the ACH address. Use this field for ACH payment\
            \ methods. **Note**: This field is only specific to the NMI payment gateway.\n\
            \n**Character limit**: 40 **Values**: a string of 40 characters or fewer "
          type: string
        AchCountry:
          description: "The country of the ACH address. See [Country Names and Their\
            \ ISO Standard 2- and 3-Digit Codes](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/D_Country%2C_State%2C_and_Province_Codes/A_Country_Names_and_Their_ISO_Codes)\
            \ for the list of supported country names. Use this field for ACH methods.\n\
            \n**Note**: This field is only specific to the NMI payment gateway.\n\n\
            **Character limit**: 44 **Values**: a supported country name "
          type: string
        AchPostalCode:
          description: "The billing address's zip code. This field is required only\
            \ when you define an ACH payment method. **Note**: This field is only\
            \ specific to the NMI payment gateway.\n\n**Character limit**: 20 **Values**:\
            \ a string of 40 characters or fewer "
          type: string
        AchState:
          description: "The billing address's state. Use this field is if the `ACHCountry`\
            \ value is either `Canada` or the `US`. State names must be spelled in\
            \ full. For more information, see the list of [supported state names](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/D_Country%2C_State%2C_and_Province_Codes/B_State_Names_and_2-Digit_Codes).\
            \ This field is required only when you define an ACH payment method. **Note**:\
            \ This field is only specific to the NMI payment gateway.\n\n**Character\
            \ limit**: 50 **Values**: a valid state name "
          type: string
        BankBranchCode:
          description: " The branch code of the bank used for direct debit. Use this\
            \ field for direct debit payment methods.\n\n**Character limit**: 10 **Values**:\
            \  string of 10 characters or fewer "
          type: string
        BankCheckDigit:
          description: "The check digit in the international bank account number,\
            \ which confirms the validity of the account. Use this field for direct\
            \ debit payment methods.\n\n**Character limit**: 4 **Values**:  string\
            \ of 4 characters or fewer "
          type: string
        BankTransferType:
          description: "The type of direct debit transfer. The value of this field\
            \ is dependent on the country of the user. This field is only required\
            \ if the `Type` field is set to `BankTransfer`.\n\n **Values**: \n   \n\
            \   - `SEPA`\n\n   - `AutomatischIncasso` (NL)\n\n   - `LastschriftDE`\
            \ (Germany)\n\n   - `LastschriftAT` (Austria)\n\n   - `DemandeDePrelevement`\
            \ (FR)\n\n   - `DirectDebitUK` (UK)\n\n   - `Domicil` (Belgium)\n\n  \
            \ - `LastschriftCH` (CH)\n\n   - `RID` (Italy)\n\n   - `OrdenDeDomiciliacion`\
            \ (Spain)\n   - `Autogiro` (Sweden)\n   - `Betalingsservice` (Denmark)\n"
          maxLength: 20
          type: string
        BusinessIdentificationCode:
          description: " The business identification code for Swiss direct payment\
            \ methods that use the Global Collect payment gateway. Use this field\
            \ only for direct debit payments in Switzerland with Global Collect.\n\
            \n**Character limit**: 11 **Values**: string of 11 characters or fewer "
          type: string
        City:
          description: " The city of the customer's address. Use this field for direct\
            \ debit payment methods.\n\n**Character limit**:80 **Values**:  string\
            \ of 80 characters or fewer "
          type: string
        CompanyName:
          description: |
            The name of the company.

            Zuora does not recommend that you use this field.
          maxLength: 80
          type: string
        Country:
          description: " The two-letter country code of the customer's address. Use\
            \ this field for direct debit payment methods.\n\n**Character limit**:\
            \ 2 **Values**: a valid country code "
          type: string
        CreditCardAddress1:
          description: " The first line of the card holder's address, which is often\
            \ a street address or business name. Use this field for credit card and\
            \ direct debit payment methods.\n\n**Character limit**: 255 **Values**:\
            \ a string of 255 characters or fewer "
          type: string
        CreditCardAddress2:
          description: " The second line of the card holder's address. Use this field\
            \ for credit card and direct debit payment methods.\n\n**Character limit**:\
            \ 255 **Values**: a string of 255 characters or fewer "
          type: string
        CreditCardCity:
          description: " The city of the card holder's address. Use this field for\
            \ credit card and direct debit payment methods\n\n**Character limit**:\
            \ 40 **Values**: a string of 40 characters or fewer "
          type: string
        CreditCardCountry:
          description: ' The country of the card holder''s address. '
          type: string
        CreditCardExpirationMonth:
          description: " The expiration month of the credit card or debit card. Use\
            \ this field for credit card and direct debit payment methods.\n\n**Character\
            \ limit**: 2 **Values**: a two-digit number, 01 - 12 "
          format: int32
          type: integer
        CreditCardExpirationYear:
          description: " The expiration month of the credit card or debit card. Use\
            \ this field for credit card and direct debit payment methods.\n\n**Character\
            \ limit**: 4 **Values**: a four-digit number "
          format: int32
          type: integer
        CreditCardHolderName:
          description: " The full name of the card holder. Use this field for credit\
            \ card and direct debit payment methods.\n\n**Character limit**: 50 **Values**:\
            \ a string of 50 characters or fewer "
          type: string
        CreditCardPostalCode:
          description: " The billing address's zip code. This field is required only\
            \ when you define a debit card or credit card payment.\n**Character limit**:\
            \ 20 **Values**: a string of 20 characters or fewer "
          type: string
        CreditCardSecurityCode:
          description: " The CVV or CVV2 security code. See [How do I control what\
            \ information Zuora sends over to the Payment Gateway?](https://knowledgecenter.zuora.com/kb/How_do_I_control_information_sent_to_payment_gateways_when_verifying_payment_methods%3F)\
            \ for more information. To ensure PCI compliance, this value is not stored\
            \ and cannot be queried.\n**Values**: a valid CVV or CVV2 security code "
          type: string
        CreditCardState:
          description: ' The billing address''s state. Use this field is if the `CreditCardCountry''
            value is either Canada or the US. State names must be spelled in full. '
          type: string
        CreditCardType:
          description: |
            The type of the credit card.

            Possible values  include `Visa`, `MasterCard`, `AmericanExpress`, `Discover`, `JCB`, and `Diners`. For more information about credit card types supported by different payment gateways, see [Supported Payment Gateways](https://knowledgecenter.zuora.com/CB_Billing/M_Payment_Gateways/Supported_Payment_Gateways).
          type: string
        DeviceSessionId:
          description: " The session ID of the user when the `PaymentMethod` was created\
            \ or updated. Some gateways use this field for fraud prevention. If this\
            \ field is passed to Zuora, then Zuora passes this field to supported\
            \ gateways. Currently only Verifi supports this field.\n**Character limit**:\
            \ 255 **Values**: "
          type: string
        Email:
          description: " An email address for the payment method in addition to the\
            \ bill to contact email address.\n**Character limit**: 80 **Values**:\
            \ a string of 80 characters or fewer "
          type: string
        ExistingMandate:
          description: " Indicates if the customer has an existing mandate or a new\
            \ mandate. A mandate is a signed authorization for UK and NL customers.\
            \ When you are migrating mandates from another system, be sure to set\
            \ this field correctly. If you indicate that a new mandate is an existing\
            \ mandate or vice-versa, then transactions fail. This field is used only\
            \ for the direct debit payment method.\n**Character limit**: 3 **Values**:\
            \ `Yes`, `No` "
          type: string
        FirstName:
          description: " The customer's first name. This field is used only for the\
            \ direct debit payment method.\n**Character limit**: 30 **Values**: a\
            \ string of 30 characters or fewer "
          type: string
        IBAN:
          description: " The International Bank Account Number. This field is used\
            \ only for the direct debit payment method.\n**Character limit**: 42 **Values**:\
            \ a string of 42 characters or fewer "
          type: string
        IPAddress:
          description: " The IP address of the user when the payment method was created\
            \ or updated. Some gateways use this field for fraud prevention. If this\
            \ field is passed to Zuora, then Zuora passes this field to supported\
            \ gateways. Currently PayPal, CyberSource, Authorize.Net, Verifi, and\
            \ WorldPay support this field.\n**Character limit**: 15 **Values**: a\
            \ string of 15 characters or fewer "
          type: string
        IdentityNumber:
          description: "The unique identity number of the customer account. \n\nThis\
            \ field is required only if the `BankTransferType` field is set to `Autogiro`\
            \ or `Betalingsservice`. It is a string of 12 characters for a Swedish\
            \ identity number, and a string of 10 characters for a Denish identity\
            \ number.\n"
          type: string
        IsCompany:
          default: false
          description: |
            Whether the customer account is a company.

            Zuora does not recommend that you use this field.
          type: boolean
        LastName:
          description: " The customer's last name. This field is used only for the\
            \ direct debit payment method.\n**Character limit**: 70 **Values**: a\
            \ string of 70 characters or fewer "
          type: string
        LastTransactionDateTime:
          description: " The date of the most recent transaction.\n**Character limit**:\
            \ 29 **Values**: a valid date and time value "
          format: date-time
          type: string
        MandateCreationDate:
          description: " The date when the mandate was created, in `yyyy-mm-dd` format.\
            \ A mandate is a signed authorization for UK and NL customers. This field\
            \ is used only for the direct debit payment method.\n**Character limit**:\
            \ 29 "
          format: date
          type: string
        MandateID:
          description: " The ID of the mandate. A mandate is a signed authorization\
            \ for UK and NL customers. This field is used only for the direct debit\
            \ payment method.\n**Character limit**: 36 **Values**: a string of 36\
            \ characters or fewer "
          type: string
        MandateReceived:
          description: " Indicates if  the mandate was received. A mandate is a signed\
            \ authorization for UK and NL customers. This field is used only for the\
            \ direct debit payment method.\n**Character limit**: 3 **Values**: `Yes`,\
            \ `No `(case-sensitive) "
          type: string
        MandateUpdateDate:
          description: " The date when the mandate was last updated, in `yyyy-mm-dd`\
            \ format. A mandate is a signed authorization for UK and NL customers.\
            \ This field is used only for the direct debit payment method.\n**Character\
            \ limit**: 29 "
          format: date
          type: string
        MaxConsecutivePaymentFailures:
          description: " Specifies the number of allowable consecutive failures Zuora\
            \ attempts with the payment method before stopping.\n**Values**: a valid\
            \ number "
          type: integer
        NumConsecutiveFailures:
          description: "The number of consecutive failed payments for this payment\
            \ method. It is reset to `0` upon successful payment. \n"
          maximum: 100
          minimum: 0
          type: integer
        PaymentMethodStatus:
          description: " This field is used to indicate the status of the payment\
            \ method created within an account. It is set to `Active` on creation.\n\
            **Character limit**: 6 **Values**: `Active` or `Closed` "
          type: string
        PaymentRetryWindow:
          description: " The retry interval setting, which prevents making a payment\
            \ attempt if the last failed attempt was within the last specified number\
            \ of hours. This field is required if the `UseDefaultRetryRule` field\
            \ value is set to `false`.\n**Character limit**: 4 **Values**: a whole\
            \ number between 1 and 1000, exclusive "
          type: integer
        Phone:
          description: " The phone number that the account holder registered with\
            \ the bank. This field is used for credit card validation when passing\
            \ to a gateway.\n**Character limit**: 40 **Values**: a string of 40 characters\
            \ or fewer "
          type: string
        PostalCode:
          description: " The zip code of the customer's address. This field is used\
            \ only for the direct debit payment method.\n**Character limit**: 20 **Values**:\
            \ a string of 20 characters or fewer "
          type: string
        SecondTokenId:
          description: "A gateway unique identifier that replaces sensitive payment\
            \ method data. `SecondTokenId` is conditionally required only when `TokenId`\
            \ is being used to represent a gateway customer profile. `TokenID` is\
            \ being used to represent a gateway customer profile. `SecondTokenId`\
            \ is used in the CC Reference Transaction payment method.\n**Character\
            \ limit**: 64 **Values**: a string of 64 characters or fewer "
          type: string
        State:
          description: " The state of the customer's address. This field is used only\
            \ for the direct debit payment method.\n**Character limit**: 70 **Values**:\
            \ a string of 70 characters or fewer "
          type: string
        StreetName:
          description: " The street name of the customer's address. This field is\
            \ used only for the direct debit payment method.\n**Character limit**:\
            \ 100 **Values**: a string of 100 characters or fewer "
          type: string
        StreetNumber:
          description: " The street number of the customer's address. This field is\
            \ used only for the direct debit payment method.\n**Character limit**:\
            \ 30 **Values**: a string of 30 characters or fewer "
          type: string
        UseDefaultRetryRule:
          description: " Determines whether to use the default retry rules configured\
            \ in the Zuora Payments settings. Set this to `true` to use the default\
            \ retry rules. Set this to `false` to set the specific rules for this\
            \ payment method. If you set this value to `false`, then the fields, `PaymentRetryWindow`\
            \ and `MaxConsecutivePaymentFailures`, are required.\n**Character limit**:\
            \ 5 **Values**: `true` or `false` "
          type: boolean
      type: object
    - $ref: '#/definitions/PaymentMethodObjectCustomFields'
    example:
      CreditCardAddress1: 312 2nd Ave W_new
      Id: 2c93808457d787030157e02fced332a2
    required:
    - UseDefaultRetryRule
  ProxyModifyProduct:
    allOf:
    - properties:
        AllowFeatureChanges:
          description: " Controls whether to allow your users to add or remove features\
            \ while creating or amending a subscription.\n**Character** **limit**:\
            \ n/a\n**Values**: true, false (default) "
          type: boolean
        Category:
          description: |2
             Category of the product. Used by Zuora Quotes Guided Product Selector.
            **Character** **limit**: 100
            **Values**: One of the following:

            - Base Products
            - Add On Services
            - Miscellaneous Products
          type: string
        Description:
          description: ' A descriptionof the product. **Character limit**: 500 **Values**:
            a string of 500 characters or fewer '
          type: string
        EffectiveEndDate:
          description: 'The date when the product expires and can''t be subscribed
            to anymore, in `yyyy-mm-dd` format. **Character limit**: 29 '
          format: date
          type: string
        EffectiveStartDate:
          description: 'The date when the product becomes available and can be subscribed
            to, in `yyyy-mm-dd` format. **Character limit**: 29 '
          format: date
          type: string
        Name:
          description: 'The name of the product. This information is displayed in
            the product catalog pages in the web-based UI. **Character limit**: 100
            **Values**: a string of 100 characters or fewer '
          type: string
        SKU:
          description: |
            The unique SKU for the product. **Character limit**: 50 **Values**: one of the following:

            - leave null for automatic generated
            - an alphanumeric string of 50 characters or fewer
          type: string
      type: object
    - $ref: '#/definitions/ProductObjectNSFields'
    - $ref: '#/definitions/ProductObjectCustomFields'
    example:
      Description: Create product via API_new
      EffectiveEndDate: '2066-10-20'
      EffectiveStartDate: '1966-10-20'
      Id: 2c93808457d787030157e02e7be22210
      Name: P_1476934925293_new
      SKU: API-SKU1476934925293
  ProxyModifyProductRatePlan:
    allOf:
    - properties:
        Description:
          description: 'A description of the product rate plan. **Character limit**:
            500 **Values**: a string of 500 characters or fewer '
          type: string
        EffectiveEndDate:
          description: " The date when the product rate plan expires and can't be\
            \ subscribed to, in `yyyy-mm-dd` format.\n**Character limit**: 29 "
          format: date
          type: string
        EffectiveStartDate:
          description: " The date when the product rate plan becomes available and\
            \ can be subscribed to, in `yyyy-mm-dd` format.\n**Character limit**:\
            \ 29 "
          format: date
          type: string
        Name:
          description: 'The name of the product rate plan. The name doesn''t have
            to be unique in a Product Catalog, but the name has to be unique within
            a product. **Character limit**: 100 **Values**: a string of 100 characters
            or fewer '
          type: string
        ProductId:
          description: 'The ID of the product that contains the product rate plan.
            **Character limit**: 32 **Values**: a string of 32 characters or fewer '
          type: string
      type: object
    - $ref: '#/definitions/ProductRatePlanObjectNSFields'
    - $ref: '#/definitions/ProductRatePlanObjectCustomFields'
    example:
      Id: 2c93808457d787030157e02da0d91852
      Name: ProductRatePlan1476934869186_new
  ProxyModifyProductRatePlanCharge:
    allOf:
    - properties:
        AccountingCode:
          description: 'The accounting code for the charge. Accounting codes group
            transactions that contain similar accounting attributes. **Character limit**:
            100 **Values**: an active accounting code in your Zuora Chart of Accounts '
          type: string
        ApplyDiscountTo:
          description: |
            Specifies the type of charges that you want a specific discount to apply to. All field values are case sensitive: note that these values are in all-caps. **Character limit**: 21 **Values**: one of the following:

            - `ONETIME (1)`
            - `RECURRING (2)`
            - `USAGE (4)`
            - `ONETIMERECURRING (3)`
            - `ONETIMEUSAGE (5)`
            - `RECURRINGUSAGE (6)`
            - `ONETIMERECURRINGUSAGE (7)`
          type: string
        BillCycleDay:
          description: " Sets the bill cycle day (BCD) for the charge. The BCD determines\
            \ which day of the month customer is billed. The BCD value in the account\
            \ can override the BCD in this object.\n**Character limit**: 2 **Values**:\
            \ a valid BCD integer, 1 - 31 "
          format: int32
          type: integer
        BillCycleType:
          description: |2
             Specifies how to determine the billing day for the charge. **Character limit**: 20 **Values**: one of the following:

            - `DefaultFromCustomer`
            - `SpecificDayofMonth:`
            - `SubscriptionStartDay`
            - `ChargeTriggerDay`
            - `SpecificDayofWeek`
            **Note**:

            - If you set this field to `SpecificDayofMonth`, you must specify which day of the month as the billing day for the charge in the BillCycleDay field.
            - If you set this field to `SpecificDayofWeek`, you must specify which day of the week as the billing day for the charge in the WeeklyBillCycleDay field.
          type: string
        BillingPeriod:
          description: " The billing period for the charge. The start day of the billing\
            \ period is also called the bill cycle day (BCD).\n**Character limit**:\
            \ 15 **Values**: one of the following\n\n- `Month`\n- `Quarter`\n- `Annual`\n\
            - `Semi-Annual`\n- `Specific Months`\n- `Subscription Term` (This value\
            \ is in **Limited Availability**.)\n- `Week`\n- `Specific Weeks`\n**Note**:\
            \ Specify the number of months or weeks in the SpecificBillingPeriod field\
            \ if you set this field to `Specific Months` or `Specific Weeks`. "
          type: string
        BillingPeriodAlignment:
          description: |2
             Aligns charges within the same subscription if multiple charges begin on different dates.
            **Character limit**: 24 **Values**: one of the following:

            - `AlignToCharge`
            - `AlignToSubscriptionStart`
            - `AlignToTermStart`
          type: string
        BillingTiming:
          description: |2+
             The billing timing for the charge. You can choose to bill in advance or in arrears for recurring charge types. This field is not used in one-time or usage based charge types.
            **Character limit**: **Values**: one of the following:

            - `In Advance`
            - `In Arrears`

            This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

          type: string
        ChargeModel:
          description: |2
             Determines how to calculate charges. Charge models must be individually activated in Zuora Billing administration.
            **Character limit**: 27 **Values**: one of the following:

            - `Discount-Fixed Amount`
            - `Discount-Percentage`
            - `Flat Fee Pricing`
            - `Per Unit Pricing`
            - `Overage Pricing`
            - `Tiered Pricing`
            - `Tiered with Overage Pricing`
            - `Volume Pricing`
          type: string
        DefaultQuantity:
          description: " The default quantity of units, such as the number of authors\
            \ in a hosted wiki service. This field is required if you use a per-unit\
            \ pricing model.\n**Character limit**: 16 **Values**: a valid quantity\
            \ value "
          format: double
          type: number
        DeferredRevenueAccount:
          description: |2+
             The name of the deferred revenue account for this charge.
            **Character limit**: 100 **Values**: an active accounting code in your Zuora Chart of Accounts
            This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

          type: string
        Description:
          description: 'A description of the charge. **Character limit**: 500 **Values**:
            a string of 500 characters or fewer '
          type: string
        DiscountLevel:
          description: |2
             Specifies if the discount applies to just the product rate plan, the entire subscription, or to any activity in the account.
            **Character limit**: 12 **Values**: one of the following:

            - `rateplan`
            - `subscription`, `account`
          type: string
        EndDateCondition:
          description: " Defines when the charge ends after the charge trigger date.\n\
            **Values**: one of the following:\n\n- `SubscriptionEnd`: The charge ends\
            \ on the subscription end date after a specified period based on the trigger\
            \ date of the charge. This is the default value.\n- `FixedPeriod`: The\
            \ charge ends after a specified period based on the trigger date of the\
            \ charge. If you set this field to `FixedPeriod`, you must specify the\
            \ length of the period and a period type by defining the `UpToPeriods`\
            \ and `UpToPeriodsType` fields.\n**Note**: If the subscription ends before\
            \ the charge end date, the charge ends when the subscription ends. But\
            \ if the subscription end date is subsequently changed through a Renewal,\
            \ or Terms and Conditions amendment, the charge will end on the charge\
            \ end date. "
          type: string
        IncludedUnits:
          description: 'Specifies the number of units in the base set of units. **Character
            limit**: 16 **Values**: a positive decimal value '
          format: double
          type: number
        LegacyRevenueReporting:
          description: ''
          type: boolean
        ListPriceBase:
          description: |
            The list price base for the product rate plan charge. **Values**: one of the following:

            - `Per Month`
            - `Per Billing Period`
            - `Per Week`
          type: string
        MaxQuantity:
          description: " Specifies the maximum number of units for this charge. Use\
            \ this field and the `MinQuantity` field to create a range of units allowed\
            \ in a product rate plan charge.\n**Character limit**: 16 **Values**:\
            \ a positive decimal value "
          format: double
          type: number
        MinQuantity:
          description: 'Specifies the minimum number of units for this charge. Use
            this field and the `MaxQuantity` field to create a range of units allowed
            in a product rate plan charge. **Character limit**: 16 **Values**: a positive
            decimal value '
          format: double
          type: number
        Name:
          description: 'The name of the product rate plan charge. **Character limit**:
            100 **Values**: a string of 100 characters or fewer '
          type: string
        NumberOfPeriod:
          description: 'Specifies the number of periods to use when calculating charges
            in an overage smoothing charge model. **Character limit**: **Values**:
            a positive whole number '
          format: int64
          type: integer
        OverageCalculationOption:
          description: |
            Determines when to calculate overage charges. If the value of the SmoothingMode field is not specified, the value of this field is ignored. **Character limit**: 20 **Values**: one of the following:

            - `EndOfSmoothingPeriod`: This option is used by default. The overage is charged at the end of the smoothing period.
            - `PerBillingPeriod`: The overage is charged on-demand rather than waiting until the end of the smoothing period.
          type: string
        OverageUnusedUnitsCreditOption:
          description: |2
             Determines whether to credit the customer with unused units of usage.
            **Character limit**: 20 **Values**: one of the following:

            - `NoCredit`
            - `CreditBySpecificRate`
          type: string
        PriceChangeOption:
          description: |2
             Applies an automatic price change when a termed subscription is renewed.
            **Character limit**: **Values**: one of the following:

            - `NoChange` (default)
            - `SpecificPercentageValue`
            - `UseLatestProductCatalogPricing`
          type: string
        PriceIncreaseOption:
          description: 'Applies an automatic price change when a termed subscription
            is renewed.

            '
          enum:
          - FromTenantPercentageValue
          - SpecificPercentageValue
          type: string
        PriceIncreasePercentage:
          description: " Specifies the percentage to increase or decrease the price\
            \ of a termed subscription's renewal. Use this field if you set the value\
            \ to `SpecificPercentageValue`.\n**Character limit**: 16 **Values**: a\
            \ decimal value between -100 and 100 "
          format: double
          type: number
        ProductRatePlanChargeTierData:
          $ref: '#/definitions/ProxyCreateOrModifyProductRatePlanChargeTierData'
        ProductRatePlanId:
          description: " The ID of the product rate plan associated with this product\
            \ rate plan charge.\n**Character limit**: 32 **Values**: a valid product\
            \ rate plan ID "
          type: string
        RatingGroup:
          description: "Specifies a rating group based on which usage records are\
            \ rated.\n\n**Note:** This feature is in **Limited Availability**. If\
            \ you wish to have access to the feature, submit a request at [Zuora Global\
            \ Support](http://support.zuora.com/).\n\nPossible values:\n\n- `ByBillingPeriod`\
            \ (default): The rating is based on all the usages in a billing period.\n\
            - `ByUsageStartDate`: The rating is based on all the usages on the same\
            \ usage start date. \n- `ByUsageRecord`: The rating is based on each usage\
            \ record.\n- `ByUsageUpload`: The rating is based on all the  usages in\
            \ a uploaded usage file (`.xls` or `.csv`).\n- `ByGroupId`: The rating\
            \ is based on all the usages in a custom group.\n\n**Note:** \n- The `ByBillingPeriod`\
            \ value can be applied for all charge models. \n- The `ByUsageStartDate`,\
            \ `ByUsageRecord`, and `ByUsageUpload` values can only be applied for\
            \ per unit, volume pricing, and tiered pricing charge models. \n- The\
            \ `ByGroupId` value is only available if you have the Active Rating feature\
            \ enabled.\n- Use this field only for Usage charges. One-Time Charges\
            \ and Recurring Charges return `NULL`.\n"
          type: string
        RecognizedRevenueAccount:
          description: |2+
             The name of the recognized revenue account for this charge.

            - Required when the Allow Blank Accounting Code setting is No.
            - Optional when the Allow Blank Accounting Code setting is Yes.

            **Character limit**: 100 **Values**: an active accounting code in your Zuora Chart of Accounts
            This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

          type: string
        RevRecCode:
          description: 'Associates this product rate plan charge with a specific revenue
            recognition code. **Character limit**: 70 **Values**: a valid revenue
            recognition code '
          type: string
        RevRecTriggerCondition:
          description: |2
             Specifies when revenue recognition begins.
            **Character limit**: 22 **Values**: one of the following:

            - `ContractEffectiveDate`
            - `ServiceActivationDate`
            - `CustomerAcceptanceDate`
          type: string
        RevenueRecognitionRuleName:
          description: |
            Determines when to recognize the revenue for this charge. **Character limit**: 25 **Values**: one of the following:

            - `Recognize upon invoicing`
            - `Recognize daily over time`
          type: string
        SmoothingModel:
          description: |2
             Specifies the smoothing model for an overage smoothing charge model.
            **Character limit**: 22 **Values**: one of the following:

            - `RollingWindow`
            - `Rollover`
          type: string
        SpecificBillingPeriod:
          description: " Customizes the number of months or weeks for the charges\
            \ billing period. This field is required if you set the value of the BillingPeriod\
            \ field to `Specific Months` or `Specific Weeks`.\n**Values**: a positive\
            \ integer "
          format: int64
          type: integer
        TaxCode:
          description: " Specifies the tax code for taxation rules. Required when\
            \ the Taxable field is set to `True`.\n\n**Character limit**: 64\n\n**Values**:\
            \ a valid tax code\n\n**Note**: This value affects the tax calculation\
            \ of rate plan charges that come from the `ProductRatePlanCharge`. "
          type: string
        TaxMode:
          description: " Determines how to define taxation for the charge. Required\
            \ when the Taxable field is set to `True`.\n\n**Character limit**: 12\n\
            \n**Values**: one of the following:\n\n- `TaxExclusive`\n- `TaxInclusive`\n\
            \n**Note**: This value affects the tax calculation of rate plan charges\
            \ that come from the `ProductRatePlanCharge`. "
          type: string
        Taxable:
          description: " Determines whether the charge is taxable. When set to `True`,\
            \ the TaxMode and TaxCode fields are required when creating or updating\
            \ th ProductRatePlanCharge object.\n\n**Character limit**: 5\n\n**Values**:\
            \ `True`, `False`\n\n**Note**: This value affects the tax calculation\
            \ of rate plan charges that come from the `ProductRatePlanCharge`. "
          type: boolean
        TriggerEvent:
          description: |2
             Specifies when to start billing the customer for the charge.
            **Character limit**: 18 **Values**: one of the following:

            - `ContractEffective` is the date when the subscription's contract goes into effect and the charge is ready to be billed.
            - `ServiceActivation` is the date when the services or products for a subscription have been activated and the customers have access.
            - `CustomerAcceptance` is when the customer accepts the services or products for a subscription.
          type: string
        UOM:
          description: |2
             Specifies the units to measure usage.
            **Character limit**: 25 **Values**: a configured unit of measure **Note**: You must specify this field when creating the following charge models:

            - Per Unit Pricing
            - Volume Pricing
            - Overage Pricing
            - Tiered Pricing
            - Tiered with Overage Pricing
          type: string
        UpToPeriods:
          description: |2
             Specifies the length of the period during which the charge is active. If this period ends before the subscription ends, the charge ends when this period ends.
            **Character limit**: 5 **Values**: a whole number between 0 and 65535, exclusive **Note**:

            - You must use this field together with the `UpToPeriodsType` field to specify the time period. This field is applicable only when the `EndDateCondition` field is set to `FixedPeriod`.
            - If the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge end date will change accordingly up to the original period end.
          format: int64
          type: integer
        UpToPeriodsType:
          description: |2
             The period type used to define when the charge ends.
            **Character limit**: -- **Values**: one of the following:

            - `Billing Periods` (default)
            - `Days`
            - `Weeks`
            - `Months`
            - `Years`

            **Note**:

            - You must use this field together with the `UpToPeriods` field to specify the time period.
            - This field is applicable only when the `EndDateCondition` field is set to `FixedPeriod`.
          type: string
        UsageRecordRatingOption:
          default: EndOfBillingPeriod
          description: "Determines how Zuora processes usage records for per-unit\
            \ usage charges. \n"
          enum:
          - EndOfBillingPeriod
          - OnDemand
          type: string
        UseDiscountSpecificAccountingCode:
          description: 'Determines whether to define a new accounting code for the
            new discount charge. **Character limit**: 5 **Values**: `True`, `False` '
          type: boolean
        UseTenantDefaultForPriceChange:
          description: ' Applies the tenant-level percentage uplift value for an automatic
            price change to a termed subscription''s renewal. **Character limit**:
            5 **Values**: `true`, `false` '
          type: boolean
        WeeklyBillCycleDay:
          description: |2
             Specifies which day of the week as the bill cycle day (BCD) for the charge.
            This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

            **Values**: one of the following:

            - `Sunday`
            - `Monday`
            - `Tuesday`
            - `Wednesday`
            - `Thursday`
            - `Friday`
            - `Saturday`
          type: string
      type: object
    - $ref: '#/definitions/ProductRatePlanChargeObjectNSFields'
    - $ref: '#/definitions/ProductRatePlanChargeObjectCustomFields'
    example:
      AccountingCode: Deferred Revenue
      BillCycleType: DefaultFromCustomer
      BillingPeriod: Month
      ChargeModel: Flat fee Pricing
      DeferredRevenueAccount: Deferred Revenue
      Name: Recurring flat fee
      ProductRatePlanChargeTierData:
        ProductRatePlanChargeTier:
        - Currency: USD
          Price: 10
      ProductRatePlanId: 2c92c0f8628e007901628f1dc06a453d
      RecognizedRevenueAccount: Accounts Receivable
      TriggerEvent: ContractEffective
      UOM: each
      UseDiscountSpecificAccountingCode: false
  ProxyModifyProductRatePlanChargeTier:
    example:
      Price: 1.99
    properties:
      Price:
        description: 'The price of the tier if the charge is a flat fee, or the price
          of each unit in the tier if the charge model is tiered pricing.

          '
        format: double
        type: number
    type: object
  ProxyModifyRatePlanCharge:
    allOf:
    - properties:
        BillingTiming:
          description: |2+
             The billing timing for the charge. You can choose to bill in advance or in arrears for recurring charge types. This field is not used in one-time or usage based charge types.
            **Character limit**: **Values**: one of the following:

            - `In Advance`
            - `In Arrears`
            **Note:** You can override the value inherited from the Product Rate Plan Charge when a subscription has a recurring charge type.
            This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

          type: string
        DiscountAmount:
          description: 'Specifies the amount of a fixed-amount discount. You can provide
            a value for this field if the `ChargeModel` field value is `Discount-Fixed
            Amount`. **Character limit**: 16 **Values**: A valid currency amount

            '
          format: decimal
          type: number
        DiscountPercentage:
          description: 'The percentage of discount for a percentage discount. Use
            this field if the value for `ProductRatePlanCharge.ChargeModel` is `Discount-Percentage`
            and you want to override the value in `ProductRatePlanChargeTier.DiscountPercentage`.
            **Character limit**: 16 **Values**: a decimal value between -100 and 100,
            exclusive

            '
          format: decimal
          type: number
        EndDateCondition:
          description: " Defines when the charge ends after the charge trigger date.\
            \ This field can be updated when **Status** is `Draft`.\n**Values**: one\
            \ of the following:\n\n- `SubscriptionEnd`: The charge ends on the subscription\
            \ end date after the charge trigger date. This is the default value.\n\
            - `FixedPeriod`: The charge ends after a specified period based on the\
            \ trigger date of the charge. If you set this field to `FixedPeriod`,\
            \ you must specify the length of the period and a period type by defining\
            \ the `UpToPeriods` and `UpToPeriodsType` fields.\n- `SpecificEndDate`:\
            \ The specific date on which the charge ends. If you set this field to\
            \ `SpecificEndDate`, you must specify the specific date by defining the\
            \ `SpecificEndDate` field.\n\n**Note**: If the subscription ends before\
            \ the charge end date, the charge ends when the subscription ends. But\
            \ if the subscription end date is subsequently changed through a Renewal,\
            \ or Terms and Conditions amendment, the charge will end on the charge\
            \ end date. "
          type: string
        ListPriceBase:
          description: |
            The list price base for the product rate plan charge. **Values**: one of the following:

            - `Per Month`
            - `Per Billing Period`
            - `Per Week`
          type: string
        PriceChangeOption:
          description: |2
             Applies an automatic price change when a termed subscription is renewed.
            **Character limit**: **Values**: one of the following:

            - `NoChange` (default)
            - `SpecificPercentageValue`
            - `UseLatestProductCatalogPricing`
          type: string
        PriceIncreasePercentage:
          description: " Specifies the percentage to increase or decrease the price\
            \ of renewed subscriptions.\n**Character limit**: 16 **Values**: a decimal\
            \ value between -100 and 100 "
          format: double
          type: number
        RatingGroup:
          description: "Specifies a rating group based on which usage records are\
            \ rated. \n\n* `ByBillingPeriod` (default) - The rating is based on all\
            \ the usages in a billing period. \n* `ByUsageStartDate` - The rating\
            \ is based on all the usages on the same usage start date.\n* `ByUsageRecord`\
            \ - The rating is based on each usage record.\n* `ByUsageUpload` - The\
            \ rating is based on all the usages in a uploaded usage file (`.xls` or\
            \ `.csv`). If you import a mass usage in a single upload, which contains\
            \ multiple usage files in `.xls` or `.csv` format, usage records are grouped\
            \ for each usage file.\n* `ByGroupId` - The rating is based on all the\
            \ usages in the same custom group. \n\n\n**Note:** \n- The `ByBillingPeriod`\
            \ value can be applied for all charge models. \n- The `ByUsageStartDate`,\
            \ `ByUsageRecord`, and `ByUsageUpload` values can only be applied for\
            \ per unit, volume pricing, and tiered pricing charge models. \n- The\
            \ `ByGroupId` value is only available if you have the Active Rating feature\
            \ enabled.\n- Use this field only for Usage charges. One-Time Charges\
            \ and Recurring Charges return `NULL`.\n\n\nSee [Usage Rating by Group](https://knowledgecenter.zuora.com/CB_Billing/J_Billing_Operations/Usage/Usage_Rating_by_Group)\
            \ for more information. **Note:** This feature is in **Limited Availability**.\
            \ If you want to have access to the feature, submit a request at [Zuora\
            \ Global Support](http://support.zuora.com/).\n"
          enum:
          - ByBillingPeriod
          - ByUsageStartDate
          - ByUsageRecord
          - ByUsageUpload
          - ByGroupId
          type: string
        RevRecCode:
          description: " Associates this product rate plan charge with a specific\
            \ revenue recognition code.\n\n**Character limit**: 70\n\n**Values**:\
            \ inherited from `ProductRatePlanCharge.RevRecCode` or a valid revenue\
            \ recognition code\n\n**Note**: Unless overridden, this value changes\
            \ if `ProductRatePlanCharge.RevRecCode` is updated. The values of `UpdatedById`\
            \ and `UpdatedDate` for the `RatePlanCharge` do not change when `ProductRatePlanCharge.RevRecCode`\
            \ is updated. "
          type: string
        RevRecTriggerCondition:
          description: " Specifies when revenue recognition begins.\n\n**Character\
            \ limit**: 22\n\n**Values**: inherited from `ProductRatePlanCharge.RevRecTriggerCondition`\
            \ or one of the following:\n\n-  `ContractEffectiveDate`\n\n-  `ServiceActivationDate`\n\
            \n-  `CustomerAcceptanceDate`\n\nNote: Unless overridden, this value changes\
            \ if `ProductRatePlanCharge.RevRecTriggerCondition` is updated. The values\
            \ of `UpdatedById` and `UpdatedDate` for the `RatePlanCharge` do not change\
            \ when `ProductRatePlanCharge.RevRecTriggerCondition` is updated. "
          type: string
        RevenueRecognitionRuleName:
          description: " Specifies the Revenue Recognition Rule that you want the\
            \ Rate Plan Charge to use. This field can be updated when **Status** is\
            \ `Draft`. By default, the Revenue Recognition Rule is inherited from\
            \ the Product Rate Plan Charge. For Amend calls, you can use this field\
            \ only for NewProduct amendments. For Update calls, you can use this field\
            \ only to update subscriptions in draft status. Note that if you use this\
            \ field to specify a Revenue Recognition Rule for the Rate Plan Charge,\
            \ the rule will remain as specified even if you later change the rule\
            \ used by the corresponding Product Rate Plan Charge.\n\n**Character limit**:\
            \ n/a\n\n**Values**: inherited from `ProductRatePlanCharge.RevenueRecognitionRuleName`\
            \ or the name of an active Revenue Recognition Rule\n\n**Note**: Unless\
            \ overridden, this value changes if `ProductRatePlanCharge.RevenueRecognitionRuleName`\
            \ is updated. The values of `UpdatedById` and `UpdatedDate` for the `RatePlanCharge`\
            \ do not change when `ProductRatePlanCharge.RevenueRecognitionRuleName`\
            \ is updated. "
          type: string
        SpecificEndDate:
          description: |2
             The specific date on which the charge ends, in `yyyy-mm-dd` format.
            **Character limit**: 29 **Note**:

            - This field is only applicable when the `EndDateCondition` field is set to `SpecificEndDate`.
            - If the subscription ends before the specific end date, the charge ends when the subscription ends. But if the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge will end on the specific end date.
          format: date
          type: string
        TriggerDate:
          description: " The date when the charge becomes effective and billing begins,\
            \ in `yyyy-mm-dd` format. This field is required if the `TriggerEvent`\
            \ field value is `SpecificDate`.\n**Character limit**: 29 "
          format: date
          type: string
        TriggerEvent:
          description: |2
             Specifies when to start billing the customer for the charge.
            **Note: **This field can be passed through the Subscribe and Amend calls and will override the default value set on the Product Rate Plan Charge.
            **Character limit**: 18 **Values**: inherited from `ProductRatePlanCharge.TriggerEvent` and can be one of the following values:

            - `ContractEffective` is the date when the subscription's contract goes into effect and the charge is ready to be billed.
            - `ServiceActivation` is when the services or products for a subscription have been activated and the customers have access.
            - `CustomerAcceptance` is when the customer accepts the services or products for a subscription.
            - `SpecificDate` is valid only on the RatePlanCharge.
          type: string
        UpToPeriodsType:
          description: |2
             The period type used to define when the charge ends. This field can be updated when **Status** is `Draft`. **Values**: one of the following:

            - `Billing Periods` (default)
            - `Days`
            - `Weeks`
            - `Months`
            - `Years`
            **Note**:

            - You must use this field together with the `UpToPeriods` field to specify the time period.
            - This field is only applicable only when the `EndDateCondition` field is set to `FixedPeriod`.
          type: string
        WeeklyBillCycleDay:
          description: |2
             Specifies which day of the week as the bill cycle day (BCD) for the charge.
            This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

            **Values**: one of the following:

            - `Sunday`
            - `Monday`
            - `Tuesday`
            - `Wednesday`
            - `Thursday`
            - `Friday`
            - `Saturday`
          type: string
      type: object
    - $ref: '#/definitions/RatePlanChargeObjectCustomFields'
    example:
      PriceIncreasePercentage: 10
  ProxyModifyRefund:
    allOf:
    - properties:
        ReasonCode:
          description: " A code identifying the reason for the transaction. Must be\
            \ an existing reason code or empty. If you do not specify a value, Zuora\
            \ uses the default reason code.\n**Character limit**: 32 **V****alues**:\
            \ a valid reason code "
          type: string
        Status:
          description: |2
             The status of the refund.
            **Character limit**: 10 **Values**: automatically generated:

            - `Canceled`
            - `Error`
            - `Processed`
            - `Processing`
          type: string
        TransferredToAccounting:
          description: |2
             Specifies whether or not the object has been transferred to an external accounting system. Use this field for integrations with accounting systems such as NetSuite.
            **Character limit**: 10 **Values**: automatically generated:

            - `Processing`
            - `Yes`
            - `Error`
            - `Ignore`
          type: string
      type: object
    - $ref: '#/definitions/RefundObjectNSFields'
    - $ref: '#/definitions/RefundObjectCustomFields'
    example:
      Id: 2c93808457d787030157e03198c84918
      Status: Canceled
  ProxyModifySubscription:
    allOf:
    - properties:
        AccountId:
          description: ' This field can be updated when **Status** is `Draft`. The
            ID of a valid account ID. '
          type: string
        AutoRenew:
          description: " This field can be updated when **Status** is `Draft`. Indicates\
            \ if the subscription automatically renews at the end of the term.\n**Values**:\
            \ `true`, `false` "
          type: boolean
        CancelledDate:
          description: " The date of the Amendment object.\n**Values**: inherited\
            \ from `Amendment.EffectiveDate` "
          format: date
          type: string
        ContractAcceptanceDate:
          description: ' The date when the customer accepts the contract. This field
            can be updated when **Status** is `Draft`. '
          format: date
          type: string
        ContractEffectiveDate:
          description: " The date when the contract takes effect. This field can be\
            \ updated when **Status** is `Draft`.\n**Note**: This field is required\
            \ in the Subscribe call. If you set the value of this field to null and\
            \ both the ServiceActivationDate and ContractAcceptanceDate fields are\
            \ not required, the Subscribe call still returns success, but the new\
            \ subscription is in `DRAFT` status. To activate the subscription, you\
            \ must set a valid date to this field. "
          format: date
          type: string
        CurrentTermPeriodType:
          description: |2
             The period type for the current subscription term. This field is used with the CurrentTerm field to specify the current subscription term.
            **Values**:

            - `Month` (default)
            - `Year`
            - `Day`
            - `Week`
          type: string
        InitialTerm:
          description: " The length of the period for the first subscription term.\
            \ This field can be updated when Status is `Draft`.\n**Required**: If\
            \ TermType is Termed **Character limit**: 20 **Values**: any valid number.\
            \ The default value is 0. "
          format: int32
          type: integer
        InitialTermPeriodType:
          description: |2
             The period type for the first subscription term.
            **Values**:

            - `Month` (default)
            - `Year`
            - `Day`
            - `Week`
            **Note**:

            - This field can be updated when Status is `Draft`.
            - This field is used with the InitialTerm field to specify the initial subscription term.
          type: string
        InvoiceOwnerId:
          description: ' This field can be updated when **Status** is `Draft`. A valid
            account ID. '
          type: string
        IsInvoiceSeparate:
          description: " Determines if the subscription is invoiced separately. If\
            \ `TRUE`, then all charges for this subscription are collected into the\
            \ subscription's own invoice.\n**Values**: `TRUE`, `FALSE `(default) "
          type: boolean
        Name:
          description: |2
             The unique identifier of the subscription. If you don't specify a value, then Zuora generates a name automatically. Whether auto-generated or manually specified, the subscription name must be unique. Otherwise an error will occur.
            **Character limit**: 100 **Values**: one of the following:

            - leave null to automatically generate
            - a string of 100 characters or fewer
          type: string
        Notes:
          description: " Use this field to record comments about the subscription.\n\
            **Character limit**: 500 **Values**: a string of 500 characters or fewer "
          type: string
        RenewalSetting:
          description: " This field can be updated when **Status** is `Draft`. Specifies\
            \ whether a termed subscription will remain termed or change to evergreen\
            \ when it is renewed.\n**Required**: If TermType is Termed **Values**:\
            \ `RENEW_WITH_SPECIFIC_TERM `(default), `RENEW_TO_EVERGREEN` "
          type: string
        RenewalTerm:
          description: |2
             The length of the period for the subscription renewal term. This field can be updated when **Status** is `Draft`. **Required**: If TermType is Termed.
            **Character limit**: 20 **Values**: one of the following:

            - leave null to default to `0`
            - any number
          format: int32
          type: integer
        RenewalTermPeriodType:
          description: |2
             The period type for the subscription renewal term.
            **Values**:

            - `Month` (default)
            - `Year`
            - `Day`
            - `Week`
            **Note**:

            - This field is used with the RenewalTerm field to specify the subscription renewal term.
            - This field can be updated when Status is `Draft`.
          type: string
        ServiceActivationDate:
          description: " The date when the subscription is activated. This field can\
            \ be updated when **Status** is `Draft`.\n**Character limit**: 29 "
          format: date
          type: string
        Status:
          description: |2
             The status of the subscription.
            **Character limit**: 17 **Values**: automatically generated **Possible values**: one of the following:

            - `Draft`
            - `Pending Activation`
            - `Pending Acceptance`
            - `Active`
            - `Cancelled`
            - `Expired`
            - `Suspended` (This value is in **Limited Availability**.)
          type: string
        TermStartDate:
          description: " This field can be updated when **Status** is `Draft`. The\
            \ date when the subscription term begins. If this is a renewal subscription,\
            \ then this date is different from the subscription start date.\n**Character\
            \ limit**: 29 **Version notes**: -- "
          format: date
          type: string
        TermType:
          description: " This field can be updated when **Status** is `Draft`. Indicates\
            \ if a subscription is termed or evergreen.\n**Character limit**: 9 **Values**:\
            \ `TERMED`, `EVERGREEN` "
          type: string
        Version:
          description: " The version number of the subscription.\n**Values**: automatically\
            \ generated "
          format: int32
          type: integer
      type: object
    - $ref: '#/definitions/SubscriptionObjectQTFields'
    - $ref: '#/definitions/SubscriptionObjectNSFields'
    - $ref: '#/definitions/SubscriptionObjectCustomFields'
    example:
      Id: 2c93808457d787030157e02ea04123cf
      Name: S_1476934934547_name
      Notes: this is notes_new
  ProxyModifyTaxationItem:
    allOf:
    - properties:
        AccountingCode:
          description: ' The Chart of Accounts '
          type: string
        ExemptAmount:
          description: " The amount of taxes or VAT for which the customer has an\
            \ exemption.\n**Character limit**: 16 **Values**: a decimal value "
          format: double
          type: number
        Jurisdiction:
          description: " The jurisdiction that applies the tax or VAT. This value\
            \ is typically a state, province, county, or city.\n**Character limit**:\
            \ 32 **Values**: a string of 32 characterrs or fewer "
          type: string
        LocationCode:
          description: " The identifier for the location based on the value of the\
            \ `TaxCode` field.\n**Character limit**: 32 **Values**: automatically\
            \ generated "
          type: string
        Name:
          description: " The name of the tax rate, such as sales tax or GST. This\
            \ name is displayed on invoices.\n**Character limit**: 128 **Values**:\
            \ a string of 128 characters or fewer "
          type: string
        TaxAmount:
          description: " The amount of the tax applied to the charge.\n**Character\
            \ limit**: 16 **Values**: a decimal value "
          format: double
          type: number
        TaxCode:
          description: " The tax code identifies which tax rules and tax rates to\
            \ apply to a specific charge.\n**Character limit**: 32 **Values**: a string\
            \ of 32 characters or fewer "
          type: string
        TaxCodeDescription:
          description: " The description for the tax code.\n**Character limit**: 255\
            \ **Values**: a string of 255 characters or fewer "
          type: string
        TaxDate:
          description: " The date that the tax is applied to the charge, in `yyyy-mm-dd`\
            \ format.\n**Character limit**: 29 "
          format: date
          type: string
        TaxRate:
          description: " The tax rate applied to the charge.\n**Character limit**:\
            \ 16 **Values**: a valid decimal value "
          format: double
          type: number
        TaxRateDescription:
          description: " The description of the tax rate.\n**Character limit**: 255\
            \ **Values**: a string of 255 characters or fewer "
          type: string
        TaxRateType:
          description: " The type of the tax rate applied to the charge.\n**Character\
            \ limit**: 10 **Values**: `Percentage`, `FlatFee` "
          type: string
      type: object
    - $ref: '#/definitions/TaxationItemObjectCustomFields'
  ProxyModifyUnitOfMeasure:
    properties:
      Active:
        description: " Indicates if the UOM is available for new product rate plans.\
          \ The default value is `true`.\n**Character limit**: 5 **Values**: `true`,\
          \ `false ` "
        type: boolean
      DecimalPlaces:
        description: 'The number of digits to the right of the decimal point that
          you want to measure for the unit. To use whole numbers only, set this value
          to 0. You can''t change this value after this `UOM` is used in any product,
          subscription, or usage. **Character limit**: 1 **Values**: an integer between
          0 and 9, exclusive '
        format: int64
        type: integer
      DisplayedAs:
        description: 'The name of the UOM that you want displayed on invoices. The
          default value is the `UomName` field value. **Character limit**: 50 **Values**:
          A string of 50 characters or fewer '
        type: string
      RoundingMode:
        description: " Specifies whether to round the UOM value up or down when the\
          \ value exceeds the `DecimalPlaces` field value. The default value is `Up`.\n\
          **Character limit**: 4 **Values**: `Up`, `Down` "
        type: string
      UomName:
        description: " The name of the UOM, such as license or GB. This name is displayed\
          \ in query results and in the web-based UI labels. If you want a different\
          \ name to be displayed on invoices, then use the `DisplayedAs` field to\
          \ provide the invoice label.\n**Character limit**: 50 **Values**: a string\
          \ of 50 characters or fewer "
        type: string
    type: object
  ProxyModifyUsage:
    allOf:
    - properties:
        EndDateTime:
          description: " The end date and time of a range of time when usage is tracked.\
            \ Use this field for reporting; this field doesn't affect usage calculation.\n\
            **Character limit**: 29 **Values**: a valid date and time value "
          format: date-time
          type: string
        Quantity:
          description: " Indicates the number of units used.\n**Character limit**:\
            \ 16 **Values**: a valid decimal amount equal to or greater than 0 "
          format: double
          type: number
        RbeStatus:
          description: " Indicates if the rating and billing engine (RBE) processed\
            \ usage data for an invoice.\n**Character limit**: 9 **Values**: automatically\
            \ generated to be one of the following values: `Importing`, `Pending`,\
            \ `Processed` "
          type: string
        StartDateTime:
          description: " The start date and time of a range of time when usage is\
            \ tracked. Zuora uses this field value to determine the usage date. Unlike\
            \ the `EndDateTime`, the `StartDateTime` field does affect usage calculation.\n\
            **Character limit**: 29 **Values**: a valid date and time value "
          format: date-time
          type: string
        SubmissionDateTime:
          description: " The date when usage was submitted.\n**Character limit**:\
            \ 29 **Values**: automatically generated "
          format: date-time
          type: string
        UOM:
          description: " Specifies the units to measure usage. Units of measure are\
            \ configured in the web-based UI. Your values depend on your configuration\
            \ in **Billing Settings**.\n**Character limit**: **Values**: a valid unit\
            \ of measure "
          type: string
      type: object
    - $ref: '#/definitions/UsageObjectCustomFields'
  ProxyNoDataResponse:
    properties:
      done:
        description: ''
        type: boolean
      records:
        description: ''
        items:
          type: object
        type: array
      size:
        description: ''
        type: integer
    type: object
  ProxyPostImport:
    properties:
      Id:
        description: 'The ID of the Import object that was created.

          '
        type: string
      Success:
        description: 'Indicates whether the call succeeded.

          '
        type: boolean
    type: object
  ProxyUnauthorizedResponse:
    properties:
      message:
        description: |
          Error message.

          If the error message is "Authentication error", ensure that the `Authorization` request header contains valid authentication credentials, then retry the request. See [Authentication](https://www.zuora.com/developer/api-reference/#section/Authentication) for more information.

          If the error message is "Failed to get user info", retry the request.
        type: string
    type: object
  PutBatchInvoiceType:
    example:
      invoices:
      - autoPay: false
        dueDate: '2017-12-16'
        id: 2c93808457d787030157e031d86c4c57
        transferredToAccounting: 'Yes'
      - autoPay: false
        dueDate: '2017-12-27'
        id: 2c92c8955bd63cc1015bd7c151af02ab
        transferredToAccounting: 'Yes'
      - id: 2c92c8955bd63cc1015bd7c151af02dc
        invoiceDate: '2017-11-27'
    properties:
      invoices:
        description: 'Container for invoice update details.

          '
        items:
          $ref: '#/definitions/BatchInvoiceType'
        type: array
    type: object
  PutCreditMemoTaxItemType:
    properties:
      amount:
        description: 'The amount of the taxation item in the credit memo item.

          '
        format: double
        type: number
      financeInformation:
        description: 'Container for the finance information related to the taxation
          item in the credit memo item.

          '
        properties:
          onAccountAccountingCode:
            description: 'The accounting code that maps to an on account in your accounting
              system.

              '
            maxLength: 100
            minLength: 0
            type: string
          salesTaxPayableAccountingCode:
            description: 'The accounting code for the sales taxes payable.

              '
            maxLength: 100
            minLength: 0
            type: string
        type: object
      id:
        description: 'The ID of the taxation item in the credit memo item.

          '
        type: string
      jurisdiction:
        description: 'The jurisdiction that applies the tax or VAT. This value is
          typically a state, province, county, or city.

          '
        type: string
      locationCode:
        description: 'The identifier for the location based on the value of the `taxCode`
          field.

          '
        type: string
      taxCode:
        description: 'The tax code identifies which tax rules and tax rates to apply
          to a specific credit memo.

          '
        type: string
      taxCodeDescription:
        description: 'The description of the tax code.

          '
        type: string
      taxDate:
        description: 'The date that the tax is applied to the credit memo, in `yyyy-mm-dd`
          format.

          '
        format: date
        type: string
      taxExemptAmount:
        description: 'The amount of taxes or VAT for which the customer has an exemption.

          '
        format: double
        type: number
      taxName:
        description: 'The name of taxation.

          '
        type: string
      taxRate:
        description: 'The tax rate applied to the credit memo.

          '
        format: double
        type: number
      taxRateDescription:
        description: "The description of the tax rate. \n"
        type: string
      taxRateType:
        description: 'The type of the tax rate applied to the credit memo.

          '
        enum:
        - Percentage
        - FlatFee
        type: string
    required:
    - id
    title: taxItems
    type: object
  PutDebitMemoTaxItemType:
    properties:
      amount:
        description: 'The amount of the taxation item in the debit memo item.

          '
        format: double
        type: number
      financeInformation:
        description: 'Container for the finance information related to the taxation
          item in the debit memo item.

          '
        properties:
          salesTaxPayableAccountingCode:
            description: 'The accounting code for the sales taxes payable.

              '
            maxLength: 100
            minLength: 0
            type: string
        type: object
      id:
        description: 'The ID of the taxation item in the debit memo item.

          '
        type: string
      jurisdiction:
        description: 'The jurisdiction that applies the tax or VAT. This value is
          typically a state, province, county, or city.

          '
        type: string
      locationCode:
        description: 'The identifier for the location based on the value of the `taxCode`
          field.

          '
        type: string
      taxCode:
        description: 'The tax code identifies which tax rules and tax rates to apply
          to a specific debit memo.

          '
        type: string
      taxCodeDescription:
        description: 'The description of the tax code.

          '
        type: string
      taxDate:
        description: 'The date that the tax is applied to the debit memo, in `yyyy-mm-dd`
          format.

          '
        format: date
        type: string
      taxExemptAmount:
        description: 'The amount of taxes or VAT for which the customer has an exemption.

          '
        format: double
        type: number
      taxName:
        description: 'The name of taxation.

          '
        type: string
      taxRate:
        description: 'The tax rate applied to the debit memo.

          '
        format: double
        type: number
      taxRateDescription:
        description: 'The description of the tax rate.

          '
        type: string
      taxRateType:
        description: 'The type of the tax rate applied to the debit memo.

          '
        enum:
        - Percentage
        - FlatFee
        type: string
    required:
    - id
    title: taxItems
    type: object
  PutEventTriggerRequest:
    example:
      condition: changeType == 'UPDATE' && Invoice.Status == 'Posted' && Invoice.Status_old
        != 'Posted' && Invoice.Amount > 5000
      description: Trigger an event when an invoice is posted with amount over 5000
      eventType:
        description: An invoice is posted with amount over 5000
    properties:
      active:
        description: The status of the trigger.
        type: boolean
      condition:
        description: The JEXL expression to be evaluated against object changes. See
          above for more information and an example.
        maxLength: 5000
        minLength: 1
        type: string
      description:
        description: The description of the trigger.
        maxLength: 1000
        type: string
      eventType:
        description: The type of events to be triggered.
        properties:
          description:
            description: The description for the event type.
            maxLength: 1000
            type: string
          displayName:
            description: The display name for the event type.
            maxLength: 500
            minLength: 1
            type: string
        type: object
    type: object
  PutInvoiceResponseType:
    allOf:
    - properties:
        accountId:
          description: 'The ID of the customer account associated with the invoice.

            '
          type: string
        amount:
          description: 'The total amount of the invoice.

            '
          format: BigDecimal
          type: number
        autoPay:
          description: "Whether invoices are automatically picked up for processing\
            \ in the corresponding payment run. \n"
          type: boolean
        balance:
          description: 'The balance of the invoice.

            '
          format: BigDecimal
          type: number
        cancelledById:
          description: 'The ID of the Zuora user who cancelled the invoice.

            '
          type: string
        cancelledOn:
          description: 'The date and time when the invoice was cancelled, in `yyyy-mm-dd
            hh:mm:ss` format.

            '
          format: date-time
          type: string
        comment:
          description: "Comments about the invoice. \n"
          type: string
        createdById:
          description: 'The ID of the Zuora user who created the invoice.

            '
          type: string
        createdDate:
          description: 'The date and time when the invoice was created, in `yyyy-mm-dd
            hh:mm:ss` format. For example, 2017-03-01 15:31:10.

            '
          format: date-time
          type: string
        creditBalanceAdjustmentAmount:
          description: |
            **Note:** This filed is only available if you have the Credit Balance feature enabled and the Invoice Settlement feature disabled.

            The currency amount of the adjustment applied to the customer's credit balance.
          format: BigDecimal
          type: number
        currency:
          description: 'A currency defined in the web-based UI administrative settings.

            '
          type: string
        dueDate:
          description: "The date by which the payment for this invoice is due. \n"
          format: date
          type: string
        id:
          description: 'The unique ID of the invoice.

            '
          type: string
        invoiceDate:
          description: 'The date on which to generate the invoice.

            '
          format: date
          type: string
        number:
          description: 'The unique identification number of the invoice.

            '
          type: string
        postedById:
          description: 'The ID of the Zuora user who posted the invoice.

            '
          type: string
        postedOn:
          description: "The date and time when the invoice was posted, in `yyyy-mm-dd\
            \ hh:mm:ss` format. \n"
          format: date-time
          type: string
        status:
          description: 'The status of the invoice.

            '
          enum:
          - Draft
          - Posted
          - Canceled
          - Error
          type: string
        success:
          description: 'Returns `true` if the request was processed successfully.

            '
          type: boolean
        targetDate:
          description: "The target date for the invoice, in `yyyy-mm-dd` format. For\
            \ example, 2017-07-20. \n"
          format: date
          type: string
        taxAmount:
          description: 'The amount of taxation.

            '
          format: BigDecimal
          type: number
        totalTaxExemptAmount:
          description: 'The total amount of taxes or VAT for which the customer has
            an exemption.

            '
          format: BigDecimal
          type: number
        transferredToAccounting:
          description: 'Whether the invoice was transferred to an external accounting
            system.

            '
          enum:
          - Processing
          - 'Yes'
          - Error
          - Ignore
          type: string
        updatedById:
          description: 'The ID of the Zuora user who last updated the invoice.

            '
          type: string
        updatedDate:
          description: 'The date and time when the invoice was last updated, in `yyyy-mm-dd
            hh:mm:ss` format. For example, 2017-03-02 15:36:10.

            '
          format: date-time
          type: string
      type: object
    - $ref: '#/definitions/InvoiceObjectNSFields'
    - $ref: '#/definitions/InvoiceObjectCustomFields'
  PutInvoiceType:
    example:
      autoPay: false
      invoiceDate: '2017-02-20'
      transferredToAccounting: 'Yes'
    properties:
      autoPay:
        description: "Whether invoices are automatically picked up for processing\
          \ in the corresponding payment run. \n\nBy default, invoices are automatically\
          \ picked up for processing in the corresponding payment run.\n"
        type: boolean
      dueDate:
        description: "The date by which the payment for this invoice is due. \n"
        format: date
        type: string
      invoiceDate:
        description: |
          The new invoice date of the invoice. The new invoice date cannot fall in a closed accounting period.

          You can only specify `invoiceDate` or `dueDate` in one request. Otherwise, an error occurs.
        format: date
        type: string
      transferredToAccounting:
        description: 'Whether the invoice was transferred to an external accounting
          system.

          '
        enum:
        - Processing
        - 'Yes'
        - Error
        - Ignore
        type: string
    type: object
  PutReverseInvoiceResponseType:
    properties:
      creditMemo:
        description: 'Container for the credit memo that is auto-generated when reversing
          invoices.

          '
        properties:
          id:
            description: ID of the credit memo.
            type: string
        type: object
      success:
        description: 'Returns `true` if the request was processed successfully.

          '
        type: boolean
    type: object
  PutReverseInvoiceType:
    example:
      applyEffectiveDate: '2017-02-20'
      memoDate: '2017-02-20'
    properties:
      applyEffectiveDate:
        description: |
          The date when the credit memo was applied to the invoice that will be reversed, in `yyyy-mm-dd` format. The effective date must be later than or equal to the memo date.

          Default value is today's date.
        format: date
        type: string
      memoDate:
        description: |
          The date when the credit memo was created, in `yyyy-mm-dd` format. The memo date must be later than or equal to the invoice date.

          Default value is today's date.
        format: date
        type: string
    type: object
  PutTasksRequest:
    example:
      data:
      - action_type: If
        call_type: SOAP
        concurrent_limit: 9999999
        id: 2771
        name: If
        object: null
        object_id: null
        status: Success
        tags: []
        workflow_id: 476
    properties:
      data:
        description: 'The list of tasks to update.

          '
        items:
          $ref: '#/definitions/UpdateTask'
        maximum: 50
        minimum: 1
        type: array
    type: object
  QueryCustomObjectRecordsResponse:
    properties:
      count:
        description: The record count of the given custom object type
        example: 1
        type: integer
      records:
        example:
        - CreatedById: 58bcc694-0b01-4c38-83d9-679891aee4dc
          CreatedDate: '2017-06-07T17:26:47.501Z'
          Id: f4f3d0a8-9d45-43d6-956c-4820f2de7559
          UpdatedById: 58bcc694-0b01-4c38-83d9-679891aee4dc
          UpdatedDate: '2017-06-07T17:26:47.501Z'
          age__c: 32
          email__c: smith123@example.com
          home_address__c: 59b38ad1-27d4-40e8-af66-8c138bc382ee
          last_name__c: Smith
          marital_status__c: Married
          type: person
          version: 1
          work_address__c: 8a19f16a-2b5e-4a26-bb20-c79cd6984714
        items:
          $ref: '#/definitions/CustomObjectRecordWithAllFields'
        type: array
    required:
    - count
    - records
    type: object
  RatePlan:
    properties:
      AmendmentId:
        description: " The ID of the amendment associated with the rate plan. This\
          \ field only applies to amendment rate plans.\n\n\n**Character limit**:\
          \ 32\n\n**Values**: a valid amendment ID "
        type: string
      AmendmentSubscriptionRatePlanId:
        description: "The ID of the subscription rate plan modified by the amendment.\
          \ This field only applies to amendment rate plans.\n\n**Character limit**:\
          \ 32\n\n**Values**: a valid rate plan ID "
        type: string
      AmendmentType:
        description: "The type of amendment associated with the rate plan. This field\
          \ only applies to amendment rate plans.\n\n**Character limit**: 18\n\n**Values**:\
          \ inherited from `Amendment.Type` "
        type: string
      CreatedById:
        description: "The ID of the Zuora user who created the RatePlan object.\n\n\
          **Character limit**: 32\n\n**Values**: automatically generated "
        type: string
      CreatedDate:
        description: "The date when the `RatePlan` object was last updated.\n\n**Character\
          \ limit**: 29\n\n**Values**: automatically generated "
        format: date-time
        type: string
      Name:
        description: "The name of the rate plan. Leave this null in a subscribe call\
          \ to inherited the `ProductRatePlan.Name` field value.\n\n**Character limit**:\
          \ 100\n\n**Values**: a string of 100 characters or fewer or inherited from\
          \ ProductRatePlan.Name "
        type: string
      ProductRatePlanId:
        description: "The ID of the associated product rate plan.\n\n**Character limit**:\
          \ 32\n\n**Values**: a valid product rate plan ID "
        type: string
      SubscriptionId:
        description: "The ID of the subscription that the rate plan belongs to.\n\n\
          **Character limit**: 32\n\n**Values**: a valid subscription ID "
        type: string
      UpdatedById:
        description: " The ID of the user who last updated the rate plan.\n\n\n**Character\
          \ limit**: 32\n\n**Values**: automatically generated "
        type: string
      UpdatedDate:
        description: " The date when the rate plan was last updated.\n\n\n**Character\
          \ limit**: 29\n\n**Values**: automatically generated "
        format: date-time
        type: string
    required:
    - ProductRatePlanId
    type: object
  RatePlanChargeData:
    properties:
      RatePlanCharge:
        $ref: '#/definitions/RatePlanChargeDataRatePlanCharge'
      RatePlanChargeTier:
        description: ''
        items:
          $ref: '#/definitions/RatePlanChargeTier'
        type: array
    required:
    - RatePlanCharge
    type: object
  RatePlanChargeDataInRatePlanData:
    properties:
      RatePlanCharge:
        description: ''
        properties:
          AccountingCode:
            description: "The accounting code for the charge. Accounting codes group\
              \ transactions that contain similar accounting attributes.\n\n**Character\
              \ limit**: 100\n\n\n**Values**: inherited from `ProductRatePlanCharge.AccountingCode` "
            type: string
          ApplyDiscountTo:
            description: " Specifies the type of charges a specific discount applies\
              \ to.\n\n**Character limit**: 21\n\n\n**Values**: inherited from `ProductRatePlanCharge.ApplyDiscountTo` "
            type: string
          BillCycleDay:
            description: " Indicates the charge's billing cycle day (BCD), which is\
              \ when bill runs generate invoices for charges associated with the product\
              \ rate plan charge or the account.\n\n\n**Character limit**: 2\n\n\n\
              **Values**: inherited from `ProductRatePlanCharge.BillCycleDay` "
            format: int32
            type: integer
          BillCycleType:
            description: " Specifies how to determine the billing day for the charge.\n\
              \n\n**Character limit**: 20\n\n\n**Values**: inherited from `ProductRatePlanCharge.BillCycleType`\
              \ **Note:** You can override the value inherited from the Product Rate\
              \ Plan Charge, but only when creating a new subscription or a New Product\
              \ amendment. "
            type: string
          BillingPeriod:
            description: " Allows billing period to be overridden on rate plan charge.\n\
              \n\n\n**Values**: inherited from `ProductRatePlanCharge.BillingPeriod`\
              \ **Note:** You can override the value inherited from the Product Rate\
              \ Plan Charge, but only when creating a new subscription or a New Product\
              \ amendment. "
            type: string
          BillingPeriodAlignment:
            description: " Aligns charges within the same subscription if multiple\
              \ charges begin on different dates.\n\n\n**Character limit**: 24\n\n\
              \n**Values**: inherited from `ProductRatePlanCharge.BillingPeriodAlignment` "
            type: string
          BillingTiming:
            description: |2+
               The billing timing for the charge. You can choose to bill in advance or in arrears for recurring charge types. This field is not used in one-time or usage based charge types.


              **Character limit**:


              **Values**: one of the following:

              - `In Advance`
              - `In Arrears`
              **Note:** You can override the value inherited from the Product Rate Plan Charge when a subscription has a recurring charge type.
              This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

            type: string
          ChargeModel:
            description: " Determines how to evaluate charges. Charge models must\
              \ be individually activated in the web-based UI.\n\n\n**Character limit**:\
              \ 29\n\n\n**Values**: inherited from `ProductRatePlanCharge.ChargeModel` "
            type: string
          ChargeNumber:
            description: |2
               A unique number that identifies the charge. This number is returned as a string.


              **Character limit**: 50


              **Values**: one of the following:

              - automatically generated if left null
              - a unique number of 50 characters or fewer
            type: string
          ChargeType:
            description: " Specifies the type of charge.\n\n\n**Character limit**:\
              \ 9\n\n\n**Values**: inherited from `ProductRatePlanCharge.ChargeType` "
            type: string
          ChargedThroughDate:
            description: " The date through which a customer has been billed for the\
              \ charge.\n\n\n**Character limit**: 29\n\n\n**Values**: automatically\
              \ generated "
            format: date
            type: string
          CreatedById:
            description: "The ID of the Zuora user who created the `RatePlanCharge`\
              \ object.\n\n**Character limit**: 32\n\n\n**Values**: automatically\
              \ generated "
            type: string
          CreatedDate:
            description: " The date when the `RatePlanCharge` object was created.\n\
              \n\n**Character limit**: 29\n\n\n**Values**: automatically generated "
            format: date-time
            type: string
          DMRC:
            description: "A delta monthly recurring charge is the change in monthly\
              \ recurring revenue caused by an amendment or a new subscription.\n\n\
              **Character limit**: 16\n\n\n**Values**: automatically generated "
            format: double
            type: number
          DTCV:
            description: " After an Amendment, the change in the total contract value\
              \ (TCV) amount for this charge, compared with its previous value.\n\n\
              \n**Character limit**: 16\n\n\n**Values**: automatically generated "
            format: double
            type: number
          Description:
            description: " A description of the charge.\n\n\n**Character limit**:\
              \ 500\n\n\n**Values**: inherited from `ProductRatePlanCharge.Description` "
            type: string
          DiscountAmount:
            description: " Specifies the amount of a fixed-amount discount. You can\
              \ provide a value for this field if the `ChargeModel` field value is\
              \ `Discount-Fixed Amount`. If this field is included in a query, the\
              \ query will filter out the rate plans whose `ChargeModel` field is\
              \ not of a Discount type. You cannot query this field with the following\
              \ fields in a single query:\n\n- Price\n- IncludedUnits\n- DiscountPercentage\n\
              - OveragePrice\n\n\n**Character limit**: 16\n\n\n**Values**: a valid\
              \ currency amount "
            format: double
            type: number
          DiscountLevel:
            description: "Specifies if the discount applies to just the product rate\
              \ plan, the entire subscription, or to any activity in the account.\
              \ This field is only required if the `ChargeModel` field is set to `DiscountFixedAmount`\
              \ or `DiscountPercentage`.\n\n**Character limit**: 12\n\n\n**Values**:\
              \ inherited from `ProductRatePlanCharge.DiscountLevel` "
            type: string
          DiscountPercentage:
            description: ' Query Filter '
            format: double
            type: number
          EffectiveEndDate:
            description: " The date when the segmented charge ends or ended.\n\n\n\
              **Character limit**: 16\n\n\n**Values**: automatically generated "
            format: date
            type: string
          EffectiveStartDate:
            description: " The date when the segmented charge starts or started.\n\
              \n\n**Character limit**: 16\n\n\n**Values**: automatically generated "
            format: date
            type: string
          EndDateCondition:
            description: " Defines when the charge ends after the charge trigger date.\
              \ This field can be updated when **Status** is `Draft`.\n\n\n\n**Values**:\
              \ one of the following:\n\n- `SubscriptionEnd`: The charge ends on the\
              \ subscription end date after the charge trigger date. This is the default\
              \ value.\n- `FixedPeriod`: The charge ends after a specified period\
              \ based on the trigger date of the charge. If you set this field to\
              \ `FixedPeriod`, you must specify the length of the period and a period\
              \ type by defining the `UpToPeriods` and `UpToPeriodsType` fields.\n\
              - `SpecificEndDate`: The specific date on which the charge ends. If\
              \ you set this field to `SpecificEndDate`, you must specify the specific\
              \ date by defining the `SpecificEndDate` field.\n\n\n\n**Note**: If\
              \ the subscription ends before the charge end date, the charge ends\
              \ when the subscription ends. But if the subscription end date is subsequently\
              \ changed through a Renewal, or Terms and Conditions amendment, the\
              \ charge will end on the charge end date. "
            type: string
          IncludedUnits:
            description: ' Query Filter '
            format: double
            type: number
          IsLastSegment:
            description: "Indicates if the segment of the rate plan charge is the\
              \ most recent segment.\n\n**Character limit**: 5\n\n\n**Values**: automatically\
              \ generated: `true`, `false` "
            type: boolean
          ListPriceBase:
            description: |
              The list price base for the product rate plan charge.

              You can only change the value of this field if the amendment type is NewProduct.

              **Values**: one of the following:

              - `Per Month`
              - `Per Billing Period`
              - `Per Week`
            type: string
          MRR:
            description: "Monthly recurring revenue (MRR) is the amount of recurring\
              \ charges in a given month. The MRR calculation doesn't include one-time\
              \ charges nor usage charges.\n\n**Character limit**: 16\n\n\n**Values**:\
              \ automatically generated "
            format: double
            type: number
          Name:
            description: "The name of the rate plan charge.\n\n**Character limit**:\
              \ 100\n\n\n**Values**: automatically generated "
            type: string
          NumberOfPeriods:
            description: "Specifies the number of periods to use when calculating\
              \ charges in an overage smoothing charge model.\n\n**Character limit**:\
              \ 5\n\n\n**Values**: inherited from `ProductRatePlanCharge.NumberOfPeriod` "
            format: int64
            type: integer
          OriginalId:
            description: "The original ID of the rate plan charge.\n\n**Character\
              \ limit**: 32\n\n\n**Values**: automatically generated "
            type: string
          OverageCalculationOption:
            description: "Determines when to calculate overage charges. If the value\
              \ of the SmoothingMode field is null (not specified and not inherited\
              \ from ProductRatePlanCharge.SmoothingMode), the value of this field\
              \ is ignored.\n\n**Character limit**: 20\n\n\n**Values**: inherited\
              \ from `ProductRatePlanCharge.OverageCalculationOption` "
            type: string
          OveragePrice:
            description: ' Query Filter '
            format: double
            type: number
          OverageUnusedUnitsCreditOption:
            description: " Determines whether to credit the customer with unused units\
              \ of usage.\n\n\n**Character limit**: 20\n\n\n**Values**: inherited\
              \ from `ProductRatePlanCharge.OverageUnusedUnitsCreditOption` "
            type: string
          Price:
            description: ' Query Filter '
            format: double
            type: number
          PriceChangeOption:
            description: |2
               Applies an automatic price change when a termed subscription is renewed.


              **Character limit**:


              **Values**: one of the following:

              - `NoChange` (default)
              - `SpecificPercentageValue`
              - `UseLatestProductCatalogPricing`
            type: string
          PriceIncreasePercentage:
            description: " Specifies the percentage to increase or decrease the price\
              \ of renewed subscriptions. Use this field if the `ProductRatePlanCharge`.`PriceChangeOption`\
              \ value is set to `SpecificPercentageValue`.\n\n\n**Character limit**:\
              \ 16\n\n\n**Values**: a decimal value between -100 and 100 "
            format: double
            type: number
          ProcessedThroughDate:
            description: " The date until when charges have been processed. When billing\
              \ in arrears, such as usage, this field value is the the same as the\
              \ `ChargedThroughDate` value. This date is the earliest date when a\
              \ charge can be amended.\n\n\n**Character limit**: 29\n\n\n**Values**:\
              \ automatically generated "
            format: date
            type: string
          ProductRatePlanChargeId:
            description: " The ID of the product rate plan charge associated with\
              \ the subscription rate plan charge,\n\n**Character limit**: 32\n\n\n\
              **Values**: inherited from `ProductRatePlanCharge.Id` "
            type: string
          Quantity:
            description: " The default quantity of units, such as the number of authors\
              \ in a hosted wiki service. Valid for all charge models except for Flat\
              \ Fee pricing. This field is only rquired if the charge model is tiered\
              \ pricing or volume pricing.\n\n\n\n**Character limit**: 16\n\n\n**Values**:\
              \ a valid quantity value "
            format: double
            type: number
          RatePlanId:
            description: " The ID of the rate plan associated with the rate plan charge.\n\
              \n\n**Character limit**: 32\n\n\n**Values**: inherited from `RatePlan.Id` "
            type: string
          RevRecCode:
            description: " Associates this product rate plan charge with a specific\
              \ revenue recognition code.\n\n\n**Character limit**: 70\n\n\n**Values**:\
              \ a valid revenue recognition code "
            type: string
          RevRecTriggerCondition:
            description: |2+
               Specifies when revenue recognition begins.


              **Character limit**: 22


              **Values**: one of the following:

              -  `ContractEffectiveDate`

              -  `ServiceActivationDate`

              -  `CustomerAcceptanceDate`

            type: string
          RevenueRecognitionRuleName:
            description: " Specifies the Revenue Recognition Rule that you want the\
              \ Rate Plan Charge to use. This field can be updated when **Status**\
              \ is `Draft`. By default, the Revenue Recognition Rule is inherited\
              \ from the Product Rate Plan Charge. For Amend\ncalls, you can use this\
              \ field only for NewProduct amendments. For Update\ncalls, you can use\
              \ this field only to update subscriptions in draft status. Note that\
              \ if you use this field to specify a Revenue Recognition Rule for the\
              \ Rate Plan Charge, the rule will remain as specified even if you later\
              \ change the rule used by the corresponding Product Rate Plan Charge.\
              \ See [Z-Billing User Role](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/d_Billing_Roles)\
              \ permission enabled to use this field.\n\n\n\n**Character limit**:\
              \ n/a\n\n\n**Values**: name of an active Revenue Recognition Rule "
            type: string
          RolloverBalance:
            description: |2
               Specifies the number of units of measure (UOM) rolled over from previous periods. This field is applicable only to usage charges with overage models.


              **Character limit**: 16


              **Values**: automatically generated

              **Note**:

              - You cannot query or filter this field with other fields in a single query.
              - To query or filter this field, you must specify and only specify the rate plan charge Id in the condition.
              - You cannot use this field in the query or filter condition.
            format: double
            type: number
          Segment:
            description: " The identifying number of the subscription rate plan segment.\
              \ Segments are numbered sequentially, starting with 1.\n\n\n**Character\
              \ limit**: 2\n\n\n**Values**: automatically generated "
            format: int32
            type: integer
          SpecificBillingPeriod:
            description: " Customizes the number of months or weeks for the charges\
              \ billing period. This field is only required if you set the value of\
              \ the `BillingPeriod` field to `Specific Months` or `Specific Weeks`.\n\
              \n\n**Character limit**: 5\n\n\n**Values**: inherited from `ProductRatePlanCharge.BillingPeriod`\
              \ **Note:** You can override the value inherited from the Product Rate\
              \ Plan Charge, but only when creating a new subscription or a New Product\
              \ amendment. "
            format: int64
            type: integer
          SpecificEndDate:
            description: |2
               The specific date on which the charge ends, in `yyyy-mm-dd` format.


              **Character limit**: 29



              **Note**:

              - This field is only applicable when the `EndDateCondition` field is set to `SpecificEndDate`.
              - If the subscription ends before the specific end date, the charge ends when the subscription ends. But if the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge will end on the specific end date.
            format: date
            type: string
          TCV:
            description: " The total contract value (TCV) is the value of a single\
              \ rate plan charge in a subscription over the lifetime of the subscription.\
              \ This value does not represent all charges on the subscription. The\
              \ TCV includes recurring charges and one-time charges, but it doesn't\
              \ include usage charge.\n\n\n**Character limit**: 16\n\n\n**Values**:\
              \ automatically generated "
            format: double
            type: number
          TriggerDate:
            description: |2+
               The date when the charge becomes effective and billing begins, in `yyyy-mm-dd` format. This field is only required if the `TriggerEvent` field is set to `SpecificDate`.


              **Character limit**: 29

            format: date
            type: string
          TriggerEvent:
            description: |2
               Specifies when to start billing the customer for the charge.
              **Note: **This field can be passed through the subscribe
              and amend
              calls and will override the default value set on the Product Rate Plan Charge.


              **Character limit**: 18


              **Values**: inherited from `ProductRatePlanCharge.TriggerEvent` and can be one of the following values:

              - `ContractEffective `is the date when the subscription's contract goes into effect and the charge is ready to be billed.
              - `ServiceActivationDate `is when the services or products for a subscription have been activated and the customers have access.
              - `CustomerAcceptance `is when the customer accepts the services or products for a subscription.
              - SpecificDate is valid only on the RatePlanCharge.
            type: string
          UOM:
            description: " Specifies the units to measure usage. Units of measure\
              \ are configured in the web-based UI: **Z-Billing > Settings**.\n\n\n\
              **Character limit**: 25\n\n\n**Values**: inherited from `ProductRatePlanCharge.UOM` "
            type: string
          UnusedUnitsCreditRates:
            description: " Specifies the rate to credit a customer for unused units\
              \ of usage. This field is applicable only for overage charge models\
              \ when the `OverageUnusedUnitsCreditOption` field value is CreditBySpecificRate.\n\
              \n\n**Character limit**: 16\n\n\n**Values**: a valid decimal value "
            format: double
            type: number
          UpToPeriods:
            description: |2
               Specifies the length of the period during which the charge is active. If this period ends before the subscription ends, the charge ends when this period ends.


              **Character limit**: 5


              **Values**: inherited from `ProductRatePlanCharge.UpToPeriods`

              **Note**:

              - You must use this field together with the `UpToPeriodsType` field to specify the time period. This field is only applicable only when the `EndDateCondition` field is set to `FixedPeriod`.
              - You can override the value inherited from the Product Rate Plan Charge, but only when creating a new subscription or a New Product amendment.
              - Use this field to override the value in `ProductRatePlanCharge.UpToPeriod`.
              - If you override the value in this field, enter a whole number between 0 and 65535, exclusive.
              - If the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge end date will change accordingly up to the original period end.
            format: int64
            type: integer
          UpToPeriodsType:
            description: |2
               The period type used to define when the charge ends. This field can be updated when **Status** is `Draft`.


              **Values**: one of the following:

              - `Billing Periods` (default)
              - `Days`
              - `Weeks`
              - `Months`
              - `Years`


              **Note**:

              - You must use this field together with the `UpToPeriods` field to specify the time period.
              - This field is only applicable only when the `EndDateCondition` field is set to `FixedPeriod`.
            type: string
          UpdatedById:
            description: "The ID of the last user to update the object.\n\n**Character\
              \ limit**: 32\n\n\n**Values**: automatically generated "
            type: string
          UpdatedDate:
            description: " The date when the object was last updated.\n\n\n**Character\
              \ limit**: 29\n\n\n**Values**: automatically generated "
            format: date-time
            type: string
          UsageRecordRatingOption:
            description: " Determines how Zuora processes usage records for per-unit\
              \ usage charges.\n\n**Character limit**: 18\n\n\n**Values**: automatically\
              \ generated "
            type: string
          UseDiscountSpecificAccountingCode:
            description: " Determines whether to define a new accounting code for\
              \ the new discount charge.\n\n\n**Character limit**: 5\n\n\n**Values**:\
              \ inherited from `ProductRatePlanCharge.UseDiscountSpecificAccountingCode` "
            type: boolean
          Version:
            description: " The version of the rate plan charge. Each time a charge\
              \ is amended, Zuora creates a new version of the rate plan charge.\n\
              \n**Character limit**: 5\n\n\n**Values**: automatically generated "
            format: int64
            type: integer
          WeeklyBillCycleDay:
            description: |2
               Specifies which day of the week as the bill cycle day (BCD) for the charge.
              This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).




              **Values**: one of the following:

              - `Sunday`
              - `Monday`
              - `Tuesday`
              - `Wednesday`
              - `Thursday`
              - `Friday`
              - `Saturday`
            type: string
        required:
        - ProductRatePlanChargeId
        type: object
      RatePlanChargeTier:
        description: ''
        items:
          $ref: '#/definitions/RatePlanChargeTier'
        type: array
    required:
    - RatePlanCharge
    title: RatePlanChargeData
    type: object
  RatePlanChargeDataRatePlanCharge:
    allOf:
    - properties:
        AccountingCode:
          description: "The accounting code for the charge. Accounting codes group\
            \ transactions that contain similar accounting attributes.\n\n**Character\
            \ limit**: 100\n\n\n**Values**: inherited from `ProductRatePlanCharge.AccountingCode` "
          type: string
        ApplyDiscountTo:
          description: " Specifies the type of charges a specific discount applies\
            \ to.\n\n**Character limit**: 21\n\n\n**Values**: inherited from `ProductRatePlanCharge.ApplyDiscountTo` "
          type: string
        BillCycleDay:
          description: " Indicates the charge's billing cycle day (BCD), which is\
            \ when bill runs generate invoices for charges associated with the product\
            \ rate plan charge or the account.\n\n\n**Character limit**: 2\n\n\n**Values**:\
            \ inherited from `ProductRatePlanCharge.BillCycleDay` "
          format: int32
          type: integer
        BillCycleType:
          description: " Specifies how to determine the billing day for the charge.\n\
            \n\n**Character limit**: 20\n\n\n**Values**: inherited from `ProductRatePlanCharge.BillCycleType`\
            \ **Note:** You can override the value inherited from the Product Rate\
            \ Plan Charge, but only when creating a new subscription or a New Product\
            \ amendment. "
          type: string
        BillingPeriod:
          description: " Allows billing period to be overridden on rate plan charge.\n\
            \n\n\n**Values**: inherited from `ProductRatePlanCharge.BillingPeriod`\
            \ **Note:** You can override the value inherited from the Product Rate\
            \ Plan Charge, but only when creating a new subscription or a New Product\
            \ amendment. "
          type: string
        BillingPeriodAlignment:
          description: " Aligns charges within the same subscription if multiple charges\
            \ begin on different dates.\n\n\n**Character limit**: 24\n\n\n**Values**:\
            \ inherited from `ProductRatePlanCharge.BillingPeriodAlignment` "
          type: string
        BillingTiming:
          description: |2+
             The billing timing for the charge. You can choose to bill in advance or in arrears for recurring charge types. This field is not used in one-time or usage based charge types.


            **Character limit**:


            **Values**: one of the following:

            - I`n Advance`
            - `In Arrears`
            **Note:** You can override the value inherited from the Product Rate Plan Charge when a subscription has a recurring charge type.
            This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).

          type: string
        ChargeModel:
          description: " Determines how to evaluate charges. Charge models must be\
            \ individually activated in the web-based UI.\n\n\n**Character limit**:\
            \ 29\n\n\n**Values**: inherited from `ProductRatePlanCharge.ChargeModel` "
          type: string
        ChargeNumber:
          description: |2
             A unique number that identifies the charge. This number is returned as a string.


            **Character limit**: 50


            **Values**: one of the following:

            - automatically generated if left null
            - a unique number of 50 characters or fewer
          type: string
        ChargeType:
          description: " Specifies the type of charge.\n\n\n**Character limit**: 9\n\
            \n\n**Values**: inherited from `ProductRatePlanCharge.ChargeType` "
          type: string
        ChargedThroughDate:
          description: " The date through which a customer has been billed for the\
            \ charge.\n\n\n**Character limit**: 29\n\n\n**Values**: automatically\
            \ generated "
          format: date
          type: string
        CreatedById:
          description: "The ID of the Zuora user who created the `RatePlanCharge`\
            \ object.\n\n**Character limit**: 32\n\n\n**Values**: automatically generated "
          type: string
        CreatedDate:
          description: " The date when the `RatePlanCharge` object was created.\n\n\
            \n**Character limit**: 29\n\n\n**Values**: automatically generated "
          format: date-time
          type: string
        DMRC:
          description: "A delta monthly recurring charge is the change in monthly\
            \ recurring revenue caused by an amendment or a new subscription.\n\n\
            **Character limit**: 16\n\n\n**Values**: automatically generated "
          format: double
          type: number
        DTCV:
          description: " After an Amendment, the change in the total contract value\
            \ (TCV) amount for this charge, compared with its previous value.\n\n\n\
            **Character limit**: 16\n\n\n**Values**: automatically generated "
          format: double
          type: number
        Description:
          description: " A description of the charge.\n\n\n**Character limit**: 500\n\
            \n\n**Values**: inherited from `ProductRatePlanCharge.Description` "
          type: string
        DiscountAmount:
          description: " Specifies the amount of a fixed-amount discount. You can\
            \ provide a value for this field if the `ChargeModel` field value is `Discount-Fixed\
            \ Amount`. If this field is included in a query, the query will filter\
            \ out the rate plans whose `ChargeModel` field is not of a Discount type.\
            \ You cannot query this field with the following fields in a single query:\n\
            \n- Price\n- IncludedUnits\n- DiscountPercentage\n- OveragePrice\n\n\n\
            **Character limit**: 16\n\n\n**Values**: a valid currency amount "
          format: double
          type: number
        DiscountLevel:
          description: "Specifies if the discount applies to just the product rate\
            \ plan, the entire subscription, or to any activity in the account. This\
            \ field is only required if the `ChargeModel` field is set to `DiscountFixedAmount`\
            \ or `DiscountPercentage`.\n\n**Character limit**: 12\n\n\n**Values**:\
            \ inherited from `ProductRatePlanCharge.DiscountLevel` "
          type: string
        DiscountPercentage:
          description: ' Query Filter '
          format: double
          type: number
        EffectiveEndDate:
          description: " The date when the segmented charge ends or ended.\n\n\n**Character\
            \ limit**: 16\n\n\n**Values**: automatically generated "
          format: date
          type: string
        EffectiveStartDate:
          description: " The date when the segmented charge starts or started.\n\n\
            \n**Character limit**: 16\n\n\n**Values**: automatically generated "
          format: date
          type: string
        EndDateCondition:
          description: " Defines when the charge ends after the charge trigger date.\
            \ This field can be updated when **Status** is `Draft`.\n\n\n\n**Values**:\
            \ one of the following:\n\n- `SubscriptionEnd`: The charge ends on the\
            \ subscription end date after the charge trigger date. This is the default\
            \ value.\n- `FixedPeriod`: The charge ends after a specified period based\
            \ on the trigger date of the charge. If you set this field to `FixedPeriod`,\
            \ you must specify the length of the period and a period type by defining\
            \ the `UpToPeriods` and `UpToPeriodsType` fields.\n- `SpecificEndDate`:\
            \ The specific date on which the charge ends. If you set this field to\
            \ `SpecificEndDate`, you must specify the specific date by defining the\
            \ `SpecificEndDate` field.\n\n\n\n**Note**: If the subscription ends before\
            \ the charge end date, the charge ends when the subscription ends. But\
            \ if the subscription end date is subsequently changed through a Renewal,\
            \ or Terms and Conditions amendment, the charge will end on the charge\
            \ end date. "
          type: string
        IncludedUnits:
          description: ' Query Filter '
          format: double
          type: number
        IsLastSegment:
          description: "Indicates if the segment of the rate plan charge is the most\
            \ recent segment.\n\n**Character limit**: 5\n\n\n**Values**: automatically\
            \ generated: `true`, `false` "
          type: boolean
        ListPriceBase:
          description: |
            The list price base for the product rate plan charge.


            **Values**: one of the following:

            - `Per Month`
            - `Per Billing Period`
            - `Per Week`
          type: string
        MRR:
          description: "Monthly recurring revenue (MRR) is the amount of recurring\
            \ charges in a given month. The MRR calculation doesn't include one-time\
            \ charges nor usage charges.\n\n**Character limit**: 16\n\n\n**Values**:\
            \ automatically generated "
          format: double
          type: number
        Name:
          description: "The name of the rate plan charge.\n\n**Character limit**:\
            \ 100\n\n\n**Values**: automatically generated "
          type: string
        NumberOfPeriods:
          description: "Specifies the number of periods to use when calculating charges\
            \ in an overage smoothing charge model.\n\n**Character limit**: 5\n\n\n\
            **Values**: inherited from `ProductRatePlanCharge.NumberOfPeriod` "
          format: int64
          type: integer
        OriginalId:
          description: "The original ID of the rate plan charge.\n\n**Character limit**:\
            \ 32\n\n\n**Values**: automatically generated "
          type: string
        OverageCalculationOption:
          description: "Determines when to calculate overage charges. If the value\
            \ of the SmoothingMode field is null (not specified and not inherited\
            \ from ProductRatePlanCharge.SmoothingMode), the value of this field is\
            \ ignored.\n\n**Character limit**: 20\n\n\n**Values**: inherited from\
            \ `ProductRatePlanCharge.OverageCalculationOption` "
          type: string
        OveragePrice:
          description: ' Query Filter '
          format: double
          type: number
        OverageUnusedUnitsCreditOption:
          description: " Determines whether to credit the customer with unused units\
            \ of usage.\n\n\n**Character limit**: 20\n\n\n**Values**: inherited from\
            \ `ProductRatePlanCharge.OverageUnusedUnitsCreditOption` "
          type: string
        Price:
          description: ' Query Filter '
          format: double
          type: number
        PriceChangeOption:
          description: |2
             Applies an automatic price change when a termed subscription is renewed.


            **Character limit**:


            **Values**: one of the following:

            - `NoChange` (default)
            - `SpecificPercentageValue`
            - `UseLatestProductCatalogPricing`
          type: string
        PriceIncreasePercentage:
          description: " Specifies the percentage to increase or decrease the price\
            \ of renewed subscriptions. Use this field if the `ProductRatePlanCharge`.`PriceChangeOption`\
            \ value is set to `SpecificPercentageValue`.\n\n\n**Character limit**:\
            \ 16\n\n\n**Values**: a decimal value between -100 and 100 "
          format: double
          type: number
        ProcessedThroughDate:
          description: " The date until when charges have been processed. When billing\
            \ in arrears, such as usage, this field value is the the same as the `ChargedThroughDate`\
            \ value. This date is the earliest date when a charge can be amended.\n\
            \n\n**Character limit**: 29\n\n\n**Values**: automatically generated "
          format: date
          type: string
        ProductRatePlanChargeId:
          description: " The ID of the product rate plan charge associated with the\
            \ subscription rate plan charge,\n\n**Character limit**: 32\n\n\n**Values**:\
            \ inherited from `ProductRatePlanCharge.Id` "
          type: string
        Quantity:
          description: " The default quantity of units, such as the number of authors\
            \ in a hosted wiki service. Valid for all charge models except for Flat\
            \ Fee pricing. This field is only rquired if the charge model is tiered\
            \ pricing or volume pricing.\n\n\n**Character limit**: 16\n\n\n**Values**:\
            \ a valid quantity value "
          format: double
          type: number
        RatePlanId:
          description: " The ID of the rate plan associated with the rate plan charge.\n\
            \n\n**Character limit**: 32\n\n\n**Values**: inherited from `RatePlan.Id` "
          type: string
        RevRecCode:
          description: " Associates this product rate plan charge with a specific\
            \ revenue recognition code.\n\n\n**Character limit**: 70\n\n\n**Values**:\
            \ a valid revenue recognition code "
          type: string
        RevRecTriggerCondition:
          description: |2+
             Specifies when revenue recognition begins.


            **Character limit**: 22


            **Values**: one of the following:

            -  `ContractEffectiveDate`

            -  `ServiceActivationDate`

            -  `CustomerAcceptanceDate`

          type: string
        RevenueRecognitionRuleName:
          description: " Specifies the Revenue Recognition Rule that you want the\
            \ Rate Plan Charge to use. This field can be updated when **Status** is\
            \ `Draft`. By default, the Revenue Recognition Rule is inherited from\
            \ the Product Rate Plan Charge. For Amend\ncalls, you can use this field\
            \ only for NewProduct amendments. For Update\ncalls, you can use this\
            \ field only to update subscriptions in draft status. Note that if you\
            \ use this field to specify a Revenue Recognition Rule for the Rate Plan\
            \ Charge, the rule will remain as specified even if you later change the\
            \ rule used by the corresponding Product Rate Plan Charge. See [Z-Billing\
            \ User Role](https://knowledgecenter.zuora.com/CF_Users_and_Administrators/A_Administrator_Settings/User_Roles/d_Billing_Roles)\
            \ permission enabled to use this field.\n\n\n\n**Character limit**: n/a\n\
            \n\n**Values**: name of an active Revenue Recognition Rule "
          type: string
        RolloverBalance:
          description: |2
             Specifies the number of units of measure (UOM) rolled over from previous periods. This field is applicable only to usage charges with overage models.


            **Character limit**: 16


            **Values**: automatically generated

            **Note**:

            - You cannot query or filter this field with other fields in a single query.
            - To query or filter this field, you must specify and only specify the rate plan charge Id in the condition.
            - You cannot use this field in the query or filter condition.
          format: double
          type: number
        Segment:
          description: " The identifying number of the subscription rate plan segment.\
            \ Segments are numbered sequentially, starting with 1.\n\n\n**Character\
            \ limit**: 2\n\n\n**Values**: automatically generated "
          format: int32
          type: integer
        SpecificBillingPeriod:
          description: " Customizes the number of months or weeks for the charges\
            \ billing period. This field is only required if you set the value of\
            \ the `BillingPeriod` field to `Specific Months` or `Specific Weeks`.\n\
            \n**Character limit**: 5\n\n\n**Values**: inherited from `ProductRatePlanCharge.BillingPeriod`\
            \ **Note:** You can override the value inherited from the Product Rate\
            \ Plan Charge, but only when creating a new subscription or a New Product\
            \ amendment. "
          format: int64
          type: integer
        SpecificEndDate:
          description: |2
             The specific date on which the charge ends, in `yyyy-mm-dd` format.


            **Character limit**: 29



            **Note**:

            - This field is only applicable when the `EndDateCondition` field is set to `SpecificEndDate`.
            - If the subscription ends before the specific end date, the charge ends when the subscription ends. But if the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge will end on the specific end date.
          format: date
          type: string
        TCV:
          description: " The total contract value (TCV) is the value of a single rate\
            \ plan charge in a subscription over the lifetime of the subscription.\
            \ This value does not represent all charges on the subscription. The TCV\
            \ includes recurring charges and one-time charges, but it doesn't include\
            \ usage charge.\n\n\n**Character limit**: 16\n\n\n**Values**: automatically\
            \ generated "
          format: double
          type: number
        TriggerDate:
          description: |2+
             The date when the charge becomes effective and billing begins, in `yyyy-mm-dd` format. This field is only required if the `TriggerEvent` field is set to `SpecificDate`.


            **Character limit**: 29

          format: date
          type: string
        TriggerEvent:
          description: |2
             Specifies when to start billing the customer for the charge.
            **Note: **This field can be passed through the subscribe
            and amend
            calls and will override the default value set on the Product Rate Plan Charge.


            **Character limit**: 18


            **Values**: inherited from `ProductRatePlanCharge.TriggerEvent` and can be one of the following values:

            - `ContractEffective`is the date when the subscription's contract goes into effect and the charge is ready to be billed.
            - `ServiceActivationDate`is when the services or products for a subscription have been activated and the customers have access.
            - `CustomerAcceptance`is when the customer accepts the services or products for a subscription.
            - `SpecificDate` is valid only on the RatePlanCharge.
          type: string
        UOM:
          description: " Specifies the units to measure usage. Units of measure are\
            \ configured in the web-based UI: **Z-Billing > Settings**.\n\n\n**Character\
            \ limit**: 25\n\n\n**Values**: inherited from `ProductRatePlanCharge.UOM` "
          type: string
        UnusedUnitsCreditRates:
          description: " Specifies the rate to credit a customer for unused units\
            \ of usage. This field is applicable only for overage charge models when\
            \ the `OverageUnusedUnitsCreditOption` field value is CreditBySpecificRate.\n\
            \n\n**Character limit**: 16\n\n\n**Values**: a valid decimal value "
          format: double
          type: number
        UpToPeriods:
          description: |2
             Specifies the length of the period during which the charge is active. If this period ends before the subscription ends, the charge ends when this period ends.


            **Character limit**: 5


            **Values**: inherited from `ProductRatePlanCharge.UpToPeriods`

            **Note**:

            - You must use this field together with the `UpToPeriodsType` field to specify the time period. This field is only applicable only when the `EndDateCondition` field is set to `FixedPeriod`.
            - You can override the value inherited from the Product Rate Plan Charge, but only when creating a new subscription or a New Product amendment.
            - Use this field to override the value in `ProductRatePlanCharge.UpToPeriod`.
            - If you override the value in this field, enter a whole number between 0 and 65535, exclusive.
            - If the subscription end date is subsequently changed through a Renewal, or Terms and Conditions amendment, the charge end date will change accordingly up to the original period end.
          format: int64
          type: integer
        UpToPeriodsType:
          description: |2
             The period type used to define when the charge ends. This field can be updated when **Status** is `Draft`.


            **Values**: one of the following:

            - `Billing Periods` (default)
            - `Days`
            - `Weeks`
            - `Months`
            - `Years`


            **Note**:

            - You must use this field together with the `UpToPeriods` field to specify the time period.
            - This field is only applicable only when the `EndDateCondition` field is set to `FixedPeriod`.
          type: string
        UpdatedById:
          description: "The ID of the last user to update the object.\n\n**Character\
            \ limit**: 32\n\n\n**Values**: automatically generated "
          type: string
        UpdatedDate:
          description: " The date when the object was last updated.\n\n\n**Character\
            \ limit**: 29\n\n\n**Values**: automatically generated "
          format: date-time
          type: string
        UsageRecordRatingOption:
          description: " Determines how Zuora processes usage records for per-unit\
            \ usage charges.\n\n**Character limit**: 18\n\n\n**Values**: automatically\
            \ generated "
          type: string
        UseDiscountSpecificAccountingCode:
          description: " Determines whether to define a new accounting code for the\
            \ new discount charge.\n\n\n**Character limit**: 5\n\n\n**Values**: inherited\
            \ from `ProductRatePlanCharge.UseDiscountSpecificAccountingCode` "
          type: boolean
        Version:
          description: " The version of the rate plan charge. Each time a charge is\
            \ amended, Zuora creates a new version of the rate plan charge.\n\n**Character\
            \ limit**: 5\n\n\n**Values**: automatically generated "
          format: int64
          type: integer
        WeeklyBillCycleDay:
          description: |2
             Specifies which day of the week as the bill cycle day (BCD) for the charge.
            This feature is in **Limited Availability**. If you wish to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).




            **Values**: one of the following:

            - `Sunday`
            - `Monday`
            - `Tuesday`
            - `Wednesday`
            - `Thursday`
            - `Friday`
            - `Saturday`
          type: string
      required:
      - ProductRatePlanChargeId
      type: object
    - $ref: '#/definitions/RatePlanChargeObjectCustomFields'
    description: ''
    title: RatePlanCharge
  RatePlanChargeObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Rate Plan Charge object. The name of each
        custom field has the form <code>*customField*__c</code>. Custom field names
        are case sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Rate Plan Charge object.

      '
    title: ratePlanChargeFieldsCustom
    type: object
  RatePlanChargeTier:
    properties:
      CreatedById:
        description: "The ID of the Zuora user who created the RatePlanChargeTier\
          \ object.\n\n**Character limit**: 32\n\n\n**Values**: automatically generated "
        type: string
      CreatedDate:
        description: " The date when the RatePlanChargeTier object was created.\n\n\
          \n**Character limit**: 29\n\n\n**Values**: automatically generated "
        format: date-time
        type: string
      EndingUnit:
        description: " The end number of a range of units for the tier. This field\
          \ is only required if the charge mode is `Tiered Pricing` or `Tierred with\
          \ Overage Pricing`.\n\n\n**Character limit**: 16\n\n\n**Values**: any positive\
          \ decimal value "
        format: double
        type: number
      IsOveragePrice:
        description: " Indicates if the price is an overage price. An overage occurs\
          \ when usage surpasses the last defined tier. This field is applicable only\
          \ to tier pricing and volume pricing models.\n\n\n\n**Values**: true, false "
        type: boolean
      Price:
        description: " The price of the tier if the charge is a flat fee, or the price\
          \ of each unit in the tier if the change model is tiered pricing.\n\n\n\
          **Character limit**: 16\n\n\n**Values**: any positive decimal value "
        format: double
        type: number
      PriceFormat:
        description: " Indicates if the price is a flat fee or is per unit.\n\n\n\
          **Character limit**: 8\n\n\n**Values**: `FlatFee`, `PerUnit` "
        enum:
        - FlatFee
        - PerUnit
        type: string
      RatePlanChargeId:
        description: " The ID of the subscription or amendment rate plan charge associated\
          \ with this tier. You can't create an unassociated tier.\n\n\n**Character\
          \ limit**: 32\n\n\n**Values**: inherited from `RatePlanCharge`.`Id` "
        type: string
      StartingUnit:
        description: " The start number of a range of units for the tier. This field\
          \ is only required if the charge mode is `Tiered Pricing` or `Tierred with\
          \ Overage Pricing`.\n\n\n**Character limit**: 16\n\n\n**Values**: any positive\
          \ decimal value "
        format: double
        type: number
      Tier:
        description: " A unique number that identifies the tier that the price applies\
          \ to.\n\n\n**Character limit**: 20\n\n\n**Values**: automatically generated "
        format: int32
        type: integer
      UpdatedById:
        description: "The ID of the last user to update the object.\n\n**Character\
          \ limit**: 32\n\n\n**Values**: automatically generated "
        type: string
      UpdatedDate:
        description: " The date when the object was last updated.\n\n\n**Character\
          \ limit**: 29\n\n\n**Values**: automatically generated "
        format: date-time
        type: string
    required:
    - RatePlanChargeId
    type: object
  RatePlanData:
    properties:
      RatePlan:
        $ref: '#/definitions/RatePlanDataRatePlan'
      RatePlanChargeData:
        description: ''
        items:
          $ref: '#/definitions/RatePlanChargeData'
        type: array
      SubscriptionProductFeatureList:
        description: ''
        properties:
          SubscriptionProductFeature:
            description: ''
            items:
              $ref: '#/definitions/SubscriptionProductFeature'
            type: array
        type: object
    required:
    - RatePlan
    type: object
  RatePlanDataRatePlan:
    allOf:
    - properties:
        AmendmentId:
          description: " The ID of the amendment associated with the rate plan. This\
            \ field only applies to amendment rate plans.\n\n\n**Character limit**:\
            \ 32\n\n\n**Values**: a valid amendment ID "
          type: string
        AmendmentSubscriptionRatePlanId:
          description: "The ID of the subscription rate plan modified by the amendment.\
            \ This field only applies to amendment rate plans.\n\n**Character limit**:\
            \ 32\n\n\n**Values**: a valid rate plan ID "
          type: string
        AmendmentType:
          description: "The type of amendment associated with the rate plan. This\
            \ field only applies to amendment rate plans.\n\n**Character limit**:\
            \ 18\n\n\n**Values**: inherited from `Amendment.Type` "
          type: string
        CreatedById:
          description: "The ID of the Zuora user who created the RatePlan object.\n\
            \n**Character limit**: 32\n\n\n**Values**: automatically generated "
          type: string
        CreatedDate:
          description: "The date when the `RatePlan` object was last updated.\n\n\
            **Character limit**: 29\n\n\n**Values**: automatically generated "
          format: date-time
          type: string
        Name:
          description: "The name of the rate plan. Leave this null in a subscribe\n\
            call to inherited the `ProductRatePlan.Name` field value.\n\n**Character\
            \ limit**: 100\n\n\n**Values**: a string of 100 characters or fewer or\
            \ inherited from ProductRatePlan.Name "
          type: string
        ProductRatePlanId:
          description: "The ID of the associated product rate plan.\n\n**Character\
            \ limit**: 32\n\n\n**Values**: a valid product rate plan ID "
          type: string
        SubscriptionId:
          description: "The ID of the subscription that the rate plan belongs to.\n\
            \n**Character limit**: 32\n\n\n**Values**: a valid subscription ID "
          type: string
        UpdatedById:
          description: " The ID of the user who last updated the rate plan.\n\n\n\
            **Character limit**: 32\n\n\n**Values**: automatically generated "
          type: string
        UpdatedDate:
          description: " The date when the rate plan was last updated.\n\n\n**Character\
            \ limit**: 29\n\n\n**Values**: automatically generated "
          format: date-time
          type: string
      required:
      - ProductRatePlanId
      type: object
    - $ref: '#/definitions/RatePlanObjectCustomFields'
    description: ''
    title: RatePlan
  RatePlanObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Rate Plan object. The name of each custom
        field has the form <code>*customField*__c</code>. Custom field names are case
        sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Rate Plan object.

      '
    title: ratePlanFieldsCustom
    type: object
  RatePlanOverride:
    description: 'Rate plan associated with a subscription.

      '
    properties:
      chargeOverrides:
        description: 'List of charges associated with the rate plan.

          '
        items:
          $ref: '#/definitions/ChargeOverride'
        type: array
      customFields:
        $ref: '#/definitions/RatePlanObjectCustomFields'
      newRatePlanId:
        description: 'Internal identifier of the rate plan.

          '
        type: string
      productRatePlanId:
        description: 'Internal identifier of the product rate plan that the rate plan
          is based on.

          '
        type: string
      uniqueToken:
        description: |
          Unique identifier for the rate plan. This identifier enables you to refer to the rate plan before the rate plan has an internal identifier in Zuora.

          For instance, suppose that you want to use a single order to add a product to a subscription and later update the same product. When you add the product, you can set a unique identifier for the rate plan. Then when you update the product, you can use the same unique identifier to specify which rate plan to modify.
        maxLength: 50
        type: string
    required:
    - productRatePlanId
    title: ratePlan
    type: object
  RatePlanOverrideForEvergreen:
    description: 'Rate plan associated with a subscription.

      '
    properties:
      chargeOverrides:
        description: 'List of charges associated with the rate plan.

          '
        items:
          $ref: '#/definitions/ChargeOverrideForEvergreen'
        type: array
      customFields:
        $ref: '#/definitions/RatePlanObjectCustomFields'
      newRatePlanId:
        description: 'Internal identifier of the rate plan.

          '
        type: string
      productRatePlanId:
        description: 'Internal identifier of the product rate plan that the rate plan
          is based on.

          '
        type: string
      uniqueToken:
        description: |
          Unique identifier for the rate plan. This identifier enables you to refer to the rate plan before the rate plan has an internal identifier in Zuora.

          For instance, suppose that you want to use a single order to add a product to a subscription and later update the same product. When you add the product, you can set a unique identifier for the rate plan. Then when you update the product, you can use the same unique identifier to specify which rate plan to modify.
        maxLength: 50
        type: string
    required:
    - productRatePlanId
    title: ratePlan
    type: object
  RatePlanUpdate:
    description: 'Information about an order action of type `UpdateProduct`.

      '
    properties:
      chargeUpdates:
        items:
          $ref: '#/definitions/ChargeUpdate'
        type: array
      customFields:
        $ref: '#/definitions/RatePlanObjectCustomFields'
      newRatePlanId:
        description: 'Internal identifier of the updated rate plan in the new subscription
          version.

          '
        type: string
      ratePlanId:
        description: 'Internal identifier of the rate plan that was updated.

          '
        type: string
      specificUpdateDate:
        description: |2

          The date when the Update Product order action takes effect. This field is only applicable if there is already a future-dated Update Product order action on the subscription. The format of the date is yyyy-mm-dd.

          See [Update a Product on Subscription with Future-dated Updates](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AC_Orders_Tutorials/C_Update_a_Product_in_a_Subscription/Update_a_Product_on_Subscription_with_Future-dated_Updates) for more information about this feature.
        format: date
        type: string
      uniqueToken:
        description: 'A unique string to represent the rate plan charge in the order.
          The unique token is used to perform multiple actions against a newly added
          rate plan. For example, if you want to add and update a product in the same
          order, you would assign a unique token to the product rate plan when added
          and use that token in future order actions.

          '
        type: string
    title: updateProduct
    type: object
  RatePlanUpdateForEvergreen:
    description: 'Information about an order action of type `UpdateProduct`.

      '
    properties:
      chargeUpdates:
        items:
          $ref: '#/definitions/ChargeUpdateForEvergreen'
        type: array
      customFields:
        $ref: '#/definitions/RatePlanObjectCustomFields'
      newRatePlanId:
        description: 'Internal identifier of the updated rate plan in the new subscription
          version.

          '
        type: string
      ratePlanId:
        description: 'Internal identifier of the rate plan that was updated.

          '
        type: string
      specificUpdateDate:
        description: |2

          The date when the Update Product order action takes effect. This field is only applicable if there is already a future-dated Update Product order action on the subscription. The format of the date is yyyy-mm-dd.

          See [Update a Product on Subscription with Future-dated Updates](https://knowledgecenter.zuora.com/BC_Subscription_Management/Orders/AC_Orders_Tutorials/C_Update_a_Product_in_a_Subscription/Update_a_Product_on_Subscription_with_Future-dated_Updates) for more information about this feature.
        format: date
        type: string
      uniqueToken:
        description: 'A unique string to represent the rate plan charge in the order.
          The unique token is used to perform multiple actions against a newly added
          rate plan. For example, if you want to add and update a product in the same
          order, you would assign a unique token to the product rate plan when added
          and use that token in future order actions.

          '
        type: string
    title: updateProduct
    type: object
  RecurringFlatFeePricingOverride:
    allOf:
    - $ref: '#/definitions/PriceChangeParams'
    - properties:
        listPrice:
          description: 'Price of the charge in each recurring period.

            '
          type: number
        listPriceBase:
          description: 'Specifies the duration of each recurring period.

            '
          enum:
          - Per_Billing_Period
          - Per_Month
          - Per_Week
          type: string
      type: object
    description: 'Pricing information about a recurring charge that uses the "flat
      fee" charge model. In this charge model, the charge has a fixed price.

      '
    title: recurringFlatFee
  RecurringFlatFeePricingUpdate:
    allOf:
    - $ref: '#/definitions/PriceChangeParams'
    - properties:
        listPrice:
          type: number
      type: object
  RecurringPerUnitPricingOverride:
    allOf:
    - $ref: '#/definitions/PriceChangeParams'
    - properties:
        listPrice:
          description: 'Per-unit price of the charge in each recurring period.

            '
          type: number
        listPriceBase:
          description: 'Specifies the duration of each recurring period.

            '
          enum:
          - Per_Billing_Period
          - Per_Month
          - Per_Week
          type: string
        quantity:
          description: 'Number of units purchased.

            '
          minimum: 0
          type: number
      type: object
    description: 'Pricing information about a recurring charge that uses the "per
      unit" charge model. In this charge model, the charge has a fixed price per unit
      purchased.

      '
    title: recurringPerUnit
  RecurringPerUnitPricingUpdate:
    allOf:
    - $ref: '#/definitions/PriceChangeParams'
    - properties:
        listPrice:
          type: number
        quantity:
          minimum: 0
          type: number
      type: object
  RecurringTieredPricingOverride:
    allOf:
    - $ref: '#/definitions/PriceChangeParams'
    - properties:
        listPriceBase:
          description: 'Specifies the duration of each recurring period.

            '
          enum:
          - Per_Billing_Period
          - Per_Month
          - Per_Week
          type: string
        quantity:
          description: 'Number of units purchased.

            '
          minimum: 0
          type: number
        tiers:
          description: 'List of cumulative pricing tiers in the charge.

            '
          items:
            $ref: '#/definitions/ChargeTier'
          type: array
      type: object
    description: 'Pricing information about a recurring charge that uses the "tiered
      pricing" charge model. In this charge model, the charge has cumulative pricing
      tiers that become effective as units are purchased.

      '
    title: recurringTiered
  RecurringTieredPricingUpdate:
    allOf:
    - $ref: '#/definitions/PriceChangeParams'
    - properties:
        quantity:
          minimum: 0
          type: number
        tiers:
          items:
            $ref: '#/definitions/ChargeTier'
          type: array
      type: object
  RecurringVolumePricingOverride:
    allOf:
    - $ref: '#/definitions/PriceChangeParams'
    - properties:
        listPriceBase:
          description: 'Specifies the duration of each recurring period.

            '
          enum:
          - Per_Billing_Period
          - Per_Month
          - Per_Week
          type: string
        quantity:
          description: 'Number of units purchased.

            '
          minimum: 0
          type: number
        tiers:
          description: 'List of variable pricing tiers in the charge.

            '
          items:
            $ref: '#/definitions/ChargeTier'
          type: array
      type: object
    description: 'Pricing information about a recurring charge that uses the "volume
      pricing" charge model. In this charge model, the charge has a variable price
      per unit, depending on how many units are purchased.

      '
    title: recurringVolume
  RecurringVolumePricingUpdate:
    allOf:
    - $ref: '#/definitions/PriceChangeParams'
    - properties:
        quantity:
          minimum: 0
          type: number
        tiers:
          items:
            $ref: '#/definitions/ChargeTier'
          type: array
      type: object
  RefundCreditMemoItemType:
    properties:
      amount:
        description: 'The amount of the refund on the specific item.

          '
        format: double
        type: number
      creditMemoItemId:
        description: 'The ID of the credit memo item that is refunded.

          '
        type: string
      creditTaxItemId:
        description: 'The ID of the credit memo taxation item that is refunded.

          '
        type: string
    required:
    - amount
    title: items
    type: object
  RefundEntityPrefix:
    description: 'Container for the prefix and starting number of refunds.

      '
    properties:
      prefix:
        description: 'The prefix of refunds.

          '
        example: R-
        type: string
      startNumber:
        description: 'The starting number of refunds.

          '
        example: 10
        type: integer
    title: refund
    type: object
  RefundInvoicePayment:
    properties:
      InvoiceId:
        description: 'The ID of the invoice that the payment is applied to.

          '
        type: string
      RefundAmount:
        description: 'The amount of the payment that is refunded. The value of this
          field is `0` if no refund is made against the payment.

          '
        format: decimal
        type: string
    required:
    - InvoiceId
    - RefundAmount
    type: object
  RefundObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Refund object. The name of each custom field
        has the form <code>*customField*__c</code>. Custom field names are case sensitive.
        See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Refund object.

      '
    title: refundFieldsCustom
    type: object
  RefundObjectNSFields:
    description: 'Container for Refund fields provided by the [Zuora Connector for
      NetSuite](https://www.zuora.com/connect/app/?appId=265).

      '
    properties:
      IntegrationId__NS:
        description: 'ID of the corresponding object in NetSuite. Only available if
          you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      IntegrationStatus__NS:
        description: 'Status of the refund''s synchronization with NetSuite. Only
          available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      Origin__NS:
        description: 'Origin of the corresponding object in NetSuite. Only available
          if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      SyncDate__NS:
        description: 'Date when the refund was synchronized with NetSuite. Only available
          if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      SynctoNetSuite__NS:
        description: 'Specifies whether the refund should be synchronized with NetSuite.
          Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
    title: refundFieldsNS
    type: object
  RefundPartResponseType:
    properties:
      amount:
        description: 'The amount of the refund part.

          '
        format: double
        type: number
      createdById:
        description: 'The ID of the Zuora user who created the refund part.

          '
        type: string
      createdDate:
        description: 'The date and time when the refund part was created, in `yyyy-mm-dd
          hh:mm:ss` format. For example, 2017-03-01 15:31:10.

          '
        format: date-time
        type: string
      creditMemoId:
        description: 'The ID of the credit memo associated with the refund part.

          '
        type: string
      id:
        description: 'The ID of the refund part.

          '
        type: string
      paymentId:
        description: 'The ID of the payment associated with the refund part.

          '
        type: string
      success:
        description: Returns `true` if the request was processed successfully.
        type: boolean
      updatedById:
        description: 'The ID of the Zuora user who last updated the refund part.

          '
        type: string
      updatedDate:
        description: 'The date and time when the refund part was last updated, in
          `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-02 15:36:10.

          '
        format: date-time
        type: string
    type: object
  RefundPartResponseTypewithSuccess:
    properties:
      amount:
        description: 'The amount of the refund part.

          '
        format: double
        type: number
      createdById:
        description: 'The ID of the Zuora user who created the refund part.

          '
        type: string
      createdDate:
        description: 'The date and time when the refund part was created, in `yyyy-mm-dd
          hh:mm:ss` format. For example, 2017-03-01 15:31:10.

          '
        format: date-time
        type: string
      creditMemoId:
        description: 'The ID of the credit memo associated with the refund part.

          '
        type: string
      id:
        description: 'The ID of the refund part.

          '
        type: string
      paymentId:
        description: 'The ID of the payment associated with the refund part.

          '
        type: string
      updatedById:
        description: 'The ID of the Zuora user who last updated the refund part.

          '
        type: string
      updatedDate:
        description: 'The date and time when the refund part was last updated, in
          `yyyy-mm-dd hh:mm:ss` format. For example, 2017-03-02 15:36:10.

          '
        format: date-time
        type: string
    title: parts
    type: object
  RemoveProduct:
    description: 'Information about an order action of type `RemoveProduct`.

      '
    properties:
      ratePlanId:
        description: 'Internal identifier of the rate plan to remove.

          '
        type: string
      uniqueToken:
        description: A unique string to represent the rate plan charge in the order.
          The unique token is used to perform multiple actions against a newly added
          rate plan. For example, if you want to add and update a product in the same
          order, you would assign a unique token to the product rate plan when added
          and use that token in future order actions.A unique string in the order
          to represent the rate plan.
        type: string
    title: removeProduct
    type: object
  RenewalTerm:
    properties:
      period:
        description: 'Duration of the renewal term in months, years, days, or weeks,
          depending on the value of the `periodType` field.

          '
        type: integer
      periodType:
        description: 'Unit of time that the renewal term is measured in.

          '
        enum:
        - Month
        - Year
        - Day
        - Week
        type: string
    type: object
  RevenueEventItemObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Revenue Event Item object. The name of each
        custom field has the form <code>*customField*__c</code>. Custom field names
        are case sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Revenue Event Item object.

      '
    title: revenueEventItemFieldsCustom
    type: object
  RevenueEventObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Revenue Event object. The name of each custom
        field has the form <code>*customField*__c</code>. Custom field names are case
        sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Revenue Event object.

      '
    title: revenueEventFieldsCustom
    type: object
  RevenueScheduleItemObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Revenue Schedule Item object. The name of
        each custom field has the form <code>*customField*__c</code>. Custom field
        names are case sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Revenue Schedule Item object.

      '
    title: revenueScheduleItemFieldsCustom
    type: object
  RevenueScheduleItemType:
    allOf:
    - properties:
        accountingPeriodName:
          description: 'Name of the accounting period. The open-ended accounting period
            is named `Open-Ended`.

            '
          type: string
      required:
      - accountingPeriodName
      type: object
    - $ref: '#/definitions/RevenueScheduleItemObjectCustomFields'
    title: revenueItems
  RevenueScheduleObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Revenue Schedule object. The name of each
        custom field has the form <code>*customField*__c</code>. Custom field names
        are case sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Revenue Schedule object.

      '
    title: revenueScheduleFieldsCustom
    type: object
  RevproAccountingCodes:
    example:
      adjustmentLiabilityAccount: adjustL-1
      adjustmentRevenueAccount: adjustRev-1
      contractAssetAccount: CA-2
      contractLiabilityAccount: CL-2
      productRatePlanChargeId: 2c92c0f962470b8101624b869fcd45fc
      recognizedRevenueAccount: ContractRevRec-1
      unbilledReceivablesAccount: unbilledR-1
    properties:
      adjustmentLiabilityAccount:
        description: The name of the account where the Account Type is "Adjustment
          Liability".
        maxLength: 100
        type: string
      adjustmentRevenueAccount:
        description: The name of the account where the Account Type is "Adjustment
          Revenue".
        maxLength: 100
        type: string
      contractAssetAccount:
        description: The name of the account where the Account Type is "Contract Asset".
        maxLength: 100
        type: string
      contractLiabilityAccount:
        description: The name of the account where the Account Type is "Contract Liability".
        maxLength: 100
        type: string
      productRatePlanChargeId:
        description: The ID of your product rate plan charge.
        type: string
      recognizedRevenueAccount:
        description: The name of the account where the Account Type is "Recognized
          Revenue".
        maxLength: 100
        type: string
      unbilledReceivablesAccount:
        description: The name of the account where the Account Type is "Unbilled Receivables".
        maxLength: 100
        type: string
    required:
    - productRatePlanChargeId
    - contractAssetAccount
    - contractLiabilityAccount
    - unbilledReceivablesAccount
    - adjustmentLiabilityAccount
    - recognizedRevenueAccount
    - adjustmentRevenueAccount
    type: object
  SaveResult:
    properties:
      Errors:
        description: ''
        items:
          $ref: '#/definitions/ActionsErrorResponse'
        type: array
      Id:
        description: ''
        type: string
      Success:
        description: ''
        type: boolean
    type: object
  SettingItemHttpOperation:
    properties:
      method:
        description: One of the HTTP methods supported by the setting endpoint, for
          example, GET,PUT,POST or DELETE.
        enum:
        - GET
        - HEAD
        - POST
        - PUT
        - PATCH
        - DELETE
        - OPTIONS
        - TRACE
        type: string
      parameters:
        description: An array of paramters required by this operation.
        items:
          $ref: '#/definitions/SettingItemHttpRequestParameter'
        type: array
      requestType:
        description: JSON Schema for the request body of this operation.
        type: object
      responseType:
        description: JSON Schema for the response body of this operation.
        type: object
      url:
        description: The endpoint url of the operation method. For example, `/settings/billing-rules`.
        type: string
    title: httpOperation
    type: object
  SettingItemHttpRequestParameter:
    properties:
      description:
        description: The description of the paramter.
        type: string
      name:
        description: The name of the parameter.
        type: string
    title: httpRequestParameter
    type: object
  SettingItemWithOperationsInformation:
    properties:
      context:
        description: The context where this setting item is effective.
        enum:
        - Tenant
        - Entity
        - User
        - None
        type: string
      description:
        description: The description of the setting item as you see from Zuora UI.
        type: string
      httpOperations:
        description: An array of HTTP operation methods that are supported on this
          setting endpoint.
        items:
          $ref: '#/definitions/SettingItemHttpOperation'
        type: array
      key:
        description: The unique key to distinguish the setting item.
        type: string
      pathPattern:
        description: The path pattern of the setting endpoint, relative to `/settings`.
          For example, `/billing-rules`.
        type: string
    title: settingItem
    type: object
  SettingValueRequest:
    properties:
      body:
        $ref: '#/definitions/BodyInSettingValueRequest'
      children:
        description: 'An array of requests that can only be executed after its parent
          request has been executed successfully.

          '
        items:
          $ref: '#/definitions/ChildrenSettingValueRequest'
        type: array
      id:
        description: 'The id of the request. You can set it to any string. It must
          be unique within the whole batch.

          '
        type: string
      method:
        description: 'One of the HTTP methods supported by the setting endpoint, for
          example, GET,PUT,POST or DELETE.

          '
        enum:
        - GET
        - HEAD
        - POST
        - PUT
        - PATCH
        - DELETE
        - OPTIONS
        - TRACE
        type: string
      url:
        description: 'The relative URL of the setting. It is the same as in the `pathPattern`
          field in the response body of [Listing all Settings](https://www.zuora.com/developer/api-reference/#operation/GET_ListAllSettings).
          For example, `/billing-rules`.

          '
        type: string
    title: settingsRequest
    type: object
  SettingValueResponse:
    properties:
      body:
        $ref: '#/definitions/BodyInSettingValueReponse'
      errorMessages:
        description: 'An array of error messages if errors occur when executing the
          request.

          '
        items:
          type: string
        type: array
      status:
        description: 'User readable response status, for example, 502 BAD_GATEWAY.

          '
        type: string
    title: settingsValueResponse
    type: object
  SettingValueResponseWrapper:
    properties:
      id:
        description: 'The Id of the corresponding request.

          '
        type: string
      method:
        description: 'The HTTP method. It is the same as that of the corresponding
          request.

          '
        enum:
        - GET
        - HEAD
        - POST
        - PUT
        - PATCH
        - DELETE
        - OPTIONS
        - TRACE
        type: string
      response:
        $ref: '#/definitions/SettingValueResponse'
      url:
        description: 'The url as specified in the corresponding request.

          '
        type: string
    title: settingsValueResponseWrapper
    type: object
  SettingsBatchRequest:
    example:
      requests:
      - id: '1'
        method: GET
        url: /billing-rules
      - id: '2'
        method: GET
        url: /accounting-rules
    properties:
      requests:
        items:
          $ref: '#/definitions/SettingValueRequest'
        type: array
    type: object
  SettingsBatchResponse:
    properties:
      responses:
        items:
          $ref: '#/definitions/SettingValueResponseWrapper'
        type: array
    title: batchResponse
    type: object
  SoldToContact:
    allOf:
    - description: 'Contact details associated with an account.

        '
      properties:
        address1:
          description: 'First line of the contact''s address. This is often a street
            address or a business name.

            '
          maxLength: 255
          type: string
        address2:
          description: 'Second line of the contact''s address.

            '
          maxLength: 255
          type: string
        city:
          description: 'City of the contact''s address.

            '
          maxLength: 40
          type: string
        country:
          description: 'Country; must be a valid country name or abbreviation. If
            using Zuora Tax, you must specify a country in the sold-to contact to
            calculate tax. A bill-to contact may be used if no sold-to contact is
            provided.

            '
          maxLength: 64
          type: string
        county:
          description: 'County of the contact''s address.

            '
          maxLength: 32
          type: string
        fax:
          description: 'Fax number of the contact.

            '
          maxLength: 40
          type: string
        firstName:
          description: 'First name of the contact.

            '
          maxLength: 100
          type: string
        homePhone:
          description: 'Home phone number of the contact.

            '
          maxLength: 40
          type: string
        lastName:
          description: 'Last name of the contact.

            '
          maxLength: 100
          type: string
        mobilePhone:
          description: 'Mobile phone number of the contact.

            '
          maxLength: 40
          type: string
        nickname:
          description: 'Nickname of the contact.

            '
          maxLength: 100
          type: string
        otherPhone:
          description: 'Additional phone number of the contact. Use the `otherPhoneType`
            field to specify the type of phone number.

            '
          maxLength: 40
          type: string
        otherPhoneType:
          description: 'Specifies the type of phone number in the `otherPhone` field.

            '
          enum:
          - Work
          - Mobile
          - Home
          - Other
          type: string
        personalEmail:
          description: 'Personal email address of the contact.

            '
          format: email
          maxLength: 80
          type: string
        postalCode:
          description: 'ZIP code or other postal code of the contact''s address.

            '
          maxLength: 20
          type: string
        state:
          description: 'State or province of the contact''s address.

            '
          maxLength: 40
          type: string
        taxRegion:
          description: 'Region defined in your taxation rules. Only applicable if
            you use Zuora Tax.

            '
          maxLength: 32
          type: string
        workEmail:
          description: 'Business email address of the contact.

            '
          format: email
          maxLength: 80
          type: string
        workPhone:
          description: 'Business phone number of the contact.

            '
          maxLength: 40
          type: string
      required:
      - firstName
      - lastName
      type: object
    - $ref: '#/definitions/ContactObjectCustomFields'
  SoldToContactPostOrder:
    allOf:
    - description: 'Contact details associated with an account.

        '
      properties:
        address1:
          description: 'First line of the contact''s address. This is often a street
            address or a business name.

            '
          maxLength: 255
          type: string
        address2:
          description: 'Second line of the contact''s address.

            '
          maxLength: 255
          type: string
        city:
          description: 'City of the contact''s address.

            '
          maxLength: 40
          type: string
        contactDescription:
          description: "A description for the contact.          \n"
          maxLength: 100
          type: string
        country:
          description: 'Country; must be a valid country name or abbreviation. If
            using Zuora Tax, you must specify a country in the sold-to contact to
            calculate tax. A bill-to contact may be used if no sold-to contact is
            provided.

            '
          maxLength: 64
          type: string
        county:
          description: 'County of the contact''s address.

            '
          maxLength: 32
          type: string
        fax:
          description: 'Fax number of the contact.

            '
          maxLength: 40
          type: string
        firstName:
          description: 'First name of the contact.

            '
          maxLength: 100
          type: string
        homePhone:
          description: 'Home phone number of the contact.

            '
          maxLength: 40
          type: string
        lastName:
          description: 'Last name of the contact.

            '
          maxLength: 100
          type: string
        mobilePhone:
          description: 'Mobile phone number of the contact.

            '
          maxLength: 40
          type: string
        nickname:
          description: 'Nickname of the contact.

            '
          maxLength: 100
          type: string
        otherPhone:
          description: 'Additional phone number of the contact. Use the `otherPhoneType`
            field to specify the type of phone number.

            '
          maxLength: 40
          type: string
        otherPhoneType:
          description: 'Specifies the type of phone number in the `otherPhone` field.

            '
          enum:
          - Work
          - Mobile
          - Home
          - Other
          type: string
        personalEmail:
          description: 'Personal email address of the contact.

            '
          format: email
          maxLength: 80
          type: string
        postalCode:
          description: 'ZIP code or other postal code of the contact''s address.

            '
          maxLength: 20
          type: string
        state:
          description: 'State or province of the contact''s address.

            '
          maxLength: 40
          type: string
        taxRegion:
          description: 'Region defined in your taxation rules. Only applicable if
            you use Zuora Tax.

            '
          maxLength: 32
          type: string
        workEmail:
          description: 'Business email address of the contact.

            '
          format: email
          maxLength: 80
          type: string
        workPhone:
          description: 'Business phone number of the contact.

            '
          maxLength: 40
          type: string
      required:
      - firstName
      - lastName
      type: object
    - $ref: '#/definitions/ContactObjectCustomFields'
  SubmitDataQueryRequest:
    example:
      compression: NONE
      output:
        target: S3
      outputFormat: JSON
      query: SELECT accountnumber, balance FROM Account WHERE Account.balance > 100
    properties:
      columnSeparator:
        description: 'The column separator. Only applicable if the `outputFormat`
          is `DSV`.

          '
        type: string
      compression:
        description: 'Specifies whether Zuora compresses the query results.

          '
        enum:
        - NONE
        - GZIP
        - ZIP
        type: string
      encryptionKey:
        description: |
          Base-64 encoded public key of an RSA key-pair.

          If you set this field, Zuora encrypts the query results using the provided public key. You must use the corresponding private key to decrypt the query results.
        format: byte
        type: string
      output:
        description: 'Additional information about the query results.

          '
        properties:
          target:
            description: 'Set this field to `S3`.

              '
            enum:
            - S3
            type: string
        required:
        - target
        type: object
      outputFormat:
        description: |
          Specifies the format of the query results.

          * `JSON` - Each row in the query results will be a JSON object. The query results will not be wrapped in a JSON array.
          * `CSV` - Each row in the query results will be a comma-separated list of values.
          * `TSV` - Each row in the query results will be a tab-separated list of values.
          * `DSV` - Pass any character as your custom delimiter into the `columnSeparator` field.
        enum:
        - JSON
        - CSV
        - TSV
        - DSV
        type: string
      query:
        description: 'The query to perform. See [SQL Queries in Data Query](https://knowledgecenter.zuora.com/DC_Developers/BA_Data_Query/BA_SQL_Queries_in_Data_Query)
          for more information.

          '
        type: string
      readDeleted:
        default: false
        description: 'Indicates whether the query will retrieve only the deleted record.
          If `readDeleted` is set to `false` or it is not included in the request
          body, the query will retrieve only the non-deleted records. If it is set
          to `true`, only the deleted records will be retrieved.

          '
        type: boolean
      useIndexJoin:
        description: Indicates whether to use Index Join. Index join is useful when
          you have a specific reference value in your WHERE clause to index another
          large table by. See [Use Index Join](https://knowledgecenter.zuora.com/DC_Developers/BA_Data_Query/Best_practices_of_Data_Query#Use_Index_Join)
          for more information.
        type: boolean
    required:
    - query
    - outputFormat
    - compression
    - output
    type: object
  SubmitDataQueryResponse:
    properties:
      data:
        $ref: '#/definitions/DataQueryJob'
    type: object
  SubscribeRequest:
    properties:
      Account:
        $ref: '#/definitions/SubscribeRequestAccount'
      BillToContact:
        $ref: '#/definitions/SubscribeRequestBillToContact'
      PaymentMethod:
        description: |2-
           This is the object defining the payment details for the Account. The Account will be updated with this payment as the default payment method.
          Use this field if you are associating an electronic payment method with the account. A payment gateway must be enabled.
          Values: A valid electronic PaymentMethod.
        properties:
          AccountId:
            description: ' The ID of the customer account associated with this payment
              method. '
            type: string
          AchAbaCode:
            description: " The nine-digit routing number or ABA number used by banks.\n\
              This field is only required if the `Type` field is set to `ACH`.\n\n\
              \n**Character limit**: 9\n\n\n**Values**: a string of 9 characters or\
              \ fewer "
            type: string
          AchAccountName:
            description: " The name of the account holder, which can be either a person\
              \ or a company.\nThis field is only required if the `Type` field is\
              \ set to `ACH`.\n\n\n**Character limit**: 70\n\n\n**Values**: a string\
              \ of 70 characters or fewer "
            type: string
          AchAccountNumber:
            description: " The bank account number associated with the ACH payment.\n\
              This field is only required if the `Type` field is set to `ACH`.\n\n\
              \n**Character limit**: 30\n\n\n**Values**: a string of 30 numeric characters\
              \ or fewer "
            type: string
          AchAccountNumberMask:
            description: " This is a masked displayable version of the ACH account\
              \ number, used for security purposes. For example: `XXXXXXXXX54321`.\
              \ Use this field for ACH payment methods.\n\n\n**Character limit**:\
              \ 32\n\n\n**Values**: automatically generated "
            type: string
          AchAccountType:
            description: |2
               The type of bank account associated with the ACH payment.
              This field is only required if the `Type` field is set to `ACH`.


              **Character limit**: 16


              **Values**:

              - `BusinessChecking`
              - `Checking`
              - `Saving`
            type: string
          AchAddress1:
            description: " Line 1 for the ACH address. Required on create for the\
              \ Vantiv payment gateway. Optional for other gateways.\n**Character\
              \ limit:** **Values:** an address "
            type: string
          AchAddress2:
            description: " Line 2 for the ACH address. Required on create for the\
              \ Vantiv payment gateway. Optional for other gateways.\n**Character\
              \ limit:** **Values:** an address "
            type: string
          AchBankName:
            description: " The name of the bank where the ACH payment account is held.\
              \ Use this field for ACH payment methods.\n\n\n**Character limit**:\
              \ 70\n\n\n**Values**: a string of 70 characters or fewer "
            type: string
          Active:
            description: " Specifies whether a payment method is available in Zuora.\
              \ The default value is `false`.\n\n\n**Character limit**: 5\n\n\n**Values**:\
              \ `true`, `false` "
            type: boolean
          BankBranchCode:
            description: " The branch code of the bank used for direct debit. Use\
              \ this field for direct debit payment methods.\n\n\n**Character limit**:\
              \ 10\n\n\n**Values**:  string of 10 characters or fewer "
            type: string
          BankCheckDigit:
            description: "The check digit in the international bank account number,\
              \ which confirms the validity of the account. Use this field for direct\
              \ debit payment methods.\n\n**Character limit**: 4\n\n\n**Values**:\
              \  string of 4 characters or fewer "
            type: string
          BankCity:
            description: " The city of the direct debit bank. Use this field for direct\
              \ debit payment methods.\n\n\n**Character limit**:70\n\n\n**Values**:\
              \  string of 70 characters or fewer "
            type: string
          BankCode:
            description: " The sort code or number that identifies the bank. This\
              \ is also known as the sort code. This field is required for direct\
              \ debit payment methods.\n\n\n**Character limit**: 18\n\n\n**Values**:\
              \  string of 18 characters or fewer "
            type: string
          BankIdentificationNumber:
            description: " The first six digits of the payment method's number, such\
              \ as the credit card number or account number. Banks use this number\
              \ to identify a payment method.\n\n\n**Character limit**: 6\n\n\n**Values**:\
              \  string of 6 characters or fewer "
            type: string
          BankName:
            description: " The name of the direct debit bank. Use this field for direct\
              \ debit payment methods.\n\n\n**Character limit**:80\n\n\n**Values**:\
              \  string of 80 characters or fewer "
            type: string
          BankPostalCode:
            description: " The zip code or postal code of the direct debit bank. Use\
              \ this field for direct debit payment methods.\n\n\n**Character limit**:20\n\
              \n\n**Values**:  string of 20 characters or fewer "
            type: string
          BankStreetName:
            description: " The name of the street of the direct debit bank. Use this\
              \ field for direct debit payment methods.\n\n\n**Character limit**:60\n\
              \n\n**Values**:  string of 60 characters or fewer "
            type: string
          BankStreetNumber:
            description: " The number of the direct debit bank. Use this field for\
              \ direct debit payment methods.\n\n\n**Character limit**:10\n\n\n**Values**:\
              \  string of 10 characters or fewer "
            type: string
          BankTransferAccountName:
            description: " The name on the direct debit bank account. Use this field\
              \ for direct debit payment methods.\n\n\n**Character limit**: 60\n\n\
              \n**Values**:  string of 60 characters or fewer "
            type: string
          BankTransferAccountNumber:
            description: " The number of the customer's bank account.\nThis field\
              \ is only required if the `Type` field is set to `BankTransfer`.\n\n\
              \n**Character limit**:30\n\n\n**Values**:  string of 30 characters or\
              \ fewer "
            type: string
          BankTransferAccountNumberMask:
            description: " This is a masked displayable version of the ACH account\
              \ number, used for security purposes. For example: `XXXXXXXXX54321`.\n\
              \n\n**Character limit**: 32\n\n\n**Values**: automatically generated "
            type: string
          BankTransferAccountType:
            description: " The type of the customer's bank account. Use this field\
              \ for direct debit payment methods.\n\n\n**Character limit**: 11\n\n\
              \n**Values**: `DirectDebit` "
            type: string
          BankTransferType:
            description: |2
               Specifies the type of direct debit transfer. The value of this field is dependent on the country of the user.
              This field is only required if the `Type` field is set to `BankTransfer`.


              **Character limit**: 20


              **Values**:

              - `AutomatischIncasso` (NL)
              - `LastschriftDE` (Germany)
              - `LastschriftAT` (Austria)
              - `DemandeDePrelevement` (FR)
              - `DirectDebitUK` (UK)
              - `Domicil` (Belgium)
              - `LastschriftCH` (CH)
              - `RID` (Italy)
              - `OrdenDeDomiciliacion` (Spain)
            type: string
          BusinessIdentificationCode:
            description: " The business identification code for Swiss direct payment\
              \ methods that use the Global Collect payment gateway. Use this field\
              \ only for direct debit payments in Switzerland with Global Collect.\n\
              \n\n**Character limit**: 11\n\n\n**Values**: string of 11 characters\
              \ or fewer "
            type: string
          City:
            description: " The city of the customer's address. Use this field for\
              \ direct debit payment methods.\n\n\n**Character limit**:80\n\n\n**Values**:\
              \  string of 80 characters or fewer "
            type: string
          Country:
            description: " The two-letter country code of the customer's address.\n\
              This field is only required if the `Type` field is set to `BankTransfer`,\
              \ and the `BankTransferType` field is set to either `DirectDebitUK`,\
              \ `DirectEntryAU`, or `DirectDebitNZ`.\n\n\n**Character limit**: 2\n\
              \n\n**Values**: a valid country code "
            type: string
          CreatedById:
            description: " The user ID of the person who created the `PaymentMethod`\
              \ object when there is a login user in the user session. In Hosted Payment\
              \ Method and Z-Checkout pages, this field is set to 3 as there is no\
              \ login user to initiate a user session.\n\n\n**Character limit**: 32\n\
              \n\n**Values**: automatically generated "
            type: string
          CreatedDate:
            description: " The date when the `PaymentMethod` object was created in\
              \ the Zuora system.\n\n\n**Character limit**: 29\n\n\n**Values**: automatically\
              \ generated "
            format: date-time
            type: string
          CreditCardAddress1:
            description: " The first line of the card holder's address, which is often\
              \ a street address or business name. Use this field for credit card\
              \ and direct debit payment methods.\n\n\n**Character limit**: 255\n\n\
              \n**Values**: a string of 255 characters or fewer "
            type: string
          CreditCardAddress2:
            description: " The second line of the card holder's address. Use this\
              \ field for credit card and direct debit payment methods.\n\n\n**Character\
              \ limit**: 255\n\n\n**Values**: a string of 255 characters or fewer "
            type: string
          CreditCardCity:
            description: " The city of the card holder's address. Use this field for\
              \ credit card and direct debit payment methods\n\n**Character limit**:\
              \ 40\n\n\n**Values**: a string of 40 characters or fewer "
            type: string
          CreditCardCountry:
            description: ' The country of the card holder''s address.'
            type: string
          CreditCardExpirationMonth:
            description: " The expiration month of the credit card or debit card.\n\
              This field is only required if the `Type` field is set to `CreditCard`\
              \ or `DebitCard`.\n\n**Character limit**: 2\n\n\n**Values**: a two-digit\
              \ number, 01 - 12 "
            format: int32
            type: integer
          CreditCardExpirationYear:
            description: " The expiration month of the credit card or debit card.\n\
              This field is only required if the `Type` field is set to `CreditCard`\
              \ or `DebitCard`.\n\n\n**Character limit**: 4\n\n\n**Values**: a four-digit\
              \ number "
            format: int32
            type: integer
          CreditCardHolderName:
            description: " The full name of the card holder.\nThis field is only required\
              \ if the `Type` field is set to `CreditCard` or `DebitCard`.\n\n\n**Character\
              \ limit**: 50\n\n\n**Values**: a string of 50 characters or fewer "
            type: string
          CreditCardMaskNumber:
            description: " A masked version of the credit or debit card number.\n\n\
              \n**Character limit**: 32\n\n\n**Values**: automatically generated "
            type: string
          CreditCardNumber:
            description: " The credit card or debit card number. This is an insert-only\
              \ field; it cannot be updated nor queried for security purposes.\nThis\
              \ field is only required if the `Type` field is set to `CreditCard`\
              \ or `DebitCard`.\n\n\n**Character limit**: 16\n\n\n**Values**: a string\
              \ of 16 characters or fewer "
            type: string
          CreditCardPostalCode:
            description: " The billing address's zip code. This field is required\
              \ only when you define a debit card or credit card payment.\n\n\n**Character\
              \ limit**: 20\n\n\n**Values**: a string of 20 characters or fewer "
            type: string
          CreditCardSecurityCode:
            description: " The CVV or CVV2 security code. See [How do I control what\
              \ information Zuora sends over to the Payment Gateway?](https://knowledgecenter.zuora.com/kb/How_do_I_control_information_sent_to_payment_gateways_when_verifying_payment_methods%3F)\
              \ for more information. To ensure PCI compliance, this value is not\
              \ stored and cannot be queried.\n\n\n**Character limit**:\n\n\n**Values**:\
              \ a valid CVV or CVV2 security code "
            type: string
          CreditCardState:
            description: ' The billing address''s state. Use this field is if the
              `CreditCardCountry` value is either Canada or the US. State names must
              be spelled in full. '
            type: string
          CreditCardType:
            description: |
              The type of the credit card.

              Possible values  include `Visa`, `MasterCard`, `AmericanExpress`, `Discover`, `JCB`, and `Diners`. For more information about credit card types supported by different payment gateways, see [Supported Payment Gateways](https://knowledgecenter.zuora.com/CB_Billing/M_Payment_Gateways/Supported_Payment_Gateways).
            type: string
          DeviceSessionId:
            description: " The session ID of the user when the `PaymentMethod` was\
              \ created or updated. Some gateways use this field for fraud prevention.\
              \ If this field is passed to Zuora, then Zuora passes this field to\
              \ supported gateways. Currently only Verifi supports this field.\n\n\
              \n**Character limit**: 255\n\n\n**Values**: "
            type: string
          Email:
            description: " An email address for the payment method in addition to\
              \ the bill to contact email address.\n\n\n**Character limit**: 80\n\n\
              \n**Values**: a string of 80 characters or fewer "
            type: string
          ExistingMandate:
            description: " Indicates if the customer has an existing mandate or a\
              \ new mandate. A mandate is a signed authorization for UK and NL customers.\
              \ When you are migrating mandates from another system, be sure to set\
              \ this field correctly. If you indicate that a new mandate is an existing\
              \ mandate or vice-versa, then transactions fail. This field is used\
              \ only for the direct debit payment method.\n\n\n**Character limit**:\
              \ 3\n\n\n**Values**: `Yes`, `No` "
            type: string
          FirstName:
            description: " The customer's first name. This field is used only for\
              \ the direct debit payment method.\n\n\n**Character limit**: 30\n\n\n\
              **Values**: a string of 30 characters or fewer "
            type: string
          GatewayOptionData:
            description: " Use this field to pass gateway options.\n\n\n**Character\
              \ limit**: 255\n\n\n**Values**: GatewayOption "
            properties:
              GatewayOption:
                description: ''
                items:
                  $ref: '#/definitions/GatewayOption'
                type: array
            required:
            - GatewayOption
            type: object
          IBAN:
            description: " The International Bank Account Number. This field is used\
              \ only for the direct debit payment method.\n\n\n**Character limit**:\
              \ 42\n\n\n**Values**: a string of 42 characters or fewer "
            type: string
          IPAddress:
            description: " The IP address of the user when the payment method was\
              \ created or updated. Some gateways use this field for fraud prevention.\
              \ If this field is passed to Zuora, then Zuora passes this field to\
              \ supported gateways. Currently PayPal, CyberSource, Authorize.Net,\
              \ and Verifi support this field.\n\n\n**Character limit**: 15\n\n\n\
              **Values**: a string of 15 characters or fewer "
            type: string
          Id:
            description: " The ID of this object. Upon creation, the ID of this object\
              \ is `PaymentMethodId`.\n\n\n**Character limit**: 32\n\n\n**Values**:\
              \ automatically generated "
            type: string
          LastFailedSaleTransactionDate:
            description: " The date of the last failed attempt to collect payment\
              \ with this payment method.\n\n\n**Character limit**: 29\n\n\n**Values**:\
              \ automatically generated "
            format: date-time
            type: string
          LastName:
            description: " The customer's last name. This field is used only for the\
              \ direct debit payment method.\n\n\n**Character limit**: 70\n\n\n**Values**:\
              \ a string of 70 characters or fewer "
            type: string
          LastTransactionDateTime:
            description: " The date of the most recent transaction.\n\n\n**Character\
              \ limit**: 29\n\n\n**Values**: a valid date and time value "
            format: date-time
            type: string
          LastTransactionStatus:
            description: " The status of the most recent transaction.\n\n\n**Character\
              \ limit**: 39\n\n\n**Values**: automatically generated "
            type: string
          MandateCreationDate:
            description: |2+
               The date when the mandate was created, in `yyyy-mm-dd` format. A mandate is a signed authorization for UK and NL customers. This field is used only for the direct debit payment method.


              **Character limit**: 29


            format: date
            type: string
          MandateID:
            description: " The ID of the mandate. A mandate is a signed authorization\
              \ for UK and NL customers. This field is used only for the direct debit\
              \ payment method.\n\n\n**Character limit**: 36\n\n\n**Values**: a string\
              \ of 36 characters or fewer "
            type: string
          MandateReceived:
            description: " Indicates if  the mandate was received. A mandate is a\
              \ signed authorization for UK and NL customers. This field is used only\
              \ for the direct debit payment method.\n\n\n**Character limit**: 3\n\
              \n\n**Values**: `Yes`, `No `(case-sensitive) "
            type: string
          MandateUpdateDate:
            description: |2+
               The date when the mandate was last updated, in `yyyy-mm-dd` format. A mandate is a signed authorization for UK and NL customers. This field is used only for the direct debit payment method.


              **Character limit**: 29


            format: date
            type: string
          MaxConsecutivePaymentFailures:
            description: " Specifies the number of allowable consecutive failures\
              \ Zuora attempts with the payment method before stopping.\nWhen the\
              \ `UseDefaultRetryRule` field is set to `false`, this field is only\
              \ required if the `PaymentRetryWindow` field is not defined.\n\n\n\n\
              **Values**: a valid number "
            type: integer
          Name:
            description: ' Create Query Delete Filter '
            type: string
          NumConsecutiveFailures:
            description: " The number of consecutive failed payment for this payment\
              \ method. It is reset to 0 upon successful payment. You can use the\
              \ API to update the field value to 0.\n\n\n**Character limit**:\n\n\n\
              **Values**: a positive whole number "
            format: int32
            type: integer
          PaymentMethodStatus:
            description: " Specifies the status of the payment method. It is set to\
              \ Active on creation.\n\n\n**Character limit**: 6\n\n\n**Values**: `Active`\
              \ or `Closed` PaymentMethodStatus should not be used in the `create\n\
              ` call. You can only set this field to **Closed** via the `update\n\
              ` call. "
            type: string
          PaymentRetryWindow:
            description: " The retry interval setting, which prevents making a payment\
              \ attempt if the last failed attempt was within the last specified number\
              \ of hours.\nWhen the `UseDefaultRetryRule` field is set to `false`,\
              \ this field is only required if the `MaxConsecutivePaymentFailures`\
              \ field is not defined.\n\n\n**Character limit**: 4\n\n\n**Values**:\
              \ a whole number between 1 and 1000, exclusive "
            type: integer
          PaypalBaid:
            description: " The PayPal billing agreement ID, which is a contract between\
              \ two PayPal accounts. Typically, the selling party initiates a request\
              \ to create a BAID, and sends it to buying party for acceptance. The\
              \ seller can keep track of the BAID and use it for future charges against\
              \ the buyer.\nThis field is only required if the `Type` field is set\
              \ to `PayPal`.\n\n\n**Character limit**: 64\n\n\n**Values**: a string\
              \ of 64 characters or fewer "
            type: string
          PaypalEmail:
            description: " The email address associated with the account holder's\
              \ PayPal account or of the PayPal account of the person paying for the\
              \ service.\nThis field is only required if the `Type` field is set to\
              \ `PayPal`.\n\n\n**Character limit**: 80\n\n\n**Values**: a string of\
              \ 80 characters or fewer "
            type: string
          PaypalPreapprovalKey:
            description: " PayPal's Adaptive Payments API key. Zuora does not create\
              \ this key, nor does it call PayPal to generate it. You must use PayPal's\
              \ Adaptive Payments' API to generate this key, and then pass it to Zuora.\
              \ Zuora uses this key to authorize future payments to PayPal's Adaptive\
              \ Payments API.\nThis field is only required if you use PayPal Adaptive\
              \ Payments gateway.\n\n\n**Character limit**: 32\n\n\n**Values**: a\
              \ valid PayPal Adaptive Payment pre-approval key "
            type: string
          PaypalType:
            description: " Specifies the PayPal gateway: PayFlow Pro (Express Checkout)\
              \ or Adaptive Payments.\nThis field is only required if you use PayPal\
              \ Adaptive Payments or Payflow Pro (Express Checkout) gateways.\n\n\n\
              **Character limit**: 32\n\n\n**Values**: `ExpressCheckout`, `AdaptivePayments` "
            type: string
          Phone:
            description: " The phone number that the account holder registered with\
              \ the bank. This field is used for credit card validation when passing\
              \ to a gateway.\n\n\n**Character limit**: 40\n\n\n**Values**: a string\
              \ of 40 characters or fewer "
            type: string
          PostalCode:
            description: " The zip code of the customer's address. This field is used\
              \ only for the direct debit payment method.\n\n\n**Character limit**:\
              \ 20\n\n\n**Values**: a string of 20 characters or fewer "
            type: string
          SecondTokenId:
            description: " A gateway unique identifier that replaces sensitive payment\
              \ method data. SecondTokenId is conditionally required only when TokenID\
              \ is being used to represent a gateway customer profile. SecondTokenId\
              \ is used in the CC Reference Transaction payment method.\n\n**Character\
              \ limit**: 64\n\n\n**Values**: a string of 64 characters or fewer "
            type: string
          SkipValidation:
            description: " Creates the payment method even if authorization fails\
              \ with the payment gateway.\n\n\n**Character limit**: 5\n\n\n**Values**:\
              \ `t``rue`, `false` "
            type: boolean
          State:
            description: " The state of the customer's address. This field is used\
              \ only for the direct debit payment method.\n\n\n**Character limit**:\
              \ 70\n\n\n**Values**: a string of 70 characters or fewer "
            type: string
          StreetName:
            description: " The street name of the customer's address. This field is\
              \ used only for the direct debit payment method.\n\n\n**Character limit**:\
              \ 100\n\n\n**Values**: a string of 100 characters or fewer "
            type: string
          StreetNumber:
            description: " The street number of the customer's address. This field\
              \ is used only for the direct debit payment method.\n\n\n**Character\
              \ limit**: 30\n\n\n**Values**: a string of 30 characters or fewer "
            type: string
          TokenId:
            description: "A gateway unique identifier that replaces sensitive payment\
              \ method data or represents a gateway's unique customer profile. If\
              \ you want to create an Amazon Pay payment method, specify `AmazonBillingAgreementId`\
              \ for this field. \n\nWhile `TokenId` is used to represent a customer\
              \ profile, `SecondTokenId` is conditionally required for representing\
              \ the underlying tokenized payment method. When the `Type` field is\
              \ set to `CreditCardReferenceTransaction`, this field is required if\
              \ the `CreditCardNumber` field is not specified. \n\n**Character limit**:\
              \ 255\n**Values**: a string of 255 characters or fewer\n"
            type: string
          TotalNumberOfErrorPayments:
            description: " The number of error payments that used this payment method.\n\
              \n\n**Character limit**:\n\n\n**Values**: automatically generated "
            format: int32
            type: integer
          TotalNumberOfProcessedPayments:
            description: " The number of successful payments that used this payment\
              \ method.\n\n\n**Character limit**:\n\n\n**Values**: automatically generated "
            format: int32
            type: integer
          Type:
            description: The type of payment method. If you want to create an Amazon
              Pay payment method, specify `CreditCardReferenceTransaction` for this
              field.
            enum:
            - ACH
            - ApplePay
            - BankTransfer
            - Cash
            - Check
            - CreditCard
            - CreditCardReferenceTransaction
            - DebitCard
            - Other
            - PayPal
            - WireTransfer
            type: string
          UpdatedById:
            description: " The ID of the user who last updated the payment method.\n\
              \n\n**Character limit**: 32\n\n\n**Values**: automatically generated "
            type: string
          UpdatedDate:
            description: " The date when the payment method was last updated.\n\n\n\
              **Character limit**: 29\n\n\n**Values**: automatically generated "
            format: date-time
            type: string
          UseDefaultRetryRule:
            description: " Determines whether to use the default retry rules configured\
              \ in the [Z-Payments settings](https://knowledgecenter.zuora.com/CB_Billing/L_Payment_Methods/H_Configure_Payment_Method_Retry_Rules).\
              \ Set this to `true` to use the default retry rules. Set this to `false`\
              \ to set the specific rules for this payment method. If you set this\
              \ value to `false`, then the fields, `PaymentRetryWindow` and `MaxConsecutivePaymentFailures`,\
              \ are required.\n\n\n**Character limit**: 5\n\n\n**Values**: `t``rue`,\
              \ `false` "
            type: boolean
        required:
        - Type
        type: object
      PreviewOptions:
        description: 'Only used if you want to call this operation in preview mode.
          After a call in preview mode is completed, Zuora will roll back the subscription
          and return only the temporary invoice data.

          '
        properties:
          EnablePreviewMode:
            description: "Specifies whether the call should create a subscription/amendment,\
              \ or whether it should return a preview of the order. Used with either\
              \ NumberOfPeriods or PreviewThroughTermEnd. \n\nIf the preview mode\
              \ is enabled, Zuora recommends that you set the `subscribes` > `SubscribeOptions`\
              \ > `ProcessPayments` field to `false` and skip setting the `subscribes`\
              \ > `PaymentMethod` field in your request so that no charge occurs for\
              \ payment method validation in a preview.\n"
            type: boolean
          NumberOfPeriods:
            description: 'The number of invoice periods to show in a preview.

              '
            type: integer
          PreviewThroughTermEnd:
            description: 'Specifies whether to preview the charge through the end
              of the subscription term. Applicable to termed subscriptions only.

              '
            type: boolean
          PreviewType:
            default: InvoiceItem
            description: |
              The type of preview to return:

               * `InvoiceItem` - Return an invoice item preview
               * `ChargeMetrics` - Return a charge metrics preview
               * `InvoiceItemChargeMetrics` - Return an invoice item and charge metrics of that item
            enum:
            - InvoiceItem
            - ChargeMetrics
            - InvoiceItemChargeMetrics
            type: string
        type: object
      SoldToContact:
        $ref: '#/definitions/SubscribeRequestSoldToContact'
      SubscribeOptions:
        description: " This optional object specifies parameters related to invoicing\
          \ - whether to immediately generate an invoice and collect payment, and\
          \ whether the invoice should cover all subscriptions or just this new subscription.\n\
          The default behavior is to invoice immediately for all the account's subscriptions,\
          \ with the current date as the target date, and immediately collect payment\
          \ if the account's `AutoPay` flag is true.\n\n\n**Values:** A valid SubscribeOptions\
          \ object. "
        properties:
          ApplyCreditBalance:
            description: ''
            type: boolean
          ElectronicPaymentOptions:
            description: ''
            properties:
              PaymentMethodId:
                description: ''
                type: string
            type: object
          ExternalPaymentOptions:
            description: ''
            properties:
              Amount:
                description: ''
                format: double
                type: number
              EffectiveDate:
                description: ''
                format: date
                type: string
              GatewayOrderId:
                description: ''
                type: string
              PaymentMethodId:
                description: ''
                type: string
              ReferenceId:
                description: ''
                type: string
            type: object
          GenerateInvoice:
            description: ''
            type: boolean
          ProcessPayments:
            description: ''
            type: boolean
          SubscribeInvoiceProcessingOptions:
            description: ''
            properties:
              InvoiceDate:
                description: ''
                format: date
                type: string
              InvoiceProcessingScope:
                description: ''
                type: string
              InvoiceTargetDate:
                description: ''
                format: date
                type: string
            type: object
        required:
        - GenerateInvoice
        - ProcessPayments
        type: object
      SubscriptionData:
        description: " This object contains the information on the contract's dates\
          \ and terms.\n\n\n**Values:** A valid SubscriptionData object. "
        properties:
          RatePlanData:
            description: ''
            items:
              $ref: '#/definitions/RatePlanData'
            type: array
          Subscription:
            $ref: '#/definitions/SubscribeRequestSubscriptionDataSubscription'
        required:
        - Subscription
        - RatePlanData
        type: object
    required:
    - Account
    - SubscriptionData
    type: object
  SubscribeRequestAccount:
    allOf:
    - properties:
        AccountNumber:
          description: |
            Unique account number assigned to the account.

            **Character limit**: 50


            **Values**: one of the following:

            - null to auto-generate
            - a string of 50 characters or fewer that doesn't begin with the default account number prefix
          type: string
        AdditionalEmailAddresses:
          description: "List of additional email addresses to receive emailed invoices.\n\
            \n**Character limit**: 120\n\n\n**Values**: comma-separated list of email\
            \ addresses "
          type: string
        AllowInvoiceEdit:
          description: " Indicates if associated invoices can be edited.\n\n\n**Character\
            \ limit**: 5\n\n\n**Values**: `true`, `false` (default if left null) "
          type: boolean
        AutoPay:
          description: " Indicates if future payments are automatically collected\
            \ when they're due during a Payment Run.\n\n\n**Character limit**: 5\n\
            \n\n**Values**: `true`, `false` (default) "
          type: boolean
        Batch:
          description: " Organizes your customer accounts into groups to optimize\
            \ your billing and payment operations.\n\n\n**Character limit**: 20\n\n\
            \n**Values**:any system-defined batch (`Batch1` - `Batch50 `or by name). "
          type: string
        BcdSettingOption:
          description: "Billing cycle day setting option.\n\n**Character limit**:\
            \ 9\n\n\n**Values**: `AutoSet`, `ManualSet` "
          type: string
        BillCycleDay:
          description: "Billing cycle day (BCD) on which bill runs generate invoices\
            \ for the account.\n\n**Character limit**: 2\n\n\n**Values**: any activated\
            \ system-defined bill cycle day (`1` - `31`) "
          format: int32
          type: integer
        CommunicationProfileId:
          description: "Associates the account with a specified communication profile.\n\
            \n**Character limit**: 32\n\n\n**Values**: a valid communication profile\
            \ ID "
          type: string
        CrmId:
          description: "CRM account ID for the account. A CRM is a customer relationship\
            \ management system, such as Salesforce.com.\n\n**Character limit**: 100\n\
            \n\n**Values**: a string of 100 characters or fewer "
          type: string
        Currency:
          description: ' Currency that the customer is billed in. See [a currency
            value defined in the Zuora Ui admin settings](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Customize_Currencies) '
          type: string
        CustomerServiceRepName:
          description: "Name of the account's customer service representative, if\
            \ applicable.\n\n**Character limit**: 50\n\n\n**Values**: a string of\
            \ 50 characters or fewer "
          type: string
        DefaultPaymentMethodId:
          description: "ID of the default payment method for the account. This field\
            \ is only required if the `AutoPay` field is set to `true`.\n\n\n**Character\
            \ limit**: 32\n\n\n**Values**: A valid ID for an existing payment method.\
            \ This field does not support external payment methods. "
          type: string
        Id:
          description: Internal identifier of an existing account. Only set this field
            if you want to assign the subscription to an existing account.
          type: string
        InvoiceDeliveryPrefsEmail:
          description: "Indicates if the customer wants to receive invoices through\
            \ email.\n**Character limit**: 5\n\n\n**Values**: `true`, `false` (default\
            \ if left null) "
          type: boolean
        InvoiceDeliveryPrefsPrint:
          description: "Indicates if the customer wants to receive printed invoices,\
            \ such as through postal mail.\n\n**Character limit**: 5\n\n\n**Values**:\
            \ `true`, `false` (default if left null) "
          type: boolean
        InvoiceTemplateId:
          description: |+
            The ID of the invoice template. Each customer account can use a specific invoice template for invoice generation.

            **Character limit**: 32


            **Values**: a[ valid template ID configured in Z-Billing Settings](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Manage_Invoice_Rules_and_Templates) To find the ID of your current invoice template: In Zuora, navigate to **Settings > Z-Billing > Manage Invoice Rules and Templates** and click **Show Id **next to the template you want to use.


          type: string
        LastInvoiceDate:
          description: " The date when the previous invoice was generated for the\
            \ account. The field value is null if no invoice has ever been generated\
            \ for the account.\n\n\n**Character limit**: 29\n\n\n**Values**: automatically\
            \ generated "
          format: date
          type: string
        Name:
          description: "Name of the account as displayed in the Zuora UI.\n\n**Character\
            \ limit**: 255\n\n\n**Values**: a string of 255 characters or fewer "
          type: string
        Notes:
          description: " Comments about the account.\n\n**Character limit**: 65,535\n\
            \n\n**Values**: a string of 65,535 characters "
          type: string
        ParentId:
          description: "Identifier of the parent customer account for this Account\
            \ object. Use this field if you have customer hierarchy enabled.\n\n**Character\
            \ limit**: 32\n\n\n**Values**: a valid account ID "
          type: string
        PaymentGateway:
          description: |
            Gateway used for processing electronic payments and refunds. This field is only required if there is no default payment gateway is defined in the tenant.

            **Character limit**: 40


            **Values**: one of the following:

            - a valid configured gateway name
            - Null to inherit the default value set in Z-Payment Settings
          type: string
        PaymentTerm:
          description: "Indicates when the customer pays for subscriptions.\n\n**Character\
            \ limit**: 100\n\n\n**Values**: [a valid, active payment term defined\
            \ in the web-based UI administrative settings](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Payment_Terms) "
          type: string
        PurchaseOrderNumber:
          description: "The number of the purchase order associated with this account.\
            \ Purchase order information generally comes from customers.\n\n**Character\
            \ limit**: 100\n\n\n**Values**: a string of 100 characters or fewer "
          type: string
        SalesRepName:
          description: "The name of the sales representative associated with this\
            \ account, if applicable.\n\n**Character limit**: 50\n\n\n**Values**:\
            \ a string of 50 characters or fewer "
          type: string
        TaxCompanyCode:
          description: " Unique code that identifies a company account in Avalara.\
            \ Use this field to calculate taxes based on origin and sold-to addresses\
            \ in Avalara.\nThis feature is in **Limited Availability**. If you wish\
            \ to have access to the feature, submit a request at [Zuora Global Support](http://support.zuora.com/).\n\
            \n\n\n**Character limit**: 50\n\n\n**Values**: a valid company code "
          type: string
        TaxExemptCertificateID:
          description: "ID of your customer's tax exemption certificate.\n\n**Character\
            \ limit**: 32\n\n\n**Values**: a string of 32 characters or fewer "
          type: string
        TaxExemptCertificateType:
          description: "Type of the tax exemption certificate that your customer holds.\n\
            **Character limit**: 32\n\n\n**Values**: a string of 32 characters or\
            \ fewer "
          type: string
        TaxExemptDescription:
          description: "Description of the tax exemption certificate that your customer\
            \ holds.\n\n**Character limit**: 500\n\n\n**Values**: a string of 500\
            \ characters or fewer "
          type: string
        TaxExemptEffectiveDate:
          description: "Date when the the customer's tax exemption starts.\n\n**Character\
            \ limit**: 29 **Version notes**: requires Z-Tax "
          format: date
          type: string
        TaxExemptExpirationDate:
          description: "Date when the customer's tax exemption certificate expires\n\
            **Character limit**: 29 **Version notes**: requires Z-Tax "
          format: date
          type: string
        TaxExemptIssuingJurisdiction:
          description: "Indicates the jurisdiction in which the customer's tax exemption\
            \ certificate was issued.\n\n**Character limit**: 32\n\n\n**Values**:\
            \ a string of 32 characters or fewer "
          type: string
        TaxExemptStatus:
          description: |2
             Status of the account's tax exemption. This field is only required if you use Zuora Tax. This field is not available if you do not use Zuora Tax.


            **Character limit**: 19


            **Values**: one of the following:

            - `Yes`
            - `No`
            - `PendingVerification`
          type: string
        TotalInvoiceBalance:
          description: "Total balance of the account's invoices.\n\n**Character limit**:\
            \ 16\n\n\n**Values**: a valid currency value "
          format: double
          type: number
        VATId:
          description: " EU Value Added Tax ID.\nThis feature is in **Limited Availability**.\
            \ If you wish to have access to the feature, submit a request at [Zuora\
            \ Global Support](http://support.zuora.com/).\n\n\n\n**Character limit**:\
            \ 25\n\n\n**Values**: a valid Value Added Tax ID "
          type: string
      required:
      - Batch
      - BillCycleDay
      - Currency
      - Name
      type: object
    - $ref: '#/definitions/AccountObjectNSFields'
    - $ref: '#/definitions/AccountObjectCustomFields'
    description: |2-
       This is the Account object containing the information for this particular subscription. It has all the information needed to create an account for a subscription.

      **Values:** A valid account.
    title: Account
  SubscribeRequestBillToContact:
    allOf:
    - properties:
        AccountId:
          description: " The Zuora account ID associated with this contact. This field\
            \ is not required when you use the subscribe\ncall. This field is required\
            \ for all other calls.\n**Character limit: **32 **Values: **a valid account\
            \ ID "
          type: string
        Address1:
          description: " The first line of the contact's address, which is often a\
            \ street address or business name.\n\n\n**Character limit**: 255\n\n\n\
            **Values**: a string of 255 characters or fewer "
          type: string
        Address2:
          description: " The second line of the contact's address.\n\n\n**Character\
            \ limit**: 255\n\n\n**Values**: a string of 255 characters or fewer "
          type: string
        City:
          description: " The city of the contact's address.\n\n\n**Character limit**:\
            \ 40 **Values: **a string of 40 characters or fewer "
          type: string
        Country:
          description: ' The country of the contact''s address. This field is only
            required if you enbale taxation. '
          type: string
        County:
          description: " The country. May optionally be used by [Z-Tax](/C_Zuora_User_Guides/A_Billing_and_Payments/I_Taxes/Z-Tax)\
            \ to calculate county tax.\n\n\n**Character limit**: 32\n\n\n**Values**:\
            \ a string of 32 characters or fewer "
          type: string
        CreatedById:
          description: "The ID of the Zuora user who created the contact.\n\n**Character\
            \ limit**: 32\n\n\n**Values**: automatically generated "
          type: string
        CreatedDate:
          description: "The date when the contact was created.\n\n**Character limit**:\
            \ 29\n\n\n**Values**: automatically generated "
          format: date-time
          type: string
        Description:
          description: " A description for the contact.\n\n\n**Character limit**:\
            \ 100\n\n\n**Values**: a string of 100 characters or fewer "
          type: string
        Fax:
          description: " The contact's fax number.\n\n\n**Character limit**: 40\n\n\
            \n**Values**: a string of 40 characters or fewer "
          type: string
        FirstName:
          description: " The contact's first name.\n\n\n**Character limit**: 100\n\
            \n\n**Values**: a string of the contact's first name "
          type: string
        HomePhone:
          description: " The contact's home phone number.\n\n\n**Character limit**:\
            \ 40\n\n\n**Values**: a string of 40 characters or fewer "
          type: string
        LastName:
          description: " The contact's last name.\n\n\n**Character limit**: 100\n\n\
            \n**Values**: a string of 100 characters or fewer "
          type: string
        MobilePhone:
          description: " The contact's mobile phone number.\n\n\n**Character limit**:\
            \ 40\n\n\n**Values**: a string of 40 characters or fewer "
          type: string
        NickName:
          description: " A nickname for the contact.\n\n\n**Character limit**: 100\n\
            \n\n**Values**: a string of 100 characters or fewer "
          type: string
        OtherPhone:
          description: " An additional phone number for the contact.\n\n\n**Character\
            \ limit**: 40\n\n\n**Values**: a string of 40 characters or fewer "
          type: string
        OtherPhoneType:
          description: "The type of the `OtherPhone`.\n\n**Character limit**: 20\n\
            \n\n**Values**: `Work`, `Mobile`, `Home`, `Other` "
          type: string
        PersonalEmail:
          description: " The contact's personal email address.\n\n\n**Character limit**:\
            \ 80\n\n\n**Values**: a string of 80 characters or fewer "
          type: string
        PostalCode:
          description: " The zip code for the contact's address.\n**Character limit:**\
            \ 20 **Values: **a string of 20 characters or fewer "
          type: string
        State:
          description: ' The state or province of the contact''s address. '
          type: string
        TaxRegion:
          description: 'If using [Z-Tax](https://knowledgecenter.zuora.com/CB_Billing/J_Billing_Operations/L_Taxes/A_Z-Tax)
            tax rules '
          type: string
        UpdatedById:
          description: " The ID of the user who lasted updated the contact.\n\n\n\
            **Character limit**: 32\n\n\n**Values**: automatically generated "
          type: string
        UpdatedDate:
          description: " The date when the contact was last updated.\n\n\n**Character\
            \ limit**: 29\n\n\n**Values**: automatically generated "
          format: date-time
          type: string
        WorkEmail:
          description: " The contact's business email address.\n\n\n**Character limit**:\
            \ 80\n\n\n**Values**: a string of 80 characters or fewer "
          type: string
        WorkPhone:
          description: " The contact's business phone number.\n\n\n**Character limit**:\
            \ 40 **notes**: --\n\n\n**Values**: a string of 40 characters or fewer "
          type: string
      required:
      - FirstName
      - LastName
      type: object
    - $ref: '#/definitions/ContactObjectCustomFields'
    description: |2-
       This is the object that contains the contact associated with this account in the Account's `BillToId` field.
      This field is only required if the account does not exist.
      Values: A valid contact for the account.
    title: Contact
  SubscribeRequestSoldToContact:
    allOf:
    - properties:
        AccountId:
          description: " The Zuora account ID associated with this contact. This field\
            \ is not required when you use the subscribe\ncall. This field is required\
            \ for all other calls.\n**Character limit: **32 **Values: **a valid account\
            \ ID "
          type: string
        Address1:
          description: " The first line of the contact's address, which is often a\
            \ street address or business name.\n\n\n**Character limit**: 255\n\n\n\
            **Values**: a string of 255 characters or fewer "
          type: string
        Address2:
          description: " The second line of the contact's address.\n\n\n**Character\
            \ limit**: 255\n\n\n**Values**: a string of 255 characters or fewer "
          type: string
        City:
          description: " The city of the contact's address.\n\n\n**Character limit**:\
            \ 40 **Values: **a string of 40 characters or fewer "
          type: string
        Country:
          description: ' The country of the contact''s address. '
          type: string
        County:
          description: " The country. May optionally be used by [Z-Tax](/C_Zuora_User_Guides/A_Billing_and_Payments/I_Taxes/Z-Tax)\
            \ to calculate county tax.\n\n\n**Character limit**: 32\n\n\n**Values**:\
            \ a string of 32 characters or fewer "
          type: string
        CreatedById:
          description: "The ID of the Zuora user who created the contact.\n\n**Character\
            \ limit**: 32\n\n\n**Values**: automatically generated "
          type: string
        CreatedDate:
          description: "The date when the contact was created.\n\n**Character limit**:\
            \ 29\n\n\n**Values**: automatically generated "
          format: date-time
          type: string
        Description:
          description: " A description for the contact.\n\n\n**Character limit**:\
            \ 100\n\n\n**Values**: a string of 100 characters or fewer "
          type: string
        Fax:
          description: " The contact's fax number.\n\n\n**Character limit**: 40\n\n\
            \n**Values**: a string of 40 characters or fewer "
          type: string
        FirstName:
          description: " The contact's first name.\n\n\n**Character limit**: 100\n\
            \n\n**Values**: a string of the contact's first name "
          type: string
        HomePhone:
          description: " The contact's home phone number.\n\n\n**Character limit**:\
            \ 40\n\n\n**Values**: a string of 40 characters or fewer "
          type: string
        LastName:
          description: " The contact's last name.\n\n\n**Character limit**: 100\n\n\
            \n**Values**: a string of 100 characters or fewer "
          type: string
        MobilePhone:
          description: " The contact's mobile phone number.\n\n\n**Character limit**:\
            \ 40\n\n\n**Values**: a string of 40 characters or fewer "
          type: string
        NickName:
          description: " A nickname for the contact.\n\n\n**Character limit**: 100\n\
            \n\n**Values**: a string of 100 characters or fewer "
          type: string
        OtherPhone:
          description: " An additional phone number for the contact.\n\n\n**Character\
            \ limit**: 40\n\n\n**Values**: a string of 40 characters or fewer "
          type: string
        OtherPhoneType:
          description: "The type of the `OtherPhone`.\n\n**Character limit**: 20\n\
            \n\n**Values**: `Work`, `Mobile`, `Home`, `Other` "
          type: string
        PersonalEmail:
          description: " The contact's personal email address.\n\n\n**Character limit**:\
            \ 80\n\n\n**Values**: a string of 80 characters or fewer "
          type: string
        PostalCode:
          description: " The zip code for the contact's address.\n**Character limit:**\
            \ 20 **Values: **a string of 20 characters or fewer "
          type: string
        State:
          description: ' The state or province of the contact''s address. '
          type: string
        TaxRegion:
          description: 'If using [Z-Tax](https://knowledgecenter.zuora.com/CB_Billing/J_Billing_Operations/L_Taxes/A_Z-Tax)
            tax rules '
          type: string
        UpdatedById:
          description: " The ID of the user who lasted updated the contact.\n\n\n\
            **Character limit**: 32\n\n\n**Values**: automatically generated "
          type: string
        UpdatedDate:
          description: " The date when the contact was last updated.\n\n\n**Character\
            \ limit**: 29\n\n\n**Values**: automatically generated "
          format: date-time
          type: string
        WorkEmail:
          description: " The contact's business email address.\n\n\n**Character limit**:\
            \ 80\n\n\n**Values**: a string of 80 characters or fewer "
          type: string
        WorkPhone:
          description: " The contact's business phone number.\n\n\n**Character limit**:\
            \ 40 **notes**: --\n\n\n**Values**: a string of 40 characters or fewer "
          type: string
      type: object
    - $ref: '#/definitions/ContactObjectCustomFields'
    description: " Unless otherwise specified, this field defaults to the information\
      \ in the `BillToContact` field.\n\n**Values:** A valid contact. "
    title: Contact
  SubscribeRequestSubscriptionDataSubscription:
    allOf:
    - properties:
        AccountId:
          description: ' This field can be updated when `Status` is `Draft`. '
          type: string
        AncestorAccountId:
          description: " A filter option for querying all subscriptions under the\
            \ same account hierarchy.\n\n\n**Character limit**: 32\n\n\n**Values**:\
            \ a valid account ID "
          type: string
        AutoRenew:
          description: " This field can be updated when `Status` is `Draft`. Indicates\
            \ if the subscription automatically renews at the end of the term. This\
            \ field is only required if the `TermType` field is set to `TERMED`.\n\
            \n\n\n**Values**: `true`, `false` "
          type: boolean
        CancelledDate:
          description: " The date of the amendment that canceled the subscription.\n\
            \n\n\n**Values**: inherited from `Amendment`.`EffectiveDate` "
          format: date
          type: string
        ContractAcceptanceDate:
          description: |2
             The date when the customer accepts the contract. This field can be updated when **Status** is `Draft`.


            This field is only required if the [Require Service Activation of Orders?](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Default_Subscription_Settings#Require_Service_Activation_of_Orders.3F) Setting is set to `Yes`. If this setting is set to `Yes`:

            - If ContractAcceptanceDate field is required, you must set this field, ContractAcceptanceDate, and ContractEffectiveDate fields in the subscribe call to activate a subscription.
            - If ContractAcceptanceDate field is not required, you must set both this field and the ContractEffectiveDate field in the subscribe call to activate a subscription. If you only set a valid date in the ContractEffectiveDate field, the subscribe call still returns success, but the subscription is in `DRAT` status.
          format: date
          type: string
        ContractEffectiveDate:
          description: " The date when the contract takes effect. This field can be\
            \ updated when **Status** is `Draft`.\n\n\n**Note**: This field is required\
            \ in the subscribe call. If you set the value of this field to null and\
            \ both the ServiceActivationDate and ContractAcceptanceDate fields are\
            \ not required, the subscribe call still returns success, but the new\
            \ subscription is in `DRAFT` status. To activate the subscription, you\
            \ must set a valid date to this field. "
          format: date
          type: string
        CreatedById:
          description: "The user ID of the person who created the subscription.\n\n\
            **Character limit**: 32\n\n\n**Values**: automatically generated "
          type: string
        CreatedDate:
          description: " The date the subscription was created. This value is the\
            \ same as the OriginalCreatedDate value until the subscription is amended.\n\
            \n\n\n**Values**: automatically generated "
          format: date-time
          type: string
        CreatorAccountId:
          description: " The account ID that created the subscription or the amended\
            \ subscription.\n\n\n**Character limit**: 32\n\n\n**Values**: automatically\
            \ generated "
          type: string
        CreatorInvoiceOwnerId:
          description: "The account ID that owns the invoices associated with the\
            \ subscription or the amended subscription.\n\n\n**Character limit**:\
            \ 32\n\n\n**Values**: automatically generated "
          type: string
        CurrentTerm:
          description: " The length of the period for the current subscription term.\
            \ This field is only required If the `TermType` field is set to `TERMED`\
            \ and its value must be greater than `0`. If TermType is set to `EVERGREEN`,\
            \ this value is ignored. Default is `0`.\n\n\n**Character limit**: 20\n\
            \n\n**Values**: automatically generated "
          format: int32
          type: integer
        CurrentTermPeriodType:
          description: |2
             The period type for the current subscription term. This field is used with the CurrentTerm field to specify the current subscription term.



            **Values**:

            - `Month` (default)
            - `Year`
            - `Day`
            - `Week`
          type: string
        InitialTerm:
          description: " The length of the period for the first subscription term.\
            \ This field can be updated when Status is `Draft`. If you use the subscribe\n\
            call, this field is required.\n\n\nThis field is only required if the\
            \ `TermType` field is set to `TERMED`.\n\n**Character limit**: 20\n\n\n\
            **Values**: any valid number. The default value is 0. "
          format: int32
          type: integer
        InitialTermPeriodType:
          description: |2
             The period type for the first subscription term.



            **Values**:

            - `Month` (default)
            - `Year`
            - `Day`
            - `Week`


            **Note**:

            - This field can be updated when `Status` is `Draft`.
            - This field is used with the `InitialTerm` field to specify the initial subscription term.
          type: string
        InvoiceOwnerId:
          description: ' This field can be updated when `Status` is `Draft`. '
          type: string
        IsInvoiceSeparate:
          description: " Determines if the subscription is invoiced separately. If\
            \ `TRUE`, then all charges for this subscription are collected into the\
            \ subscription's own invoice.\n\n\n\n**Values**: `TRUE`, `FALSE `(default) "
          type: boolean
        Name:
          description: |2
             The unique identifier of the subscription. If you don't specify a value, then Zuora generates a name automatically. Whether auto-generated or manually specified, the subscription name must be unique. Otherwise an error will occur. You can change this value only when the subscription is in `Draft` status. Once the subscription is activated, you can't change this value, nor can you use this value for a different subscription.


            **Character limit**: 100


            **Values**: one of the following:

            - leave null to automatically generate
            - a string of 100 characters or fewer
          type: string
        Notes:
          description: " Use this field to record comments about the subscription.\n\
            \n\n**Character limit**: 500\n\n\n**Values**: a string of 500 characters\
            \ or fewer "
          type: string
        OriginalCreatedDate:
          description: " The date when the subscription was originally created. This\
            \ value is the same as the CreatedDate value until the subscription is\
            \ amended.\n\n\n\n**Values**: automatically generated "
          format: date-time
          type: string
        OriginalId:
          description: " The original ID of this subscription.\n\n\n\n**Values**:\
            \ automatically generated "
          type: string
        PreviousSubscriptionId:
          description: " The subscription ID immediately prior to the current subscription.\n\
            \n\n**Character limit**: 32\n\n\n**Values**: automatically generated "
          type: string
        RenewalSetting:
          description: " This field can be updated when **Status** is `Draft`. Specifies\
            \ whether a termed subscription will remain termed or change to evergreen\
            \ when it is renewed.\n\n\nThis field is only required if the `TermType`\
            \ field is set to `TERMED`.\n\n\n**Values**: `RENEW_WITH_SPECIFIC_TERM\
            \ `(default), `RENEW_TO_EVERGREEN` "
          type: string
        RenewalTerm:
          description: |2
             The length of the period for the subscription renewal term. This field can be updated when **Status** is `Draft`. If you use the subscribe
            call, this field is required.


            This field is only required if the `TermType` field is set to `TERMED`.


            **Character limit**: 20


            **Values**: one of the following:

            - leave null to default to `0`
            - any number
          format: int32
          type: integer
        RenewalTermPeriodType:
          description: |2
             The period type for the subscription renewal term.



            **Values**:

            - `Month` (default)
            - `Year`
            - `Day`
            - `Week`


            **Note**:

            - This field is used with the RenewalTerm field to specify the subscription renewal term.
            - This field can be updated when Status is `Draft`.
          type: string
        ServiceActivationDate:
          description: |2+
             The date when the subscription is activated.
            This field can be updated when **Status** is `Draft`. This field is only required if the [Require Service Activation of Orders?](https://knowledgecenter.zuora.com/CB_Billing/Billing_Settings/Define_Default_Subscription_Settings#Require_Service_Activation_of_Orders.3F) Setting is set to `Yes`.
            If this setting is set to `Yes`:

            - If ContractAcceptanceDate field is required, you must set this field, ContractAcceptanceDate, and ContractEffectiveDate fields in the subscribe call to activate a subscription.
            - If ContractAcceptanceDate field is not required, you must set both this field and the ContractEffectiveDate field in the subscribe call to activate a subscription. If you only set a valid date in the ContractEffectiveDate field, the subscribe call still returns success, but the subscription is in `DRAT` status.


            **Character limit**: 29

          format: date
          type: string
        Status:
          description: |2
             The status of the subscription.


            **Character limit**: 17


            **Values**: automatically generated

            **Possible values**: one of the following:

            - `Draft`
            - `PendingActivation`
            - `PendingAcceptance`
            - `Active`
            - `Cancelled`
            - `Expired`
            - `Suspended` (This value is in **Limited Availability**.)
          type: string
        SubscriptionEndDate:
          description: " The date when the subscription term ends, where the subscription\
            \ ends at midnight the day before. For example, if the SubscriptionEndDate\
            \ is 12/31/2016, the subscriptions ends at midnight (00:00:00 hours) on\
            \ 12/30/2016. This date is the same as the term end date or the cancelation\
            \ date, as appropriate.\n\n\n**Character limit**: 29\n\n\n**Values**:\
            \ automatically generated "
          format: date
          type: string
        SubscriptionStartDate:
          description: " The date when the subscription term starts. This date is\
            \ the same as the start date of the original term, which isn't necessarily\
            \ the start date of the current or new term.\n\n\n**Character limit**:\
            \ 29\n\n\n**Values**: automatically generated "
          format: date
          type: string
        TermEndDate:
          description: " This field can be updated when **Status** is `Draft`. The\
            \ date when the subscription term ends. If the subscription is evergreen,\
            \ the TermEndDate value is null or is the cancelation date, as appropriate.\n\
            \n**Character limit**: 29\n\n\n**Values**: automatically generated "
          format: date
          type: string
        TermStartDate:
          description: " This field can be updated when **Status** is `Draft`. The\
            \ date when the subscription term begins. If this is a renewal subscription,\
            \ then this date is different from the subscription start date. If you\
            \ don't specify a value, then Zuora uses ContractEffectiveDate automatically.\n\
            \n\n**Character limit**: 29 "
          format: date
          type: string
        TermType:
          description: " This field can be updated when **Status** is `Draft`. Indicates\
            \ if a subscription is [termed or evergreen](https://knowledgecenter.zuora.com/BC_Subscription_Management/Subscriptions#Termed_and_Evergreen_Subscriptions).\
            \ A termed subscription has a specific end date and requires manual renewal.\
            \ An evergreen subscription doesn't have an end date and doesn't need\
            \ renewal. This field can be updated when the subscription status is Draft.\n\
            \n\n**Character limit**: 9\n\n\n**Values**: `TERMED`, `EVERGREEN` "
          type: string
        UpdatedById:
          description: " The ID of the user who last updated the subscription.\n**Character\
            \ limit:** 32 **Values: **automatically generated "
          type: string
        UpdatedDate:
          description: " The date when the subscription was last updated.\n**Character\
            \ limit:** 29\n\n\n**Values**: automatically generated "
          format: date-time
          type: string
        Version:
          description: " The version number of the subscription.\n\n\n\n**Values**:\
            \ automatically generated "
          format: int32
          type: integer
      required:
      - ContractEffectiveDate
      - TermType
      type: object
    - $ref: '#/definitions/SubscriptionObjectQTFields'
    - $ref: '#/definitions/SubscriptionObjectNSFields'
    - $ref: '#/definitions/SubscriptionObjectCustomFields'
    description: ''
    title: Subscription
  SubscribeResult:
    properties:
      AccountId:
        description: ''
        type: string
      AccountNumber:
        description: ''
        type: string
      ChargeMetricsData:
        description: ''
        properties:
          ChargeMetrics:
            description: ''
            items:
              $ref: '#/definitions/NewChargeMetrics'
            type: array
        type: object
      Errors:
        description: ''
        items:
          $ref: '#/definitions/ActionsErrorResponse'
        type: array
      GatewayResponse:
        description: ''
        type: string
      GatewayResponseCode:
        description: ''
        type: string
      InvoiceData:
        description: ''
        items:
          $ref: '#/definitions/ActionSubscribeInvoiceData'
        type: array
      InvoiceId:
        description: ''
        type: string
      InvoiceNumber:
        description: ''
        type: string
      InvoiceResult:
        description: ''
        properties:
          Invoice:
            description: ''
            items:
              description: ''
              properties:
                Id:
                  description: ''
                  type: string
                InvoiceNumber:
                  description: ''
                  type: string
              type: object
            type: array
        type: object
      PaymentId:
        description: ''
        type: string
      PaymentTransactionNumber:
        description: ''
        type: string
      SubscriptionId:
        description: ''
        type: string
      SubscriptionNumber:
        description: ''
        type: string
      Success:
        description: ''
        type: boolean
      TotalMrr:
        description: ''
        format: double
        type: number
      TotalTcv:
        description: ''
        format: double
        type: number
    type: object
  SubscriptionObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Subscription object. The name of each custom
        field has the form <code>*customField*__c</code>. Custom field names are case
        sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Subscription object.

      '
    title: subscriptionFieldsCustom
    type: object
  SubscriptionObjectNSFields:
    description: 'Container for Subscription fields provided by the [Zuora Connector
      for NetSuite](https://www.zuora.com/connect/app/?appId=265).

      '
    properties:
      IntegrationId__NS:
        description: 'ID of the corresponding object in NetSuite. Only available if
          you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      IntegrationStatus__NS:
        description: 'Status of the subscription''s synchronization with NetSuite.
          Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      Project__NS:
        description: 'The NetSuite project that the subscription was created from.
          Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      SalesOrder__NS:
        description: 'The NetSuite sales order than the subscription was created from.
          Only available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
      SyncDate__NS:
        description: 'Date when the subscription was synchronized with NetSuite. Only
          available if you have installed the [Zuora Connector for NetSuite](https://www.zuora.com/connect/app/?appId=265).

          '
        maxLength: 255
        type: string
    title: subscriptionFieldsNS
    type: object
  SubscriptionObjectQTFields:
    description: 'Container for Subscription fields provided by Zuora Quotes.

      '
    properties:
      CpqBundleJsonId__QT:
        description: 'The Bundle product structures from Zuora Quotes if you utilize
          Bundling in Salesforce. Do not change the value in this field.

          '
        maxLength: 32
        type: string
      OpportunityCloseDate__QT:
        description: 'The closing date of the Opportunity. This field is used in Zuora
          data sources to report on Subscription metrics. If the subscription originated
          from Zuora Quotes, the value is populated with the value from Zuora Quotes.

          '
        format: date
        type: string
      OpportunityName__QT:
        description: 'The unique identifier of the Opportunity. This field is used
          in Zuora data sources to report on Subscription metrics. If the subscription
          originated from Zuora Quotes, the value is populated with the value from
          Zuora Quotes.

          '
        maxLength: 100
        type: string
      QuoteBusinessType__QT:
        description: 'The specific identifier for the type of business transaction
          the Quote represents such as New, Upsell, Downsell, Renewal or Churn. This
          field is used in Zuora data sources to report on Subscription metrics. If
          the subscription originated from Zuora Quotes, the value is populated with
          the value from Zuora Quotes.

          '
        maxLength: 32
        type: string
      QuoteNumber__QT:
        description: 'The unique identifier of the Quote. This field is used in Zuora
          data sources to report on Subscription metrics. If the subscription originated
          from Zuora Quotes, the value is populated with the value from Zuora Quotes.

          '
        maxLength: 32
        type: string
      QuoteType__QT:
        description: 'The Quote type that represents the subscription lifecycle stage
          such as New, Amendment, Renew or Cancel. This field is used in Zuora data
          sources to report on Subscription metrics. If the subscription originated
          from Zuora Quotes, the value is populated with the value from Zuora Quotes.

          '
        maxLength: 32
        type: string
    title: subscriptionFieldsQT
    type: object
  SubscriptionProductFeature:
    allOf:
    - properties:
        CreatedById:
          description: ''
          type: string
        CreatedDate:
          description: " Date and time when the product feature was added to the subscription.\n\
            \n\n**Character limit**: 29\n\n\n**Values**: "
          format: date-time
          type: string
        Description:
          description: " Description of the subscription product feature.\n\n\n**Character\
            \ limit**: 500\n\n\n**Values**: "
          type: string
        FeatureCode:
          description: " Unique code of the feature.\n\n\n**Character limit**: 255\n\
            \n\n**Values**: "
          type: string
        FeatureId:
          description: " Internal Zuora ID of the feature.\n\n\n**Character limit**:\
            \ 32\n\n\n**Values**: "
          type: string
        Name:
          description: " Name of the feature.\n\n\n**Character limit**: 255\n\n\n\
            **Values**: "
          type: string
        RatePlanId:
          description: " Id of the product rate plan to which the feature belongs.\n\
            \n\n**Character limit**: 32\n\n\n**Values**: "
          type: string
        UpdatedById:
          description: " Internal Zuora ID of the user who last updated the subscription\
            \ product feature.\n\n\n**Character limit**: 32\n\n\n**Values**: "
          type: string
        UpdatedDate:
          description: " Date and time when the subscription product feature was last\
            \ updated.\n\n\n**Character limit**: 29\n\n\n**Values**: "
          format: date-time
          type: string
      required:
      - FeatureId
      type: object
    - $ref: '#/definitions/SubscriptionProductFeatureObjectCustomFields'
  SubscriptionProductFeatureList:
    properties:
      SubscriptionProductFeature:
        description: ''
        items:
          $ref: '#/definitions/ActionAmendSubscriptionProductFeature'
        type: array
    type: object
  SubscriptionProductFeatureObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Subscription Product Feature object. The
        name of each custom field has the form <code>*customField*__c</code>. Custom
        field names are case sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Subscription Product Feature object.

      '
    title: subscriptionProductFeatureFieldsCustom
    type: object
  Task:
    description: 'A task.

      '
    properties:
      action_type:
        description: 'The type of the task.

          '
        enum:
        - Approval
        - Attachment
        - Billing::BillRun
        - Billing::CurrencyConversion
        - Billing::CustomInvoice
        - Callout
        - Cancel
        - Create
        - CustomObject::Create
        - CustomObject::Delete
        - CustomObject::Query
        - CustomObject::Update
        - Data::BillingPreviewRun
        - Data::Link
        - Delay
        - Delete
        - Download::SFTP
        - Email
        - Export
        - File::CustomPDF::CustomDocument
        - If
        - InvoiceGenerate
        - Iterate
        - Logic::CSVTranslator
        - Logic::Case
        - Logic::CustomCode
        - Logic::JSONTransform
        - Logic::Lambda
        - Logic::ResponseFormatter
        - Logic::XMLTransform
        - NewProduct
        - Notifications::GoogleCloudPrint
        - Notifications::PhoneCall
        - Notifications::SMS
        - Payment::GatewayReconciliation
        - Payment::PaymentRun
        - Query
        - RemoveProduct
        - Reporting::ReportData
        - Reporting::RunReport
        - Resume
        - Suspend
        - UI::Page
        - UI::Stop
        - Update
        - Upload::FTP
        - Upload::SFTP
        - WriteOff
        type: string
      call_type:
        description: 'The type of API used.

          '
        type: string
      concurrent_limit:
        description: the number of concurrent tasks that are allowed to run simultaneously
        type: integer
      data:
        description: 'The data payload for the task.

          '
        type: object
      end_time:
        description: 'If **Instance** is **true**, the end time of the task instance.

          '
        type: string
      error:
        description: 'If **Instance** is **true** and **status** is **Error**, the
          error reason of the task instance failure.

          '
        type: string
      error_class:
        description: 'If **Instance** is **true** and **status** is **Error**, the
          error class of the task instance failure.

          '
        type: string
      error_details:
        description: 'If **Instance** is **true** and **status** is **Error**, the
          error details of the task instance failure.

          '
        type: string
      id:
        description: 'The unique ID of the task.

          '
        type: integer
      instance:
        description: 'Indicates whether this task belongs to an instance of a workflow.

          '
        type: boolean
      name:
        description: 'The name of the task.

          '
        type: string
      object:
        description: 'The selected object for the task.

          '
        type: string
      object_id:
        description: 'The id of the selected object of the task.

          '
        type: string
      original_task_id:
        description: 'If **Instance** is **true**, the ID of the original task in
          the original workflow.

          '
        type: integer
      original_workflow_id:
        description: 'If **Instance** is **true**, the ID of the original workflow.

          '
        type: integer
      parameters:
        description: 'The configuration of the task.

          '
        type: object
      start_time:
        description: 'If **Instance** is **true**, the start time of the task instance.

          '
        type: string
      status:
        description: 'If **Instance** is **true**, the status of the task instance.

          '
        enum:
        - Queued
        - Processing
        - Pending
        - Success
        - Stopped
        - Error
        type: string
      tags:
        description: 'The array of filter tags.

          '
        items:
          type: string
        type: array
      task_id:
        description: the id of this task's parent task. Will be null if this is the
          first task of the workflow
        type: integer
      workflow_id:
        description: 'The ID of the workflow that the task belongs to.

          '
        type: integer
    type: object
  TasksResponse:
    properties:
      data:
        description: 'The list of tasks retrieved.

          '
        items:
          $ref: '#/definitions/Task'
        type: array
      pagination:
        description: 'An object containing pagination information for the list of
          tasks returned by the API.

          '
        properties:
          next_page:
            description: 'A string containing the URL where the next page of data
              can be retrieved.

              '
            type: string
          page:
            description: 'An integer denoting the current page number.

              '
            type: integer
          page_length:
            description: 'An integer denoting the number of tasks in this response.

              '
            type: integer
        type: object
    type: object
  TaxInfo:
    description: 'Information about the tax exempt status of a customer account.

      '
    properties:
      VATId:
        description: |
          EU Value Added Tax ID.

          **Note:** This feature is in Limited Availability. If you wish to have access to the feature, submit a request at [Zuora Global Support](https://support.zuora.com).
        maxLength: 25
        type: string
      companyCode:
        description: |
          Unique code that identifies a company account in Avalara. Use this field to calculate taxes based on origin and sold-to addresses in Avalara.

          **Note:** This feature is in Limited Availability. If you wish to have access to the feature, submit a request at [Zuora Global Support](https://support.zuora.com).
        maxLength: 50
        type: string
      exemptCertificateId:
        description: 'ID of the customer tax exemption certificate. Only applicable
          if you use Zuora Tax.

          '
        maxLength: 32
        type: string
      exemptCertificateType:
        description: 'Type of tax exemption certificate that the customer holds. Only
          applicable if you use Zuora Tax.

          '
        maxLength: 32
        type: string
      exemptDescription:
        description: 'Description of the tax exemption certificate that the customer
          holds. Only applicable if you use Zuora Tax.

          '
        maxLength: 500
        type: string
      exemptEffectiveDate:
        description: 'Date when the customer tax exemption starts, in YYYY-MM-DD format.
          Only applicable if you use Zuora Tax.

          '
        format: date
        type: string
      exemptExpirationDate:
        description: 'Date when the customer tax exemption expires, in YYYY-MM-DD
          format. Only applicable if you use Zuora Tax.

          '
        format: date
        type: string
      exemptIssuingJurisdiction:
        description: 'Jurisdiction in which the customer tax exemption certificate
          was issued.

          '
        maxLength: 32
        type: string
      exemptStatus:
        default: 'No'
        description: 'Status of the account tax exemption. Required if you use Zuora
          Tax. Only applicable if you use Zuora Tax.

          '
        enum:
        - 'No'
        - 'Yes'
        - PendingVerification
        type: string
    title: taxInfo
    type: object
  TaxationItemObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Taxation Item object. The name of each custom
        field has the form <code>*customField*__c</code>. Custom field names are case
        sensitive. See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Taxation Item object.

      '
    title: taxationItemFieldsCustom
    type: object
  Term:
    description: 'List of terms for the subscription.

      '
    properties:
      endDate:
        description: 'The end date of the term.

          '
        format: date
        type: string
      isEvergreen:
        description: 'Indicates whether the term is evergreen.

          '
        type: boolean
      startDate:
        description: 'The start date of the term.

          '
        format: date
        type: string
      termNumber:
        description: 'The term number.

          '
        format: long
        type: number
    type: object
  TermsAndConditions:
    description: 'Information about an order action of type `TermsAndConditions`.

      '
    properties:
      autoRenew:
        type: boolean
      initialTerm:
        $ref: '#/definitions/InitialTerm'
      renewalSetting:
        enum:
        - RENEW_WITH_SPECIFIC_TERM
        - RENEW_TO_EVERGREEN
        type: string
      renewalTerms:
        items:
          $ref: '#/definitions/RenewalTerm'
        type: array
    title: termsAndConditions
    type: object
  TimeSlicedElpNetMetrics:
    properties:
      amount:
        description: The extended list price which is calculated by the original product
          catalog list price multiplied by the delta quantity.
        type: number
      endDate:
        description: The latest date that the metric applies.
        format: date
        type: string
      generatedReason:
        description: 'Specify the reason why the metrics are generated by the certain
          order action.

          '
        enum:
        - IncreaseQuantity
        - DecreaseQuantity
        - ChangePrice
        - Extension
        - Contraction
        type: string
      invoiceOwner:
        description: The acount number of the billing account that is billed for the
          subscription.
        type: string
      orderItemId:
        description: The ID of the order item referenced by the order metrics.
        type: string
      startDate:
        description: The earliest date that the metric applies.
        format: date
        type: string
      subscriptionOwner:
        description: The acount number of the billing account that owns the subscription.
        type: string
      tax:
        description: The tax amount in the metric when the tax permission is enabled.
        type: number
      termNumber:
        format: long
        type: number
      type:
        description: The type for ELP is always "Regular".
        enum:
        - Regular
        - Discount
        type: string
    type: object
  TimeSlicedMetrics:
    properties:
      amount:
        type: number
      endDate:
        format: date
        type: string
      generatedReason:
        description: 'Specify the reason why the metrics are generated by the certain
          order action.

          '
        enum:
        - IncreaseQuantity
        - DecreaseQuantity
        - ChangePrice
        - Extension
        - Contraction
        type: string
      invoiceOwner:
        description: The acount number of the billing account that is billed for the
          subscription.
        type: string
      orderItemId:
        description: The ID of the order item referenced by the order metrics.
        type: string
      startDate:
        format: date
        type: string
      subscriptionOwner:
        description: The acount number of the billing account that owns the subscription.
        type: string
      termNumber:
        format: long
        type: number
    type: object
  TimeSlicedMetricsForEvergreen:
    properties:
      amount:
        type: number
      endDate:
        format: date
        type: string
      invoiceOwner:
        description: The acount number of the billing account that is billed for the
          subscription.
        type: string
      startDate:
        format: date
        type: string
      subscriptionOwner:
        description: The acount number of the billing account that owns the subscription.
        type: string
      termNumber:
        format: long
        type: number
    type: object
  TimeSlicedNetMetrics:
    properties:
      amount:
        type: number
      discountChargeNumber:
        type: string
      endDate:
        format: date
        type: string
      generatedReason:
        description: 'Specify the reason why the metrics are generated by the certain
          order action.

          '
        enum:
        - IncreaseQuantity
        - DecreaseQuantity
        - ChangePrice
        - Extension
        - Contraction
        type: string
      invoiceOwner:
        description: The acount number of the billing account that is billed for the
          subscription.
        type: string
      orderItemId:
        description: The ID of the order item referenced by the order metrics.
        type: string
      startDate:
        format: date
        type: string
      subscriptionOwner:
        description: The acount number of the billing account that owns the subscription.
        type: string
      termNumber:
        format: long
        type: number
      type:
        description: Indicates whether this metrics is for a regular charge or a discount
          charge.
        enum:
        - Regular
        - Discount
        type: string
    type: object
  TimeSlicedNetMetricsForEvergreen:
    properties:
      amount:
        type: number
      discountChargeNumber:
        type: string
      endDate:
        format: date
        type: string
      invoiceOwner:
        description: The acount number of the billing account that is billed for the
          subscription.
        type: string
      startDate:
        format: date
        type: string
      subscriptionOwner:
        description: The acount number of the billing account that owns the subscription.
        type: string
      termNumber:
        format: long
        type: number
      type:
        description: Indicates whether this metrics is for a regular charge or a discount.
          charge.
        enum:
        - Regular
        - Discount
        type: string
    type: object
  TimeSlicedTcbNetMetrics:
    properties:
      amount:
        type: number
      discountChargeNumber:
        type: string
      endDate:
        format: date
        type: string
      generatedReason:
        description: 'Specify the reason why the metrics are generated by the certain
          order action.

          '
        enum:
        - IncreaseQuantity
        - DecreaseQuantity
        - ChangePrice
        - Extension
        - Contraction
        type: string
      invoiceOwner:
        description: The acount number of the billing account that is billed for the
          subscription.
        type: string
      orderItemId:
        description: The ID of the order item referenced by the order metrics.
        type: string
      startDate:
        format: date
        type: string
      subscriptionOwner:
        description: The acount number of the billing account that owns the subscription.
        type: string
      tax:
        type: number
      termNumber:
        format: long
        type: number
      type:
        description: Indicates whether this metrics is for a regular charge or a discount
          charge.
        enum:
        - Regular
        - Discount
        type: string
    type: object
  TimeSlicedTcbNetMetricsForEvergreen:
    properties:
      amount:
        type: number
      discountChargeNumber:
        type: string
      endDate:
        format: date
        type: string
      invoiceOwner:
        description: The acount number of the billing account that is billed for the
          subscription.
        type: string
      startDate:
        format: date
        type: string
      subscriptionOwner:
        description: The acount number of the billing account that owns the subscription.
        type: string
      tax:
        type: number
      termNumber:
        format: long
        type: number
      type:
        description: Indicates whether this metrics is for a regular charge or a discount.
          charge.
        enum:
        - Regular
        - Discount
        type: string
    type: object
  TransferPaymentType:
    example:
      accountId: 4028905f5a87c0ff015a88889fe500a8
    properties:
      accountId:
        description: 'The ID of the customer account that the payment is transferred
          to.

          '
        type: string
    type: object
  TriggerDate:
    properties:
      name:
        description: 'Name of the trigger date of the order action.

          '
        enum:
        - ContractEffective
        - ServiceActivation
        - CustomerAcceptance
        type: string
      triggerDate:
        description: 'Trigger date in YYYY-MM-DD format.

          '
        format: date
        type: string
    title: triggerDate
    type: object
  TriggerParams:
    description: 'Specifies when a charge becomes active.

      '
    properties:
      specificTriggerDate:
        description: "Date in YYYY-MM-DD format. Only applicable if the value of the\
          \ `triggerEvent` field is `SpecificDate`. \n\nWhile this field is applicable,\
          \ if this field is not set, your `CreateSubscription` order action creates\
          \ a `Pending` order and a `Pending Acceptance` subscription. If at the same\
          \ time the service activation date is required and not set, a `Pending Activation`\
          \ subscription is created.\n\nWhile this field is applicable, if this field\
          \ is not set, the following order actions create a `Pending` order but do\
          \ not impact the subscription status. **Note**: This feature is in **Limited\
          \ Availability**. If you want to have access to the feature, submit a request\
          \ at [Zuora Global Support](http://support.zuora.com/).\n * AddProduct\n\
          \ * UpdateProduct\n * RemoveProduct\n * RenewSubscription\n * TermsAndConditions\n"
        format: date
        type: string
      triggerEvent:
        description: |
          Condition for the charge to become active.

          If the value of this field is `SpecificDate`, use the `specificTriggerDate` field to specify the date when the charge becomes active.
        enum:
        - ContractEffective
        - ServiceActivation
        - CustomerAcceptance
        type: string
    title: startDate
    type: object
  UnapplyCreditMemoType:
    example:
      effectiveDate: '2017-03-02'
      invoices:
      - amount: 1
        invoiceId: 4028905f5a87c0ff015a87d3f8f10043
        items:
        - amount: 0.9
          creditMemoItemId: 4028905f5a890526015a8d73f74b0016
          invoiceItemId: 4028905f5a87c0ff015a87d3f90c0045
        - amount: 0.1
          creditTaxItemId: 4028905f5a890526015a8d73f90c0018
          taxItemId: 4028905f5a87c0ff015a87d3f884003f
    properties:
      debitMemos:
        description: 'Container for debit memos that the credit memo is unapplied
          from.

          '
        items:
          $ref: '#/definitions/CreditMemoUnapplyDebitMemoRequestType'
        type: array
      effectiveDate:
        description: 'The date when the credit memo is unapplied.

          '
        format: date
        type: string
      invoices:
        description: 'Container for invoices that the credit memo is unapplied from.

          '
        items:
          $ref: '#/definitions/CreditMemoUnapplyInvoiceRequestType'
        type: array
    type: object
  UnapplyPaymentType:
    example:
      debitMemos:
      - amount: 1.02
        debitMemoId: 4028905f5a87c0ff015a87e49e6b0062
        items:
        - amount: 1
          debitMemoItemId: 4028905f5a87c0ff015a87e49e7a0063
        - amount: 0.02
          taxItemId: 4028905f5a87c0ff015a87e49f5e0065
      effectiveDate: '2017-03-01'
      invoices:
      - amount: 10.1
        invoiceId: 4028905f5a87c0ff015a87d3f8f10043
        items:
        - amount: 10
          invoiceItemId: 4028905f5a87c0ff015a87d3f90c0045
        - amount: 0.1
          taxItemId: 4028905f5a87c0ff015a87d3f884003f
    properties:
      debitMemos:
        description: 'Container for debit memos.

          '
        items:
          $ref: '#/definitions/PaymentDebitMemoApplicationUnapplyRequestType'
        type: array
      effectiveDate:
        description: 'The date when the payment is unapplied, in `yyyy-mm-dd` format.

          '
        format: date
        type: string
      invoices:
        description: 'Container for invoices.

          '
        items:
          $ref: '#/definitions/PaymentInvoiceApplicationUnapplyRequestType'
        type: array
    type: object
  UpdateCustomObjectCusotmField:
    description: A reference to a field.
    properties:
      definition:
        $ref: '#/definitions/CustomObjectCustomFieldDefinitionUpdate'
        description: The custom field definition to be added or updated
        type: object
      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
    type: object
  UpdateEntityResponseType:
    properties:
      success:
        description: Returns `true` if the request is successful.
        type: boolean
    type: object
  UpdateEntityType:
    example:
      displayName: Acme-Italy
      locale: en_GB
      name: Acme-Italy
      timezone: Europe/Rome
    properties:
      displayName:
        description: |-
          The display name of the entity that is shown in the Zuora UI and APIs

          **Note:** If you do not specify the display name in the request, the entity name is used as the display name.
        maxLength: 255
        type: string
      locale:
        description: The locale that is used in this entity.
        type: string
      name:
        description: "The name of the entity that is the entity identifier and is\
          \ unique across all entities in a multi-entity hierarchy.\n\n**Note:** Only\
          \ alphanumeric characters (letters A\u2013Z and a\u2013z, and digits 0\u2013\
          9), space, period, and hyphen are allowed to be used in entity names. "
        maxLength: 255
        type: string
      timezone:
        description: The time zone that is used in this entity.
        type: string
    type: object
  UpdatePaymentType:
    allOf:
    - properties:
        comment:
          description: 'Comments about the payment.

            '
          maxLength: 255
          minLength: 0
          type: string
        financeInformation:
          description: 'Container for the finance information related to the payment.

            '
          properties:
            bankAccountAccountingCode:
              description: 'The accounting code that maps to a bank account in your
                accounting system.

                '
              maxLength: 100
              minLength: 0
              type: string
            transferredToAccounting:
              description: "Whether the payment was transferred to an external accounting\
                \ system. Use this field for integration with accounting systems,\
                \ such as NetSuite. \n"
              enum:
              - Processing
              - 'Yes'
              - 'No'
              - Error
              - Ignore
              type: string
            unappliedPaymentAccountingCode:
              description: 'The accounting code for the unapplied payment.

                '
              maxLength: 100
              minLength: 0
              type: string
          type: object
        referenceId:
          description: |
            The transaction ID returned by the payment gateway. Use this field to reconcile payments between your gateway and Zuora Payments.

            You can only update the reference ID for external payments.
          maxLength: 60
          minLength: 0
          type: string
      type: object
    - $ref: '#/definitions/PaymentObjectNSFields'
    - $ref: '#/definitions/PaymentObjectCustomFields'
    example:
      comment: new comment
      financeInformation:
        transferredToAccounting: 'No'
  UpdateTask:
    description: 'A task.

      '
    properties:
      action_type:
        description: 'The type of task.

          '
        type: string
      call_type:
        description: 'The type of the API used.

          '
        type: string
      concurrent_limit:
        description: 'The maximum number of this task that can run concurrently.

          '
        maximum: 9999999
        minimum: 1
        type: integer
      id:
        description: 'The unique ID of the task.

          '
        type: integer
      name:
        description: 'The name of the task.

          '
        type: string
      object:
        description: 'The selected object for the task.

          '
        type: string
      object_id:
        description: 'The ID of the selected object of the task.

          '
        type: string
      status:
        description: 'The status of the task instance.

          '
        enum:
        - Queued
        - Processing
        - Pending
        - Success
        - Stopped
        - Error
        type: string
      tags:
        description: 'The array of filter tags.

          '
        items:
          type: string
        type: array
      workflow_id:
        description: 'The ID of the workflow the task belongs too.

          '
        type: integer
    required:
    - id
    title: task
    type: object
  Usage:
    description: 'The task usage of a particular day.

      '
    properties:
      date:
        description: 'The date when the usage record is created.

          '
        type: string
      values:
        properties:
          taskCount:
            description: 'The amount of task runs that have been used.

              '
            type: integer
        type: object
    type: object
  UsageFlatFeePricingOverride:
    allOf:
    - $ref: '#/definitions/PriceChangeParams'
    - properties:
        listPrice:
          description: 'Price of the charge.

            '
          type: number
      type: object
    description: 'Pricing information about a usage charge that uses the "flat fee"
      charge model. In this charge model, the charge has a fixed price.

      '
    title: usageFlatFee
  UsageFlatFeePricingUpdate:
    allOf:
    - $ref: '#/definitions/PriceChangeParams'
    - properties:
        listPrice:
          type: number
      type: object
  UsageObjectCustomFields:
    additionalProperties:
      description: 'Custom fields of the Usage object. The name of each custom field
        has the form <code>*customField*__c</code>. Custom field names are case sensitive.
        See [Manage Custom Fields](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Manage_Custom_Fields)
        for more information.

        '
    description: 'Container for custom fields of a Usage object.

      '
    title: usageFieldsCustom
    type: object
  UsageOveragePricingOverride:
    allOf:
    - $ref: '#/definitions/PriceChangeParams'
    - properties:
        includedUnits:
          description: 'Number of free units that may be consumed.

            '
          minimum: 0
          type: number
        numberOfPeriods:
          description: 'Number of periods that Zuora considers when calculating overage
            charges with overage smoothing.

            '
          minimum: 1
          type: integer
        overagePrice:
          description: 'Price per overage unit consumed.

            '
          type: number
        overageUnusedUnitsCreditOption:
          description: |
            Specifies whether to credit the customer for unused units.

            If the value of this field is `CreditBySpecificRate`, use the `unusedUnitsCreditRates` field to specify the rate at which to credit the customer for unused units.
          enum:
          - NoCredit
          - CreditBySpecificRate
          type: string
        unusedUnitsCreditRates:
          description: 'Per-unit rate at which to credit the customer for unused units.
            Only applicable if the value of the `overageUnusedUnitsCreditOption` field
            is `CreditBySpecificRate`.

            '
          type: number
      type: object
    description: 'Pricing information about a usage charge that uses the "overage"
      charge model. In this charge model, the charge has an allowance of free units
      and a fixed price per additional unit consumed.

      '
    title: usageOverage
  UsageOveragePricingUpdate:
    allOf:
    - $ref: '#/definitions/PriceChangeParams'
    - properties:
        includedUnits:
          description: 'A certain quantity of units for free in the overage charge
            model. It cannot be negative. It must be 0 and above. Decimals are allowed.

            '
          type: number
        overagePrice:
          type: number
      type: object
  UsagePerUnitPricingOverride:
    allOf:
    - $ref: '#/definitions/PriceChangeParams'
    - properties:
        listPrice:
          description: 'Per-unit price of the charge.

            '
          type: number
        ratingGroup:
          description: 'Specifies how Zuora groups usage records when rating usage.

            '
          enum:
          - ByBillingPeriod
          - ByUsageStartDate
          - ByUsageRecord
          - ByUsageUpload
          type: string
      type: object
    description: 'Pricing information about a usage charge that uses the "per unit"
      charge model. In this charge model, the charge has a fixed price per unit consumed.

      '
    title: usagePerUnit
  UsagePerUnitPricingUpdate:
    allOf:
    - $ref: '#/definitions/PriceChangeParams'
    - properties:
        listPrice:
          type: number
      type: object
  UsageTieredPricingOverride:
    allOf:
    - $ref: '#/definitions/PriceChangeParams'
    - properties:
        ratingGroup:
          description: 'Specifies how Zuora groups usage records when rating usage.

            '
          enum:
          - ByBillingPeriod
          - ByUsageStartDate
          - ByUsageRecord
          - ByUsageUpload
          type: string
        tiers:
          description: 'List of cumulative pricing tiers in the charge.

            '
          items:
            $ref: '#/definitions/ChargeTier'
          type: array
      type: object
    description: 'Pricing information about a usage charge that uses the "tiered pricing"
      charge model. In this charge model, the charge has cumulative pricing tiers
      that become effective as units are consumed.

      '
    title: usageTiered
  UsageTieredPricingUpdate:
    allOf:
    - $ref: '#/definitions/PriceChangeParams'
    - properties:
        tiers:
          items:
            $ref: '#/definitions/ChargeTier'
          type: array
      type: object
  UsageTieredWithOveragePricingOverride:
    allOf:
    - $ref: '#/definitions/PriceChangeParams'
    - properties:
        numberOfPeriods:
          description: 'Number of periods that Zuora considers when calculating overage
            charges with overage smoothing.

            '
          minimum: 1
          type: integer
        overagePrice:
          description: 'Price per overage unit consumed.

            '
          type: number
        overageUnusedUnitsCreditOption:
          description: |
            Specifies whether to credit the customer for unused units.

            If the value of this field is `CreditBySpecificRate`, use the `unusedUnitsCreditRates` field to specify the rate at which to credit the customer for unused units.
          enum:
          - NoCredit
          - CreditBySpecificRate
          type: string
        tiers:
          description: 'List of cumulative pricing tiers in the charge.

            '
          items:
            $ref: '#/definitions/ChargeTier'
          type: array
        unusedUnitsCreditRates:
          description: 'Per-unit rate at which to credit the customer for unused units.
            Only applicable if the value of the `overageUnusedUnitsCreditOption` field
            is `CreditBySpecificRate`.

            '
          type: number
      type: object
    description: 'Pricing information about a usage charge that uses the "tiered with
      overage" charge model. In this charge model, the charge has cumulative pricing
      tiers that become effective as units are consumed. The charge also has a fixed
      price per unit consumed beyond the limit of the final tier.

      '
    title: usageTieredWithOverage
  UsageTieredWithOveragePricingUpdate:
    allOf:
    - $ref: '#/definitions/PriceChangeParams'
    - properties:
        overagePrice:
          type: number
        tiers:
          items:
            $ref: '#/definitions/ChargeTier'
          type: array
      type: object
  UsageVolumePricingOverride:
    allOf:
    - $ref: '#/definitions/PriceChangeParams'
    - properties:
        ratingGroup:
          enum:
          - ByBillingPeriod
          - ByUsageStartDate
          - ByUsageRecord
          - ByUsageUpload
          type: string
        tiers:
          description: 'List of variable pricing tiers in the charge.

            '
          items:
            $ref: '#/definitions/ChargeTier'
          type: array
      type: object
    description: 'Pricing information about a usage charge that uses the "volume pricing"
      charge model. In this charge model, the charge has a variable price per unit,
      depending on how many units are consumed.

      '
    title: usageVolume
  UsageVolumePricingUpdate:
    allOf:
    - $ref: '#/definitions/PriceChangeParams'
    - properties:
        tiers:
          items:
            $ref: '#/definitions/ChargeTier'
          type: array
      type: object
  UsagesResponse:
    properties:
      metrics:
        description: 'The list of tasks retrieved.

          '
        items:
          $ref: '#/definitions/Usage'
        type: array
    type: object
  Workflow:
    description: 'A workflow.

      '
    properties:
      calloutTrigger:
        description: 'Indicates whether the callout trigger is enabled for the retrieved
          workflow.

          '
        type: boolean
      createdAt:
        description: 'The date and time when the workflow is created, in the `YYYY-MM-DD
          HH:MM:SS` format.

          '
        format: datetime
        type: string
      description:
        description: 'The description of the workflow.

          '
        type: string
      id:
        description: 'The unique ID of the workflow.

          '
        type: integer
      interval:
        description: 'The schedule of the workflow, in a CRON expression. Returns
          null if the schedued trigger is disabled.

          '
        type: string
      name:
        description: 'The name of the workflow.

          '
        type: string
      ondemandTrigger:
        description: 'Indicates whether the ondemand trigger is enabled for the workflow.

          '
        type: boolean
      scheduledTrigger:
        description: 'Indicates whether the scheduled trigger is enabled for the workflow.

          '
        type: boolean
      timezone:
        description: 'The timezone that is configured for the scheduler of the workflow.
          Returns null if the scheduled trigger is disabled.

          '
        type: string
      type:
        description: 'The type of the workflow. Currently the only valid value is
          ''Workflow::Setup''.

          '
        enum:
        - Workflow::Setup
        - Workflow::Instance
        type: string
      updatedAt:
        description: 'The date and time when the workflow is updated the last time,
          in the `YYYY-MM-DD HH:MM:SS` format.

          '
        format: datetime
        type: string
    title: workflow
    type: object
  WorkflowError:
    properties:
      code:
        description: A short error code describing the error
        enum:
        - invalid
        type: string
      status:
        description: The http status code for this error
        type: integer
      title:
        description: A human readable description describing the error
        type: string
    type: object
  WorkflowInstance:
    description: A instance workflow object.
    properties:
      createdAt:
        description: 'The date and time when the workflow is created, in the `YYYY-MM-DD
          HH:MM:SS` format.

          '
        format: datetime
        type: string
      id:
        description: 'The unique ID of the workflow.

          '
        type: integer
      name:
        description: 'The run number of this workflow instance

          '
        type: string
      originalWorkflowId:
        description: 'The identifier of the workflow template that is used to create
          this instance.

          '
        type: integer
      status:
        description: 'Describes the current state of this workflow instance.

          '
        enum:
        - Queued
        - Processing
        - Stopped
        - Stopping
        - Finished
        type: string
      updatedAt:
        description: 'The date and time the last time when the workflow is updated,
          in the `YYYY-MM-DD HH:MM:SS` format.

          '
        format: datetime
        type: string
    type: object
  creditCard:
    description: 'Default payment method associated with an account. Only credit card
      payment methods are supported.

      '
    properties:
      cardHolderInfo:
        $ref: '#/definitions/AccountCreditCardHolder'
      cardNumber:
        description: 'Card number. Once set, you cannot update or query the value
          of this field. The value of this field is only available in masked format.
          For example, XXXX-XXXX-XXXX-1234 (hyphens must not be used when you set
          the credit card number).

          '
        type: string
      cardType:
        description: 'Type of card.

          '
        enum:
        - Visa
        - MasterCard
        - AmericanExpress
        - Discover
        - JCB
        - Diners
        - CUP
        - Maestro
        - Electron
        - AppleVisa
        - AppleMasterCard
        - AppleAmericanExpress
        - AppleDiscover
        - AppleJCB
        - Elo
        - Hipercard
        - Naranja
        - Nativa
        - TarjetaShopping
        - Cencosud
        - Argencard
        - Cabal
        type: string
      expirationMonth:
        description: 'Expiration date of the card.

          '
        maximum: 12
        minimum: 1
        type: integer
      expirationYear:
        description: 'Expiration year of the card.

          '
        maximum: 2500
        minimum: 1980
        type: integer
      securityCode:
        description: 'CVV or CVV2 security code of the card. To ensure PCI compliance,
          Zuora does not store the value of this field.

          '
        type: string
    type: object
  orderMetric:
    description: The set of order metrics for an order action.
    properties:
      chargeNumber:
        type: string
      elp:
        description: The extended list price which is calculated by the original product
          catalog list price multiplied by the delta quantity.
        items:
          $ref: '#/definitions/TimeSlicedElpNetMetrics'
        type: array
      mrr:
        items:
          $ref: '#/definitions/TimeSlicedNetMetrics'
        type: array
      originRatePlanId:
        type: string
      productRatePlanChargeId:
        type: string
      productRatePlanId:
        type: string
      quantity:
        items:
          $ref: '#/definitions/TimeSlicedMetrics'
        type: array
      tcb:
        description: Total contracted billing which is the forecast value for the
          total invoice amount.
        items:
          $ref: '#/definitions/TimeSlicedTcbNetMetrics'
        type: array
      tcv:
        description: Total contracted value.
        items:
          $ref: '#/definitions/TimeSlicedNetMetrics'
        type: array
    type: object
  tokenResponse:
    properties:
      access_token:
        description: The generated token.
        type: string
      expires_in:
        description: The number of seconds until the token expires.
        type: number
      jti:
        description: A globally unique identifier for the token.
        type: string
      scope:
        description: A space-delimited list of scopes that the token can be used to
          access.
        type: string
      token_type:
        description: The type of token that was generated, i.e., `bearer`.
        type: string
    type: object
  zObject:
    additionalProperties:
      description: 'Field of the object.

        '
    type: object
  zObject_update:
    allOf:
    - properties:
        Id:
          description: ''
          type: string
        fieldsToNull:
          description: 'Used to set a list of fields to null.

            '
          items:
            type: string
          type: array
      required:
      - Id
      type: object
    - $ref: '#/definitions/zObject'
    title: zObject
