openapi: 3.1.0 info: version: latest title: All APIs contact: name: Rebilly API Support url: https://www.rebilly.com/contact/ email: integrations@rebilly.com license: name: Rebilly url: https://www.rebilly.com/api-license/ termsOfService: https://www.rebilly.com/terms-of-use/ x-logo: url: https://rebilly-core.redoc.ly/rb_apiLogo.svg backgroundColor: '#0044d4' description: > # Introduction [comment]: <> (x-product-description-placeholder) The Rebilly API is built on HTTP and is RESTful. It has predictable resource URLs and returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. Use your favorite HTTP/REST library in your programming language when using this API, or use one of the Rebilly SDKs, which are available in [PHP](https://github.com/Rebilly/rebilly-php) and [JavaScript](https://github.com/Rebilly/rebilly-js-sdk). Every action in the [Rebilly UI](https://app.rebilly.com) is supported by an API which is documented and available for use, so that you may automate any necessary workflows or processes. This API reference documentation contains the most commonly integrated resources. # Authentication This topic describes the different forms of authentication that are available in the Rebilly API, and how to use them. Rebilly offers four forms of authentication: secret key, publishable key, JSON Web Tokens, and public signature key. - Secret API key: Use to make requests from the server side. Never share these keys. Keep them guarded and secure. - Publishable API key: Use in your client-side code to tokenize payment information. - JWT: Use to make short-life tokens that expire after a set period of time. ## Manage API keys To create or manage API keys, select one of the following: - Use the Rebilly UI: see [Manage API keys](https://www.rebilly.com/docs/dev-docs/api-keys/#manage-api-keys) - Use the Rebilly API: see the [API key operations](https://www.rebilly.com/catalog/all/api-keys). For more information on API keys, see [API keys](https://www.rebilly.com/docs/concepts-and-features/concept/api-keys). # Errors Rebilly follows the error response format proposed in [RFC 9457](https://tools.ietf.org/html/rfc9457), which is also known as Problem Details for HTTP APIs. As with any API responses, your client must be prepared to gracefully handle additional members of the response. # SDKs Rebilly provides a JavaScript SDK and a PHP SDK to help interact with the Rebilly API. However, no SDK is required to use the API. Rebilly also provides [FramePay](https://www.rebilly.com/docs/developer-docs/framepay/), a client-side iFrame-based solution, to help create payment tokens while minimizing PCI DSS compliance burdens and maximizing your customization ability. [FramePay](https://www.rebilly.com/docs/developer-docs/framepay/) interacts with the [payment tokens creation operation](https://www.rebilly.com/catalog/all/payment-tokens/posttoken). ## JavaScript SDK For installation and usage instructions, see [SDKs](https://www.rebilly.com/docs/dev-docs/sdks/). All JavaScript SDK code examples are included in the API reference documentation. ## PHP SDK For installation and usage instructions, see [SDKs](https://www.rebilly.com/docs/dev-docs/sdks/). All SDK code examples are included in the API reference documentation. To use them, you must configure the `$client` as follows: ```php $client = new Rebilly\Client([ 'apiKey' => 'YourApiKeyHere', 'baseUrl' => 'https://api.rebilly.com', ]); ``` # Get started The full [Rebilly API](https://www.rebilly.com/catalog/all/) has over 500 operations. This is likely more than you may need to implement your use cases. If you would like to implement a particular use case, [contact Rebilly](https://www.rebilly.com/support/) for guidance and feedback on the best API operations to use for the task. To integrate Rebilly, and learn about related resources and concepts, see [Get started](https://www.rebilly.com/docs/dev-docs/get-started/). # Rate limits Rebilly enforces rate limits on the API to ensure that no single organization consumes too many resources. Rate limits are applied to the organization, and not to the API key. In sandbox environment, rate limits are enforced for non-GET endpoints and are set at 3000 requests per 10 minutes. You can find the exact number of consumed requests in the `X-RateLimit-Limit` and `X-RateLimit-Remaining` headers in the response. If the rate limit is exceeded, the API returns a `429 Too Many Requests` response and a `X-RateLimit-Retry-After` header that includes a UTC timestamp of when the rate limit resets. security: - SecretApiKey: [] - JWT: [] servers: - url: https://api-sandbox.rebilly.com/organizations/{organizationId} description: Sandbox server variables: organizationId: default: unknown description: >- Unique organization identifier. An organization is an entity that represents a company. For more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id). - url: https://api.rebilly.com/organizations/{organizationId} description: Live server variables: organizationId: default: unknown description: >- Unique organization identifier. An organization is an entity that represents a company. For more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id). components: securitySchemes: JWT: description: >- JWT is a short lifetime token that can be assigned a specific expiration time. Usage format: `Bearer `. type: http scheme: bearer bearerFormat: JWT ApplicationJWT: description: >- Applications in the Rebilly App Store can create a JSON Web Token (JWT) by fetching an user's instance. For more information, see [Retrieve an application instance](https://www.rebilly.com/catalog/all/application-owners/getapplicationinstancebyorganization/). Usage format: `Bearer `. type: http scheme: bearer bearerFormat: JWT PublishableApiKey: description: >- This authentication method is applicable to specific operations. To create a publishable API key, see [Create an API key](https://www.rebilly.com/catalog/all/api-keys/postapikey). name: Authorization type: apiKey in: header SecretApiKey: description: |- Never share your secret keys. Keep them guarded and secure. Use your secret API key only to make requests from the server side. To authenticate, provide your secret key in the request header. name: REB-APIKEY type: apiKey in: header CustomerJWT: description: >- To create a JSON Web Token (JWT) using Storefront authentication, see [Create a session with username and password](https://www.rebilly.com/catalog/all/storefront-account/storefrontpostlogin). Usage format: `Bearer `. type: http scheme: bearer bearerFormat: JWT parameters: collectionLimit: name: limit in: query description: Limits the number of collection items to be returned. schema: type: integer minimum: 0 maximum: 1000 collectionOffset: name: offset in: query description: >- Specifies the starting point within the collection of items to be returned. schema: type: integer minimum: 0 maximum: 1000 collectionSort: name: sort in: query description: >- Sorts and orders the collection of items. To sort in descending order, prefix with `-`. Multiple fields can be sorted by separating each with `,`. style: form explode: false schema: type: array items: type: string collectionFilter: name: filter in: query description: >- Filters the collection items. This field requires a special format. Use `,` for multiple allowed values. Use `;` for multiple fields. For more information, see [Using filter with collections](https://www.rebilly.com/docs/dev-docs/search-filters). schema: type: string collectionQuery: name: q in: query description: Use this field to perform a partial search of text fields. schema: type: string resourceId: name: id in: path description: ID of the resource. required: true schema: type: string maxLength: 50 pattern: ^[@~\-\.\w]+$ collectionExpand: name: expand in: query description: >- Expands a request to include embedded objects within the `_embedded` property of the response. This field accepts a comma-separated list of objects. For more information, see [Expand to include embedded objects](https://www.rebilly.com/docs/dev-docs/expand-embedded-resources). schema: type: string collectionFields: name: fields in: query description: >- Limits the returned fields to the specified list, each field separated by a comma. The ID value is always returned. schema: type: string customFieldResource: name: resource in: path description: Type of resource schema. required: true schema: type: string enum: - customers - payment-instruments - subscriptions - transactions - websites - products - plans - bump-offers - gateway-accounts - deposit-requests externalIdentifierResource: name: resource in: path description: Type of the resource. required: true schema: type: string enum: - customers - invoices - invoice-items - transactions - journal-accounts - journal-entries externalIdentifierResourceId: name: resourceId in: path description: ID of the resource. required: true schema: type: string maxLength: 50 pattern: ^[@~\-\.\w]+$ externalIdentifierService: name: service in: path description: Name of the service. required: true schema: type: string enum: - quickbooks-online imageSize: name: imageSize in: query description: >- Resize image to specified size. Supports any sizes from 10x10 to 2000x2000, in the following format: `{width}x{height}`. If the value is invalid, the image returns the original size. This parameter is ignored for non-image files. schema: type: string example: 700x700 pattern: ^[1-9]{1}[0-9]{1,3}x[1-9]{1}[0-9]{1,3}$ applicationId: name: applicationId in: path description: ID of the application. required: true schema: type: string maxLength: 50 pattern: ^[@~\-\.\w]+$ organizationId: name: organizationId in: path description: >- Unique organization identifier. An organization is an entity that represents a company. For more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id). required: true schema: type: string maxLength: 50 pattern: ^[@~\-\.\w]+$ mediaTypeJsonPdf: name: Accept in: header description: Type of response media. schema: type: string enum: - application/json - application/pdf default: application/json journalRecordId: name: journalRecordId in: path description: ID of the journal record. required: true schema: type: string maxLength: 50 pattern: ^[@~\-\.\w]+$ subscriptionExpand: name: expand in: query description: >- Expand a response to receive a full related object in the `_embedded` path. To expand multiple objects, use a comma-separated list. Example: `expand=recentInvoice,initialInvoice`. Available arguments are: - `customer` - `leadSource` - `website` - `shippingRate` - `initialInvoice` - `recentInvoice` - `upcomingInvoice` - `paymentInstrument` For more information, see [Expand to include embedded objects](https://www.rebilly.com/docs/dev-docs/expand-embedded-resources). schema: type: string tag: name: tag in: path description: Name of the tag. required: true schema: type: string pattern: ^[@~\-\.\w\s]+$ customerId: name: customerId in: path description: ID of the customer. required: true schema: type: string maxLength: 50 pattern: ^[@~\-\.\w]+$ kycDocumentId: name: kycDocumentId in: path description: ID of the KYC document. required: true schema: type: string maxLength: 50 pattern: ^[@~\-\.\w]+$ credentialType: name: type in: path description: Type of service credential. required: true schema: type: string enum: - smtp - webhook - mailgun - sendgrid - aws-ses - oauth2 - postmark - experian - taxjar - avalara - plaid token: name: token in: path description: Token string. required: true schema: type: string systemEventType: name: eventType in: path description: Type of event. required: true schema: type: string rulesVersion: name: version in: path required: true description: >- Version of the ruleset. To retrieve the full related object instead of the ID, expand the response. For more information, see [Expand to include embedded objects](#section/Expand-to-include-embedded-objects). schema: type: integer minimum: 1 integrationLabel: name: label in: path description: Label of the integration. required: true schema: type: string enum: - google-sheets - keap-infusionsoft - intuit-quickbooks collectionCriteria: name: criteria in: query description: Criteria parameter for requesting a collection. schema: type: string storefrontCustomFieldResource: name: resource in: path description: Type of resource schema. required: true schema: type: string enum: - customers - payment-instruments - subscriptions - transactions headers: Pagination-Total: description: Total number of items. schema: type: integer example: 332 Pagination-Limit: description: Maximum number of items per page. schema: type: integer example: 100 Pagination-Offset: description: |- Specifies the starting point within the collection of resource results. For example, a request with `limit=20` retrieves and displays the first 20 results on a page. A following request with `limit=20` and `offset=20`, retrieves the next page of 20 results. schema: type: integer example: 2 Location: description: Location of the related resource. schema: type: string format: uri example: https://api.rebilly.com/example X-RateLimit-Limit: description: >- Total number of rate limit tokens for this request within a rate limit period. For more information, see [Rate limits](#section/Rate-limits). schema: type: integer example: 3600 X-RateLimit-Remaining: description: >- Remaining number of rate limit tokens for this request within the rate limit period. For example, in the sandbox environment, rate limits for non-GET endpoints are set at 3000 requests per 10 minutes. schema: type: integer example: 3600 X-RateLimit-Retry-After: description: >- UTC timestamp after which the rate limit resets and the request can be retried. schema: type: integer example: 1713187500 schemas: CreatedTime: type: string description: Date and time which is set automatically when the resource is created. format: date-time readOnly: true x-sortable: true x-label: Creation Time UpdatedTime: type: string description: Date and time which updates automatically when the resource is updated. format: date-time readOnly: true x-sortable: true x-label: Last Update Time ResourceId: type: string description: Unique resource ID. maxLength: 50 example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21 SelfLink: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self Tag: type: object description: >- Use tags to organize and categorize customers or KYC documents based on keywords. For more information, see [Tags](https://www.rebilly.com/docs/dev-docs/api/tags/). required: - name - type properties: id: description: ID of the tag. readOnly: true $ref: '#/components/schemas/ResourceId' name: description: |- Unique name for the tag. Tag names are not case-sensitive. type: string maxLength: 255 pattern: ^[@~\-\.\w\s]+$ example: New type: description: >- Type of tag. Tags of a specific type can only be assigned to corresponding entity types. For example, you can only use customer tags on customers. type: string enum: - customer - kyc-document - aml-check createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' AML: type: object properties: firstName: type: string description: First name of the individual, or name of entity. readOnly: true example: Benjamin lastName: type: - string - 'null' description: >- Last name of the individual. Returns a `null` value for single-named entities. readOnly: true example: Franklin source: type: string readOnly: true description: Describes which list the result is from. sourceType: readOnly: true description: Describes the categories of the individual or entity. type: array example: - sanctions - enforcements items: type: string enum: - pep - sanctions - adverse-media - enforcements - state-owned-enterprise gender: type: - string - 'null' readOnly: true description: >- If `type`=`individual`, this field describes the gender of the individual. title: type: - array - 'null' readOnly: true description: Individual's job title. example: - Postmaster General - Ambassador to France - Ambassador to Sweden - Supreme Executive Council of Commonwealth of Pennsylvania items: type: string type: type: string readOnly: true description: Describes whether the source is an individual or an entity. enum: - individual - entity legalBasis: type: array readOnly: true description: List of references to legal documents, if they exist. items: type: string regime: type: - string - 'null' readOnly: true description: Describes the government, administration, or political entity. example: United States Government confidence: type: string description: Degree of confidence in the source list information. readOnly: true enum: - weak - medium - strong - very-strong nationality: type: string readOnly: true description: Nationality of the individual or entity. address: type: array readOnly: true description: Addresses associated with the individual or entity. items: type: object properties: address: type: - string - 'null' readOnly: true description: Street address line 1. address2: type: - string - 'null' readOnly: true description: Street address line 2. city: type: - string - 'null' readOnly: true description: City. region: type: - string - 'null' readOnly: true description: State, province, or region. country: type: - string - 'null' readOnly: true description: Country. birthplace: type: boolean default: false readOnly: true description: Individual's place of birth. dob: type: array readOnly: true description: One or more possible dates of birth. items: type: string readOnly: true description: Date of birth. format: date example: '1706-01-17' aliases: type: array readOnly: true description: List of aliases, if any. items: type: object properties: firstName: type: string description: First name of alias. readOnly: true lastName: type: string description: Last name of alias. readOnly: true authenticity: type: string description: Degree of confidence in the alias. readOnly: true enum: - strong - weak - unknown passport: type: array readOnly: true description: Individual's passport information. items: type: object properties: number: type: string readOnly: true description: Passport number. registrationDate: type: string format: date readOnly: true description: Passport registration date. comments: type: - string - 'null' readOnly: true description: Additional information. This content varies per list. _links: $ref: '#/components/schemas/SelfLink' AmlCheck: type: object readOnly: true description: AML check result. properties: id: type: string description: Unique resource ID. maxLength: 50 example: aml_chk_0YV8XJT2ZWDR398Q8NFEM7DEPM createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' websiteId: type: string description: Website ID associated with the customer. maxLength: 50 example: web_0YV7DE4Z26DQSA1AC92FBJ7SEG reviewerId: type: - string - 'null' maxLength: 50 description: User ID of the person who reviewed the AML check. example: 44433322-2c4y-483z-a0a9-158621f77a21 reviewerName: type: - string - 'null' description: First and last name of the person who reviewed the AML check. reviewStartTime: type: - string - 'null' format: date-time description: Date and time when the AML check review is started. reviewTime: type: - string - 'null' format: date-time description: Date and time when the AML check review is completed. priority: type: - string - 'null' default: null description: Highest matched priority of all hits within an AML check. source: type: string description: Source of the AML check. enum: - sign-up - recurring - purchase status: type: string description: Status of the AML check. readOnly: true enum: - pending-review - in-review - no-match - confirmed-match - false-positive x-enumDescriptions: pending-review: Possible AML match detected and waiting to be manually reviewed. in-review: A manual AML match review is in progress. no-match: No possible AML match detected. confirmed-match: Possible AML match manually reviewed and marked as confirmed. false-positive: Possible AML match manually reviewed and marked as false positive. customer: type: object properties: id: description: ID of the customer. $ref: '#/components/schemas/ResourceId' primaryAddress: type: object description: Customer's data at the time of the AML check. properties: firstName: type: string maxLength: 45 description: Customer's first name at the time of the AML check. lastName: type: string maxLength: 45 description: Customer's last name at the time of the AML check. dob: type: - string - 'null' format: date description: Customer's date of birth. example: '1971-02-14' address: description: >- First line of the customer's street address at the time of the AML check. type: - string - 'null' pattern: ^[\w\s\-\/\p{L}\p{M},.#;:()'&]+$ maxLength: 60 example: 36 Craven St address2: description: >- Second line of the customer's street address at the time of the AML check. type: - string - 'null' pattern: ^[\w\s\-\/\p{L}\p{M},.#;:()'&]+$ maxLength: 60 city: description: Customer's city of residence at the time of the AML check. type: - string - 'null' pattern: ^[\w\s\-\p{L}\p{M},.']+$ maxLength: 45 example: Austin region: description: Customer's region of residence at the time of the AML check. type: - string - 'null' pattern: ^[\w\s\-\/\p{L}\p{M},.#;:()']+$ maxLength: 45 example: Texas country: type: - string - 'null' description: >- Customer's country of residence at the time of the AML check. postalCode: description: Customer's postal code at the time of the AML check. type: - string - 'null' pattern: ^[\w\s\-]+$ maxLength: 10 example: WC2N 5NF tags: description: List of tags that have been assigned to the customer. type: array items: $ref: '#/components/schemas/Tag' organizationId: type: string description: ID of the customer's organization. maxLength: 50 example: org_0YVDM8RC7GDADADSBSMW124JA8 hits: description: List of hits returned during the AML check. type: array items: $ref: '#/components/schemas/AML' tags: description: List of AML check tags. readOnly: true type: array items: $ref: '#/components/schemas/Tag' _links: type: array description: Related links. items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - customer BaseProblem: type: object additionalProperties: true minProperties: 1 description: >- RFC-7807 [problem details](https://tools.ietf.org/html/rfc7807) JSON object. properties: type: type: string description: >- Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference. It should provide human-readable documentation for the problem type. When this member is not present, its value is assumed to be "about:blank". format: uri title: type: string description: >- Short, human-readable summary of the problem type. Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem. detail: type: string description: >- Human-readable explanation that is specific to this occurrence of the problem. instance: type: string description: >- URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. Unauthorized: allOf: - title: Unauthorized - type: object properties: status: type: integer description: HTTP status code. minimum: 401 maximum: 401 - $ref: '#/components/schemas/BaseProblem' Forbidden: allOf: - title: Forbidden - type: object properties: status: type: integer description: HTTP status code. minimum: 403 maximum: 403 - $ref: '#/components/schemas/BaseProblem' NotFound: allOf: - type: object properties: status: type: integer description: HTTP status code. minimum: 404 maximum: 404 - $ref: '#/components/schemas/BaseProblem' ValidationError: allOf: - title: Validation error - type: object properties: status: type: integer description: HTTP status code. minimum: 422 maximum: 422 - $ref: '#/components/schemas/BaseProblem' - type: object properties: invalidFields: description: Invalid field details. type: array items: type: object properties: field: type: string description: |- Name of the field. Dot notation is used for nested object field names. message: description: Message field. type: string example: - field: field1 message: field1 is invalid - field: subObject.field2 message: field2 is invalid - field: subObject.field2 message: another error in the field2 TooManyRequests: type: object additionalProperties: true minProperties: 1 description: >- RFC-7807 [problem details](https://tools.ietf.org/html/rfc7807) JSON object. properties: type: type: string description: >- Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference. It should provide human-readable documentation for the problem type. When this member is not present, its value is assumed to be "about:blank". format: uri example: about:blank title: type: string description: >- Short, human-readable summary of the problem type. Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem. example: Rate Limit Exceeded status: type: integer description: HTTP status code. minimum: 429 maximum: 429 detail: type: string description: >- Human-readable explanation that is specific to this occurrence of the problem. example: >- A request cannot be executed because the user has sent too many requests within a certain period of time instance: type: string description: >- URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. AmlCheckReview: type: object description: AML check review. properties: tag: type: string description: AML-related customer tag. enum: - aml-match-confirmed - aml-match-false-positive AmlConfidence: type: - string - 'null' description: Degree of confidence to assign. enum: - weak - medium - strong - very-strong AmlCompoundConfidence: type: object properties: addressMatch: type: object description: Match for the customer's city or region, or both, is found. properties: matchingCountry: $ref: '#/components/schemas/AmlConfidence' mismatchingCountry: $ref: '#/components/schemas/AmlConfidence' noCountry: $ref: '#/components/schemas/AmlConfidence' addressMismatch: type: object description: Match for the customer's city or region, or both, is not found. properties: matchingCountry: $ref: '#/components/schemas/AmlConfidence' mismatchingCountry: $ref: '#/components/schemas/AmlConfidence' noCountry: $ref: '#/components/schemas/AmlConfidence' noAddress: type: object description: No city and no region is available to match against. properties: matchingCountry: $ref: '#/components/schemas/AmlConfidence' mismatchingCountry: $ref: '#/components/schemas/AmlConfidence' noCountry: $ref: '#/components/schemas/AmlConfidence' AmlPriority: type: - string - 'null' description: Priority level of matched AML customer information. default: null enum: - p0 - p1 - p2 - p3 AmlSettings: type: object description: Settings for AML checking. properties: confidence: type: object description: Confidence level settings for AML matches. properties: dob: type: object description: >- Confidence level settings for AML matches based on date of birth. properties: exactMatch: description: >- Exact match of the customer's date of birth and name is found. $ref: '#/components/schemas/AmlCompoundConfidence' inexactMatch: description: >- Exact match of the customer's date of birth and a fuzzy, or inexact, name match is found. $ref: '#/components/schemas/AmlCompoundConfidence' noDob: type: object description: >- Confidence level settings for AML matches based on a missing date of birth. properties: exactMatch: description: >- Exact match of the customer's name is found, but a date of birth is not. $ref: '#/components/schemas/AmlCompoundConfidence' inexactMatch: description: >- Fuzzy, or inexact match of the customer's name is found, but a date of birth is not. $ref: '#/components/schemas/AmlCompoundConfidence' weakMatch: description: >- Weak match of the customer's name is found, but a date of birth is not. $ref: '#/components/schemas/AmlCompoundConfidence' yob: type: object description: >- Confidence level settings for AML matches based on year of birth. properties: exactMatch: description: >- Exact match of the customer's year of birth and exact name is found. $ref: '#/components/schemas/AmlCompoundConfidence' inexactMatch: description: >- Exact match of the customer's year of birth and a fuzzy, or inexact, name match is found. $ref: '#/components/schemas/AmlCompoundConfidence' inexactYob: type: object description: >- Confidence level settings for AML matches based on a near match of year of birth. properties: exactMatch: description: >- Near match of the customer's year of birth and an exact name match is found. $ref: '#/components/schemas/AmlCompoundConfidence' inexactMatch: description: >- Near match of the customer's year of birth and a fuzzy, or inexact, name match is found. $ref: '#/components/schemas/AmlCompoundConfidence' priority: type: object description: |- Priority level settings for AML source matches. \ `p0` is critical priority level, and `p3` is low priority level. properties: pep: type: object description: Priorities for the `pep` source type. properties: veryStrong: $ref: '#/components/schemas/AmlPriority' strong: $ref: '#/components/schemas/AmlPriority' medium: $ref: '#/components/schemas/AmlPriority' weak: $ref: '#/components/schemas/AmlPriority' enforcements: type: object description: Priorities for the `enforcement` source type. properties: veryStrong: $ref: '#/components/schemas/AmlPriority' strong: $ref: '#/components/schemas/AmlPriority' medium: $ref: '#/components/schemas/AmlPriority' weak: $ref: '#/components/schemas/AmlPriority' stateOwnedEnterprise: type: object description: Priorities for the `state-owned-enterprise` source type. properties: veryStrong: $ref: '#/components/schemas/AmlPriority' strong: $ref: '#/components/schemas/AmlPriority' medium: $ref: '#/components/schemas/AmlPriority' weak: $ref: '#/components/schemas/AmlPriority' sanctions: type: object description: Priorities for the `sanctions` source type. properties: veryStrong: $ref: '#/components/schemas/AmlPriority' strong: $ref: '#/components/schemas/AmlPriority' medium: $ref: '#/components/schemas/AmlPriority' weak: $ref: '#/components/schemas/AmlPriority' adverseMedia: type: object description: Priorities for the `adverse-media` source type. properties: veryStrong: $ref: '#/components/schemas/AmlPriority' strong: $ref: '#/components/schemas/AmlPriority' medium: $ref: '#/components/schemas/AmlPriority' weak: $ref: '#/components/schemas/AmlPriority' Attachment: type: object required: - fileId - relatedId - relatedType properties: id: type: string readOnly: true description: ID of the attachment. maxLength: 50 example: att_0YV7J787J0DW0918MQQMDHWA7M fileId: type: string description: ID of the linked file object. maxLength: 50 example: file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N relatedType: description: Linked object type. type: string enum: - customer - customer-timeline-comment - customer-edd-timeline-comment - dispute - gateway-timeline-comment - invoice - invoice-timeline-comment - order-timeline-comment - organization - payment - plan - product - subscription - transaction - transaction-timeline-comment relatedId: description: ID of the linked object. type: string name: description: Name of original attachment. type: string description: description: Description of the attachment. type: string createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - file _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: file: type: object Conflict: allOf: - title: Conflict - type: object properties: status: type: integer description: HTTP status code. minimum: 409 maximum: 409 - $ref: '#/components/schemas/BaseProblem' AuthenticationOptions: type: object properties: passwordPattern: description: Allowed password pattern. type: - string - 'null' example: /^[0-9]+$/ credentialTtl: description: Default credential lifetime, in seconds. type: integer authTokenTtl: description: Default auth-token lifetime, in seconds. type: integer resetTokenTtl: description: Default reset-token lifetime, in seconds. type: integer otpRequired: description: >- Specifies if a One-Time Password (OTP) is required to exchange a token. type: boolean _links: $ref: '#/components/schemas/SelfLink' CustomerId: type: string description: ID of the customer resource. maxLength: 50 example: cus_0YV7DDSDD1C8DA64KHH2W33CPF x-basic: true AuthenticationTokenResponse: type: object title: Authentication token required: - username properties: username: description: >- Username of the customer who is associated with the authentication token. type: string customerId: readOnly: true allOf: - $ref: '#/components/schemas/CustomerId' token: description: ID of the authentication token. type: string readOnly: true otpRequired: description: >- Specifies if a One-Time Password (OTP) is required to exchange the authentication token. type: boolean credentialId: description: ID of the user associated with the authentication token. readOnly: true $ref: '#/components/schemas/ResourceId' expiredTime: description: Date and time when the token expired. type: - string - 'null' format: date-time _links: $ref: '#/components/schemas/SelfLink' AuthenticationTokenPasswordMode: type: object required: - username - password properties: username: description: Username associated with the authentication token. type: string password: description: Password associated with the authentication token. type: string format: password writeOnly: true mode: type: string description: >- Specifies the authentication verification method. The `password` token requires the user to enter a password to log in. The `passwordless` token, requires a secret API key to log in. To obtain an API key, see [Manage API keys](https://www.rebilly.com/docs/dev-docs/api-keys/#manage-api-keys). writeOnly: true enum: - password customerId: readOnly: true allOf: - $ref: '#/components/schemas/CustomerId' token: description: ID of the authentication token. type: string readOnly: true otpRequired: description: >- Specifies if a One-Time Password (OTP) is required to exchange the authentication token. type: boolean credentialId: description: ID of the user associated with the authentication token. readOnly: true $ref: '#/components/schemas/ResourceId' expiredTime: description: Date and time when the token expired. type: string format: date-time _links: $ref: '#/components/schemas/SelfLink' AuthenticationTokenPasswordlessMode: type: object required: - customerId properties: customerId: $ref: '#/components/schemas/CustomerId' mode: type: string description: >- Specifies the authentication verification method. The `password` token requires the user to enter a password to log in. The `passwordless` token, requires a secret API key to log in. To obtain an API key, see [Manage API keys](https://www.rebilly.com/docs/dev-docs/api-keys/#manage-api-keys). writeOnly: true enum: - passwordless token: description: ID of the authentication token. type: string readOnly: true otpRequired: description: >- Specifies if a One-Time Password (OTP) is required to exchange the authentication token. type: boolean credentialId: description: ID of the user associated with the authentication token. readOnly: true $ref: '#/components/schemas/ResourceId' expiredTime: description: Date and time when the token expired. type: string format: date-time _links: $ref: '#/components/schemas/SelfLink' AuthenticationToken: type: object discriminator: propertyName: mode mapping: password: '#/components/schemas/AuthenticationTokenPasswordMode' passwordless: '#/components/schemas/AuthenticationTokenPasswordlessMode' oneOf: - $ref: '#/components/schemas/AuthenticationTokenPasswordMode' - $ref: '#/components/schemas/AuthenticationTokenPasswordlessMode' ApiKeyScope: type: object properties: organizationId: description: Array of account IDs. type: array items: $ref: '#/components/schemas/ResourceId' productId: description: Array of product IDs. type: array items: type: string description: Unique resource ID. maxLength: 50 example: prod_0YV7DES3WPC5J8JD8QTVNZBZNZ planId: description: Array of plan IDs. type: array items: type: string description: Unique resource ID. maxLength: 50 example: plan_0YV7DENSVGDBW9S71XZNNYYQ0X customFieldName: description: Array of custom field names. type: array items: type: string maxLength: 60 pattern: ^[\w-]+$ example: organizationId: - organizationId-id-1 AclPermissions: type: array items: type: string format: operationId example: - PostFile - StorefrontGetAccount - StorefrontGetWebsite - StorefrontGetKycDocumentCollection - StorefrontGetKycDocument - StorefrontPostKycDocument Acl: type: array description: Access Control List (ACL) information. items: type: object required: - scope - permissions properties: scope: description: Scope of the API key. $ref: '#/components/schemas/ApiKeyScope' permissions: description: >- If you are creating a restricted API key, use this field to specify individual permissions. Use the wildcard character `*` to provide full access. $ref: '#/components/schemas/AclPermissions' CustomerJWT: type: object properties: id: type: string description: ID of the session. maxLength: 50 example: jwt_0YV7DEJX80CDRAKVTV478ZNJDR readOnly: true type: description: Type of session. type: string readOnly: true enum: - customer token: description: Token used for authentication. type: string readOnly: true invalidate: description: >- Specifies whether to invalidate a token after an exchange is performed. type: boolean default: true example: true writeOnly: true oneTimePassword: description: >- One time password that sent by email. This value must contain digits only. type: string pattern: ^[0-9]{6}$ example: '123456' writeOnly: true customerId: readOnly: true allOf: - $ref: '#/components/schemas/CustomerId' acl: $ref: '#/components/schemas/Acl' customClaims: type: object additionalProperties: true example: documents: - identity-proof - address-proof redirectUrl: https://mywebsite.com createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' expiredTime: description: |- Date and time when the session expires. The default value is one hour after the `createdTime` value. type: string format: date-time _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - customer Blocklist: type: object required: - type - value properties: id: type: string description: ID of the blocklist. readOnly: true maxLength: 50 example: blkl_0YV8XTSH9MD578386XQDWSEBNF type: description: Type of blocklist. type: string enum: - payment-card - bank-account - customer-id - email - email-domain - ip-address - country - fingerprint - bin - address value: description: Value of the blocklist. type: string expirationTime: description: Date and time when the blocklist expires. type: - string - 'null' format: date-time createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' CouponRestrictionDiscountPerRedemption: type: object description: |- Restricts the number of times that the coupon can be applied by one redemption. For example, use this restriction to configure a coupon that can only be applied to the first subscription renewal of a particular product. required: - type - quantity properties: type: description: Type of coupon restriction. type: string enum: - discounts-per-redemption quantity: type: integer description: Permitted number of discounts per redemption. CurrencyCode: type: string description: Currency code in ISO 4217 format. minLength: 3 maxLength: 3 example: USD x-label: Currency x-sortable: true CouponRestrictionMinimumOrderAmount: type: object description: |- Specifies a minimum order amount for a coupon application. For example, if the restriction amount is $20, the coupon is only applied to invoices with a total amount of $20 or more. required: - type - amount - currency properties: type: type: string description: Type of coupon restriction. enum: - minimum-order-amount amount: type: integer description: Minimum order quantity that is required to apply the coupon. currency: $ref: '#/components/schemas/CurrencyCode' CouponRestrictionPaidByTime: type: object description: >- Specifies a date and time at which a coupon redemption expires if the invoice is not paid. required: - type - time properties: type: description: Type of coupon restriction. type: string enum: - paid-by-time time: type: string format: date-time description: >- Date and time when a coupon redemption is no longer valid, and the coupon is removed from unpaid invoices if applied. > **Note:** This date-time cannot be changed. CouponRestrictionRestrictToInvoices: type: object description: Restricts a coupon to specific invoices. required: - type - invoiceIds properties: type: type: string description: Type of coupon restriction. enum: - restrict-to-invoices invoiceIds: type: array description: Invoice IDs on which a coupon can be applied. items: type: string CouponRestrictionRestrictToPlans: type: object description: Restricts a coupon to specific pricing plans. required: - type - planIds properties: type: type: string description: Type of coupon restriction. enum: - restrict-to-plans planIds: type: array description: Plan IDs on which a coupon can be applied. items: type: string minimumQuantity: type: integer default: 1 description: >- Minimum quantity that is required to apply the restriction and subsequent discount. CouponRestrictionRestrictToProducts: type: object description: Restricts a coupon to specific products. required: - type - productIds properties: type: type: string description: Type of coupon restriction. enum: - restrict-to-products productIds: type: array description: Product IDs on which a coupon can be applied. items: type: string minimumQuantity: type: integer default: 1 description: >- Minimum quantity that is required to apply the restriction and subsequent discount. CouponRestrictionRestrictToSubscriptions: type: object description: Restricts a coupon to specific order subscriptions. required: - type - subscriptionIds properties: type: type: string description: Type of coupon restriction. enum: - restrict-to-subscriptions subscriptionIds: type: array description: Subscription IDs on which a coupon can be applied. items: type: string RedemptionRestriction: description: Redemption restrictions. type: object discriminator: propertyName: type mapping: discounts-per-redemption: '#/components/schemas/CouponRestrictionDiscountPerRedemption' minimum-order-amount: '#/components/schemas/CouponRestrictionMinimumOrderAmount' paid-by-time: '#/components/schemas/CouponRestrictionPaidByTime' restrict-to-invoices: '#/components/schemas/CouponRestrictionRestrictToInvoices' restrict-to-plans: '#/components/schemas/CouponRestrictionRestrictToPlans' restrict-to-products: '#/components/schemas/CouponRestrictionRestrictToProducts' restrict-to-subscriptions: '#/components/schemas/CouponRestrictionRestrictToSubscriptions' anyOf: - $ref: '#/components/schemas/CouponRestrictionDiscountPerRedemption' - $ref: '#/components/schemas/CouponRestrictionMinimumOrderAmount' - $ref: '#/components/schemas/CouponRestrictionPaidByTime' - $ref: '#/components/schemas/CouponRestrictionRestrictToInvoices' - $ref: '#/components/schemas/CouponRestrictionRestrictToPlans' - $ref: '#/components/schemas/CouponRestrictionRestrictToProducts' - $ref: '#/components/schemas/CouponRestrictionRestrictToSubscriptions' CouponRedemption: type: object description: Coupon redemption log. properties: id: type: string readOnly: true description: Unique resource ID. maxLength: 50 example: cpn_rdm_01HXC82EEPW6YD3MPWJY7151VR couponId: type: string description: ID of the coupon. maxLength: 50 example: cpn_0YVCNKF81GD778N4YNVGDJK558 customerId: $ref: '#/components/schemas/CustomerId' additionalRestrictions: description: Additional coupon redemption restrictions. type: array items: $ref: '#/components/schemas/RedemptionRestriction' createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' canceledTime: description: Date and time when the coupon is canceled. readOnly: true x-sortable: true type: - string - 'null' format: date-time _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - customer - coupon DiscountContext: type: string description: Context in which the discount applies. default: items x-label: Context x-sortable: true x-basic: true x-enumDescriptions: items: items (less discounts) shipping: shipping (less discounts) items-and-shipping: items and shipping (less discounts) enum: - items - shipping - items-and-shipping DiscountFixed: type: object description: Coupon fixed amount discount. required: - amount - currency - type properties: amount: description: Amount of discount. type: number format: double minimum: 0.01 currency: $ref: '#/components/schemas/CurrencyCode' type: type: string enum: - fixed x-label: Type x-sortable: true x-basic: true context: $ref: '#/components/schemas/DiscountContext' DiscountPercent: type: object description: Coupon percent discount. required: - value - type properties: value: description: Percentage of discount. type: number format: double minimum: 0.01 maximum: 100 type: type: string enum: - percent x-label: Type x-sortable: true x-basic: true context: $ref: '#/components/schemas/DiscountContext' Discount: type: object description: Coupon discount. discriminator: propertyName: type mapping: fixed: '#/components/schemas/DiscountFixed' percent: '#/components/schemas/DiscountPercent' oneOf: - $ref: '#/components/schemas/DiscountFixed' - $ref: '#/components/schemas/DiscountPercent' CouponRestrictionRedemptionsPerCustomer: type: object description: |- Restricts the number of times that a coupon can be redeemed by one customer. For example, use this restriction to limit the number of redemptions to one per customer. required: - type - quantity properties: type: type: string description: Type of coupon restriction. enum: - redemptions-per-customer quantity: type: integer description: Permitted number of redemptions per customer. CouponRestrictionRestrictToBxgy: type: object description: >- Provides "buy X get Y" promotions. These promotions incentivize new customers to buy and also reward existing customers. This restriction type enables you to add discounted plans to an invoice when a certain quantity of other plans are purchased. For example, if a customer buys two or more books, they get one free bookmark. required: - type - buy - get properties: type: type: string description: Type of coupon restriction. enum: - restrict-to-bxgy buy: type: array description: >- One or more plan and quantity definitions that must be purchased to receive all plans and quantities that are defined in the `get` instruction. minItems: 1 items: type: object required: - planId - quantity properties: planId: type: string description: Plan ID of the item being purchased. maxLength: 50 example: plan_0YV7DENSVGDBW9S71XZNNYYQ0X quantity: type: integer minimum: 1 description: >- Total quantity of the associated plan ID that must be purchased for this restriction to apply. get: type: array description: >- One or more plan and quantity definitions that are added to a purchase if all definitions in the `buy` condition are met. minItems: 1 items: type: object required: - planId - quantity properties: planId: type: string description: Plan ID of the item that is to be received by the customer. maxLength: 50 example: plan_0YV7DENSVGDBW9S71XZNNYYQ0X quantity: type: integer minimum: 1 description: >- Total quantity of the associated plan ID that is to be received by the customer. CouponRestrictionRestrictToCountries: type: object description: Restricts a coupon for use in specific countries. required: - type - countries properties: type: type: string description: Type of coupon restriction. enum: - restrict-to-countries countries: type: array description: >- Countries where the coupon can be applied, in ISO Alpha-2 code format. For examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/). items: type: string pattern: ^[A-Z]{2}$ CouponRestrictionRestrictToCustomerTags: type: object description: Restricts a coupon to customers with specific tags. required: - type - tags - requireAllTags properties: type: type: string description: Type of coupon restriction. enum: - restrict-to-customer-tags tags: type: array description: Customer tags on which a coupon can be applied. items: type: string requireAllTags: type: boolean description: Determines the behavior for checking customer tags. enum: - true - false x-enumDescriptions: 'true': Customer must have all listed tags to redeem a coupon. 'false': >- Customer must have at least one of the listed tags to redeem a coupon. CouponRestrictionRestrictToCustomers: type: object description: Restricts a coupon to specific customers. required: - type - customerIds properties: type: type: string description: Type of coupon restriction. enum: - restrict-to-customers customerIds: type: array description: Customer IDs on which a coupon can be applied. items: type: string CouponRestrictionExclusiveApplication: type: object description: >- Restricts a coupon so that it cannot be used in combination with other coupons. If more than one coupon is active, a coupon with this restriction is only applied if it provides a larger discount than the other coupons combined. If a coupon with this restriction is applied, all other coupons are removed. required: - type properties: type: type: string description: Type of coupon restriction. enum: - restrict-to-exclusive-application CouponRestrictionTotalRedemptions: type: object description: >- Restricts the number of times a coupon can be redeemed by different customers. required: - type - quantity properties: type: type: string description: Type of coupon restriction. enum: - total-redemptions quantity: type: integer description: Permitted total number of redemptions. CouponRestriction: description: Coupon restrictions. type: object discriminator: propertyName: type mapping: discounts-per-redemption: '#/components/schemas/CouponRestrictionDiscountPerRedemption' minimum-order-amount: '#/components/schemas/CouponRestrictionMinimumOrderAmount' paid-by-time: '#/components/schemas/CouponRestrictionPaidByTime' redemptions-per-customer: '#/components/schemas/CouponRestrictionRedemptionsPerCustomer' restrict-to-bxgy: '#/components/schemas/CouponRestrictionRestrictToBxgy' restrict-to-countries: '#/components/schemas/CouponRestrictionRestrictToCountries' restrict-to-customer-tags: '#/components/schemas/CouponRestrictionRestrictToCustomerTags' restrict-to-customers: '#/components/schemas/CouponRestrictionRestrictToCustomers' restrict-to-exclusive-application: '#/components/schemas/CouponRestrictionExclusiveApplication' restrict-to-invoices: '#/components/schemas/CouponRestrictionRestrictToInvoices' restrict-to-plans: '#/components/schemas/CouponRestrictionRestrictToPlans' restrict-to-products: '#/components/schemas/CouponRestrictionRestrictToProducts' restrict-to-subscriptions: '#/components/schemas/CouponRestrictionRestrictToSubscriptions' total-redemptions: '#/components/schemas/CouponRestrictionTotalRedemptions' anyOf: - $ref: '#/components/schemas/CouponRestrictionDiscountPerRedemption' - $ref: '#/components/schemas/CouponRestrictionExclusiveApplication' - $ref: '#/components/schemas/CouponRestrictionMinimumOrderAmount' - $ref: '#/components/schemas/CouponRestrictionPaidByTime' - $ref: '#/components/schemas/CouponRestrictionRedemptionsPerCustomer' - $ref: '#/components/schemas/CouponRestrictionRestrictToBxgy' - $ref: '#/components/schemas/CouponRestrictionRestrictToCountries' - $ref: '#/components/schemas/CouponRestrictionRestrictToCustomerTags' - $ref: '#/components/schemas/CouponRestrictionRestrictToCustomers' - $ref: '#/components/schemas/CouponRestrictionRestrictToInvoices' - $ref: '#/components/schemas/CouponRestrictionRestrictToPlans' - $ref: '#/components/schemas/CouponRestrictionRestrictToProducts' - $ref: '#/components/schemas/CouponRestrictionRestrictToSubscriptions' - $ref: '#/components/schemas/CouponRestrictionTotalRedemptions' Coupon: type: object description: Coupons and discounts. required: - discount - issuedTime properties: id: type: string description: >- ID of the coupon. This value is also known as the coupon redemption code. readOnly: true maxLength: 50 example: cpn_0YVCNKF81GD778N4YNVGDJK558 discount: $ref: '#/components/schemas/Discount' restrictions: description: Coupon restrictions. type: array items: $ref: '#/components/schemas/CouponRestriction' redemptionsCount: type: integer description: Total number of times that a coupon is redeemed. minimum: 0 readOnly: true status: type: string description: Specifies the current status of the coupon. readOnly: true enum: - draft - issued - expired description: type: string x-basic: true description: >- Description of the coupon. Use this field to provide an invoice discount item description. If this field is empty, the invoice discount item description uses the related coupon ID, in the following format: `Coupon "COUPON-ID"`. issuedTime: description: |- Date and time when the coupon is issued. This value may also be described as start time of the coupon. type: string x-label: Valid from x-sortable: true x-basic: true format: date-time expiredTime: description: Date and time when the coupon expires. type: - string - 'null' x-label: Valid until x-sortable: true x-basic: true format: date-time revision: description: |- Number of times the coupon data has been modified. Use the revision number when analyzing webhook data to determine if a change should take precedence over the current representation. type: integer readOnly: true createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' CouponExpiration: type: object required: - expiredTime properties: expiredTime: description: >- Date and time when the coupon expires. This value must be greater than the `issuedTime` value. If this field contains a null or empty string, the coupon expires immediately. type: string format: date-time BlankProblem: description: >- Problem Details JSON Object [[RFC7807](https://tools.ietf.org/html/rfc7807)]. type: object minProperties: 1 additionalProperties: true properties: status: type: integer description: HTTP status code. minimum: 400 maximum: 599 title: type: string description: >- Short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization. DocumentedProblem: type: object allOf: - properties: type: type: string description: >- URI reference [[RFC3986](https://tools.ietf.org/html/rfc3986)] that identifies the problem type. It should provide human-readable documentation for the problem type. When this member is not present, its value is assumed to be "about:blank". format: uri example: https://www.rebilly.com/docs/ - $ref: '#/components/schemas/BlankProblem' DetailedProblem: type: object allOf: - $ref: '#/components/schemas/BlankProblem' - properties: detail: type: string description: >- Human-readable explanation specific to this occurrence of the problem. Problem: type: object allOf: - $ref: '#/components/schemas/DocumentedProblem' - $ref: '#/components/schemas/DetailedProblem' Error: type: object allOf: - $ref: '#/components/schemas/Problem' - properties: error: deprecated: true type: string CustomerCredential: type: object required: - username - password - customerId properties: id: type: string description: ID of the credential. readOnly: true maxLength: 50 example: cus_crd_0YV9Y706QGCB39FQD380G1ZHZH username: description: Username associated with the credential. type: string password: description: Password associated with the credential. type: string format: password writeOnly: true customerId: $ref: '#/components/schemas/CustomerId' expiredTime: description: Date and time when the credential expires. type: - string - 'null' format: date-time _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - customer ArrayCustomField: type: object required: - type properties: name: description: Name of the custom field. type: string readOnly: true type: description: >- Describes the data type. Custom field type value cannot be changed. Array of strings with up to 255 characters. Maximum size is 1000 elements. type: string enum: - array description: description: Description of the custom field. type: - string - 'null' additionalSchema: type: - object - 'null' description: Additional schema which adds additional values constrains. properties: allowedValues: description: List of allowed values. type: array items: type: string required: description: >- Specifies whether this value is required. This value can be combined with any parameter and is available for custom fields of any type. type: boolean default: description: Default value. type: array items: type: string _links: $ref: '#/components/schemas/SelfLink' BooleanCustomField: type: object required: - type properties: name: description: Name of the custom field. type: string readOnly: true type: description: |- Describes the data type. Custom field type value cannot be changed. Specifies a `true` or `false` value. type: string enum: - boolean description: description: Description of the custom field. type: - string - 'null' additionalSchema: type: - object - 'null' description: Additional schema which adds additional values constrains. properties: required: description: Specifies whether this value is required. type: boolean default: description: Default value. type: boolean _links: $ref: '#/components/schemas/SelfLink' DateCustomField: type: object required: - type properties: name: description: Name of the custom field. type: string readOnly: true type: description: >- Describes the data type. Custom field type value cannot be changed. String in [full-date](https://www.rfc-editor.org/rfc/rfc3339) format (YYYY-MM-DD). type: string enum: - date description: description: Description of the custom field. type: - string - 'null' additionalSchema: type: - object - 'null' description: Additional schema which adds additional values constrains. properties: required: description: Specifies whether this value is required. type: boolean default: description: Default value. type: string format: date _links: $ref: '#/components/schemas/SelfLink' DateTimeCustomField: type: object required: - type properties: name: description: Name of the custom field. type: string readOnly: true type: description: >- Describes the data type. Custom field type value cannot be changed. String in [date-time](https://www.rfc-editor.org/rfc/rfc3339) format (YYYY-MM-DDTHH:MM:SSZ). type: string enum: - datetime description: description: Description of the custom field. type: - string - 'null' additionalSchema: type: - object - 'null' description: Additional schema which adds additional values constrains. properties: required: description: Specifies whether this value is required. type: boolean default: description: Default value. type: string format: date-time _links: $ref: '#/components/schemas/SelfLink' IntegerCustomField: type: object required: - type properties: name: description: Name of the custom field. type: string readOnly: true type: description: |- Describes the data type. Custom field type value cannot be changed. Cardinal value of between `-2^31` and `2^31-1`. type: string enum: - integer description: description: Description of the custom field. type: - string - 'null' additionalSchema: type: - object - 'null' description: Additional schema which adds additional values constrains. properties: minimum: description: |- Minimum allowed integer. This value can be combined with the `maximum` parameter. type: integer maximum: description: |- Maximum allowed integer. This value can be combined with the `minimum` parameter. type: integer required: description: Specifies whether this value is required. type: boolean default: description: Default value. type: integer _links: $ref: '#/components/schemas/SelfLink' NumberCustomField: type: object required: - type properties: name: description: Name of the custom field. type: string readOnly: true type: description: >- Describes the data type. Custom field type value cannot be changed. Float value. This field also accepts cardinal values which are interpreted as float. type: string enum: - number description: description: Description of the custom field. type: - string - 'null' additionalSchema: type: - object - 'null' description: Additional schema which adds additional values constrains. properties: minimum: description: |- Minimum allowed number. This value can be combined with the `maximum` parameter. type: number format: double maximum: description: |- Maximum allowed number. This value can be combined with the `minimum` parameter. type: number format: double required: description: Specifies whether this value is required. type: boolean default: description: Default value. type: number format: double _links: $ref: '#/components/schemas/SelfLink' StringCustomField: type: object required: - type properties: name: description: Name of the custom field. type: string readOnly: true type: description: |- Describes the data type. Custom field type value cannot be changed. Regular string of up to 255 characters. type: string enum: - string description: description: Description of the custom field. type: - string - 'null' additionalSchema: type: - object - 'null' description: Additional schema which adds additional values constrains. properties: allowedValues: description: List of allowed values. type: array items: type: string maxLength: description: |- Maximum allowed string length . A maximum length of 4000 characters can be configured. By default, this value is set to 255. type: integer pattern: description: Allowed regular expression of a string. type: string example: /^[0-9]+$/ required: description: Specifies whether this value is required. type: boolean default: description: Default value. type: string _links: $ref: '#/components/schemas/SelfLink' MonetaryCustomField: type: object required: - type properties: name: description: Name of the custom field. type: string readOnly: true type: description: |- Describes the data type. Custom field type value cannot be changed. A map of 3-letter currency, code, and amount. Example: `{"currency": "EUR", "amount": 25.30}`. type: string enum: - monetary description: description: Description of the custom field. type: - string - 'null' additionalSchema: type: - object - 'null' description: Additional schema which adds additional values constrains. properties: required: description: Specifies whether this value is required. type: boolean default: description: Default value. type: object properties: currency: $ref: '#/components/schemas/CurrencyCode' amount: type: number format: double _links: $ref: '#/components/schemas/SelfLink' CustomField: description: Separate custom field schema. type: object discriminator: propertyName: type mapping: array: '#/components/schemas/ArrayCustomField' boolean: '#/components/schemas/BooleanCustomField' date: '#/components/schemas/DateCustomField' datetime: '#/components/schemas/DateTimeCustomField' integer: '#/components/schemas/IntegerCustomField' number: '#/components/schemas/NumberCustomField' string: '#/components/schemas/StringCustomField' monetary: '#/components/schemas/MonetaryCustomField' oneOf: - $ref: '#/components/schemas/ArrayCustomField' - $ref: '#/components/schemas/BooleanCustomField' - $ref: '#/components/schemas/DateCustomField' - $ref: '#/components/schemas/DateTimeCustomField' - $ref: '#/components/schemas/IntegerCustomField' - $ref: '#/components/schemas/NumberCustomField' - $ref: '#/components/schemas/StringCustomField' - $ref: '#/components/schemas/MonetaryCustomField' WebsiteId: type: string description: >- ID of the website. A website is where an organization obtains a customer. For more information, see [Obtain an organization ID and website ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id). maxLength: 50 example: web_0YV7DE4Z26DQSA1AC92FBJ7SEG PaymentMethod: type: string description: Payment method. enum: - payment-card - ach - cash - check - paypal - AdvCash - Aircash - Airpay - Alfa-click - Alipay - AmazonPay - Apple Pay - AstroPay Card - AstroPay-GO - BankSEND - BankReferenced - bank-transfer - bank-transfer-2 - bank-transfer-3 - bank-transfer-4 - bank-transfer-5 - bank-transfer-6 - bank-transfer-7 - bank-transfer-8 - bank-transfer-9 - Baloto - Beeline - Belfius-direct-net - bitcoin - Bizum - Blik - Boleto - Boleto-2 - Boleto-3 - cash-deposit - CASHlib - CashToCode - CCAvenue - China UnionPay - Cleo - CODVoucher - Conekta-oxxo - Conekta-spei - cryptocurrency - Cupon-de-pagos - CyberSource - Dimoco-pay-smart - Directa24Card - domestic-cards - Efecty - echeck - ecoPayz - ecoVoucher - EPS - ePay.bg - Ethereum - e-wallet - ezyEFT - eZeeWallet - FasterPay - Flexepin - Giropay - Google Pay - Gpaysafe - iDebit - iDEAL - ING-homepay - INOVAPAY-pin - INOVAPAY-wallet - InstaDebit - InstantPayments - instant-bank-transfer - Interac-online - Interac-eTransfer - Interac-express-connect - Interac - invoice - iWallet - Jeton - jpay - KakaoPay - Khelocard - Klarna - KNOT - Litecoin - loonie - LPG-online - LPG-payment-card - Matrix - MaxiCash - Megafon - MercadoPago - MiFinity-eWallet - miscellaneous - MobilePay - Multibanco - Bancontact - Bancontact-mobile - MTS - MuchBetter - MyFatoorah - Neosurf - Netbanking - Neteller - Nordea-Solo - NordikCoin - OchaPay - online-bank-transfer - Onlineueberweisen - oriental-wallet - OXXO - P24 - Pagadito - PagoEffectivo - Pagsmile-lottery - Pagsmile-deposit-express - PayCash - Payco - Payeer - PaymentAsia-crypto - Paysafecard - PayTabs - Pay4Fun - Paynote - Paymero - Paymero-QR - PayU - PayULatam - Perfect-money - Piastrix - PIX - PinPay - phone - PhonePe - POLi - PostFinance-card - PostFinance-e-finance - QIWI - QPay - QQPay - rapyd-checkout - rebilly-hosted-payment-form - Resurs - SafetyPay - Samsung Pay - SEPA - Siirto - Skrill - Skrill Rapid Transfer - SMSVoucher - Sofort - SparkPay - SPEI - swift-dbt - Tele2 - Telr - Terminaly-RF - Tether - ToditoCash-card - Trustly - Tupay - TWINT - UniCrypt - UPayCard - UPI - USD-coin - VCreditos - VegaWallet - VenusPoint - voucher - voucher-2 - voucher-3 - voucher-4 - Wallet88 - Webmoney - Webpay - Webpay-2 - Webpay Card - WeChat Pay - XPay-P2P - XPay-QR - Yandex-money - Zotapay - Zimpler VaultedInstrument: title: Vaulted payment instrument description: >- Vaulted payment instrument. To use this payment instrument for automatic subscription renewals, and for transactions when no specific payment instrument is provided by the user, set this as the default payment instrument. required: - method - paymentInstrumentId properties: method: description: >- Payment method supported vault. For more information, see [Payment instrument](https://www.rebilly.com/catalog/all/payment-instruments). type: string enum: - payment-card - ach - paypal allOf: - $ref: '#/components/schemas/PaymentMethod' paymentInstrumentId: type: string description: ID of the payment instrument. maxLength: 50 example: inst_0YVB8KPKNXCBR9EDX7JHSED75N AlternativePaymentInstrument: title: Alternative instrument description: >- Alternative payment method instrument. To use this payment instrument for automatic subscription renewals, and for transactions when no specific payment instrument is provided by the user, set this as the default payment instrument. type: object required: - method properties: method: $ref: '#/components/schemas/PaymentMethod' paymentInstrumentId: type: string description: ID of the payment instrument. maxLength: 50 example: inst_0YVB8KPKNXCBR9EDX7JHSED75N CashInstrument: title: Cash description: >- Cash payment instrument object. To use this payment instrument for automatic subscription renewals, and for transactions when no specific payment instrument is provided by the user, set this as the default payment instrument. type: object required: - method properties: method: type: string enum: - cash receivedBy: description: Individual or entity that received the payment. type: string CheckInstrument: title: Check description: >- Check payment instrument object. To use this payment instrument for automatic subscription renewals, and for transactions when no specific payment instrument is provided by the user, set this as the default payment instrument. type: object required: - method properties: method: type: string enum: - check reference: description: Reference data. type: string ResourceCustomFields: description: >- Use custom fields to extend a resource scheme to include custom data that is not provided as a common field. For more information, see [Custom fields](https://www.rebilly.com/catalog/all/custom-fields). type: object default: {} example: foo: bar ContactPhoneNumbers: description: List of phone numbers associated with the contact. type: array items: type: object required: - label - value properties: label: description: Phone number label or name. type: string maxLength: 45 example: main value: description: Phone number value. type: string maxLength: 50 example: 512-710-1640 primary: description: >- Specifies if the phone number is the contact's primary phone number. type: boolean example: true ContactEmails: description: List of email addresses associated with the contact. type: array items: type: object required: - label - value properties: label: description: Email label or name. type: string maxLength: 45 example: main value: description: Email address value. type: string format: email maxLength: 255 example: rebilly@example.com primary: description: >- Specifies if the email address is the contact's primary email address. type: boolean example: true ContactObject: type: object description: Contact's information. properties: firstName: description: Contact's first name. type: - string - 'null' pattern: ^[\w\s\-\p{L}\p{M},.']+$ maxLength: 45 example: Benjamin lastName: description: Contact's last name. type: - string - 'null' pattern: ^[\w\s\-\p{L}\p{M},.']+$ maxLength: 45 example: Franklin organization: description: Contact's organization. type: - string - 'null' pattern: ^[\w\s\-\p{L}\p{M},.'&]+$ maxLength: 255 example: Rebilly address: description: First line of the contact's street address. type: - string - 'null' pattern: ^[\w\s\-\/\p{L}\p{M},.#;:()'&]+$ maxLength: 60 example: 36 Craven St address2: description: Second line of the contact's street address. type: - string - 'null' pattern: ^[\w\s\-\/\p{L}\p{M},.#;:()'&]+$ maxLength: 60 city: description: Contact's city of residence. type: - string - 'null' pattern: ^[\w\s\-\p{L}\p{M},.']+$ maxLength: 45 example: Austin region: description: Contact's region of residence. type: - string - 'null' pattern: ^[\w\s\-\/\p{L}\p{M},.#;:()']+$ maxLength: 45 example: Texas country: description: >- Contact's country of residence in ISO 3166 alpha-2 country code. For examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/). type: - string - 'null' pattern: ^[A-Z]{2}$ maxLength: 2 example: GB postalCode: description: Contact's postal code. type: - string - 'null' pattern: ^[\w\s\-]+$ maxLength: 10 example: WC2N 5NF phoneNumbers: $ref: '#/components/schemas/ContactPhoneNumbers' emails: $ref: '#/components/schemas/ContactEmails' dob: description: Contact's date of birth in ISO-8601 `YYYY-MM-DD` format. type: - string - 'null' format: date example: '1980-04-01' jobTitle: description: Contact's job title. type: - string - 'null' pattern: ^[\w\s\-\/\p{L}\p{M},.#;:()']+$ maxLength: 255 example: CEO hash: description: Use this value to compare contacts for identical attribute values. type: string maxLength: 40 example: 056ae6d97c788b9e98b049ebafd7b229bf852221 readOnly: true Company: type: - object - 'null' description: >- Company information that is associated with the customer's primary email address domain. This is a paid feature, to enable it [contact Rebilly](https://www.rebilly.com/support/). readOnly: true properties: name: type: - string - 'null' description: Name of the company. domain: type: string description: Website domain of the company. yearFounded: type: - number - 'null' description: Founding year of the company. format: integer industry: type: - string - 'null' description: Industry the company is associated with. employeesCount: type: - number - 'null' description: Number of employees in the company. format: integer country: type: - string - 'null' description: Country where the company is based. locality: type: - string - 'null' description: Locality or region where the company is based. _links: type: array items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - linkedin CustomerAverageValue: type: object readOnly: true description: Average customer value. properties: currency: description: Merchant's reporting currency. $ref: '#/components/schemas/CurrencyCode' amount: x-type: Money x-label: Average Value x-sortable: true x-basic: true description: Average approved payment amount in merchant's reporting currency. type: number format: double amountUsd: description: Average approved payment amount in USD. type: number format: double CustomerLifetimeRevenue: type: object readOnly: true description: Customer's lifetime revenue. properties: currency: description: Merchant's reporting currency. $ref: '#/components/schemas/CurrencyCode' amount: x-type: Money x-label: Lifetime Revenue x-sortable: true x-basic: true description: Revenue amount in the merchant's reporting currency. type: number format: double amountUsd: description: Revenue amount in USD. type: number format: double OrganizationId: type: string description: >- Unique organization identifier. An organization is an entity that represents a company. For more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id). maxLength: 50 example: org_0YVDM8RC7GDADADSBSMW124JA8 TaxNumber: type: object required: - type - value properties: type: type: string description: Type of the tax number. enum: - eu-vat - other example: eu-vat value: type: string description: Value of the tax number. example: GB980780684 isDefault: type: boolean description: >- Determines if the tax number is selected as default to display on invoices. example: true isValid: type: - boolean - 'null' description: >- Determines if the tax number passed the EU official [VIES validation](https://ec.europa.eu/taxation_customs/vies/#/vat-validation). example: true readOnly: true Customer: type: object description: Customer information. properties: id: type: string description: ID of the customer. readOnly: true example: cus_0YV7DDSDD1C8DA64KHH2W33CPF maxLength: 50 email: description: Customer's email address. type: - string - 'null' format: email readOnly: true x-sortable: true x-basic: true firstName: description: Customer's first name. type: - string - 'null' x-basic: true readOnly: true lastName: description: Customer's last name. type: - string - 'null' x-sortable: true x-basic: true readOnly: true websiteId: x-sortable: true allOf: - $ref: '#/components/schemas/WebsiteId' paymentToken: type: string writeOnly: true description: >- Write-only payment token. If supplied, the token is converted into a payment instrument and set as the `defaultPaymentInstrument` value. If both are supplied, the value of this property overrides the `defaultPaymentInstrument` value. The token expires after first use. defaultPaymentInstrument: anyOf: - $ref: '#/components/schemas/VaultedInstrument' - $ref: '#/components/schemas/AlternativePaymentInstrument' - $ref: '#/components/schemas/CashInstrument' - $ref: '#/components/schemas/CheckInstrument' - type: 'null' createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' customFields: $ref: '#/components/schemas/ResourceCustomFields' primaryAddress: description: Customer's primary address. oneOf: - $ref: '#/components/schemas/ContactObject' - type: 'null' company: $ref: '#/components/schemas/Company' averageValue: $ref: '#/components/schemas/CustomerAverageValue' paymentCount: x-label: Payments x-sortable: true x-basic: true description: Total number of approved payments made by the customer. readOnly: true type: integer lastPaymentTime: x-label: Last Payment x-sortable: true x-basic: true description: Time and date of the customer's last approved payment. type: - string - 'null' format: date-time readOnly: true lifetimeRevenue: $ref: '#/components/schemas/CustomerLifetimeRevenue' invoiceCount: x-sortable: true description: >- Total number of invoices issued to the customer. This value is auto-incrementing. If this value is `0`, the record relates to a lead. A lead is a customer who has not made a payment yet. If this value is greater than or equal to `1` the record relates to a customer. readOnly: true type: integer tags: description: List of customer tags. readOnly: true type: array items: $ref: '#/components/schemas/Tag' revision: description: >- Number of times the customer's data has been modified. Use this value when analyzing webhook data to determine if a change must take precedence over the current representation. type: integer readOnly: true isEddRequired: description: >- Specifies if Enhanced Due Diligence (EDD) is enabled for this customer. For more information, see [Enhanced Due Diligence](https://www.rebilly.com/docs/kyc-and-aml/edd/). type: boolean default: false hasFulfilledKyc: description: >- Specifies if the customer has accepted and reviewed identity and address documents, or an accepted credit file document. type: boolean readOnly: true organizationId: readOnly: true allOf: - $ref: '#/components/schemas/OrganizationId' taxNumbers: type: - array - 'null' description: Tax numbers of the customer. items: $ref: '#/components/schemas/TaxNumber' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - attachments - defaultPaymentInstrument - leadSource - website _embedded: type: object description: >- Embedded objects that are requested using the `expand` query string parameter. readOnly: true properties: leadSource: type: object CustomerTimelineCustomEvent: type: object required: - name properties: id: type: string description: ID of the customer timeline custom event. readOnly: true maxLength: 50 example: tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC name: description: |- Name of the customer timeline custom event type. This value must not conflict with any system event name. type: string minLength: 1 maxLength: 255 createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' LeadSourceData: type: object description: Lead source information. properties: medium: description: >- Category of the lead source traffic. For example, the medium could be organic search, Google ads, Display ads, and so on. type: - string - 'null' maxLength: 512 source: description: Domain, platform, or channel from which the lead source originates. type: - string - 'null' maxLength: 512 campaign: description: Campaign name of the lead source. type: - string - 'null' maxLength: 512 term: description: Term associated with a lead source. type: - string - 'null' maxLength: 512 content: description: |- Content contained in the lead source content. For example, content could be graphics, video, and so on. type: - string - 'null' maxLength: 512 affiliate: description: Individual or entity that is affiliated with the lead source. type: - string - 'null' maxLength: 512 subAffiliate: description: >- Individual or entity that is associated with a lead source affiliate. In other products, this field may also be referred to as sub ID or click ID in some. type: - string - 'null' maxLength: 512 salesAgent: description: Name of the sales agent associated with the lead source. type: - string - 'null' maxLength: 512 clickId: description: >- ID of the lead source click. This value is passed in the ad click URL for tracking and campaign attribution. type: - string - 'null' maxLength: 512 path: description: URL from which the lead source originates. type: - string - 'null' maxLength: 512 referrer: description: >- Lead source [`referrer` URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer). type: - string - 'null' format: url maxLength: 2083 createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - customer LeadSource: allOf: - $ref: '#/components/schemas/LeadSourceData' - type: object properties: original: readOnly: true allOf: - $ref: '#/components/schemas/LeadSourceData' RedemptionCancelTimelineAction: description: Cancel redemption. type: object readOnly: true properties: action: type: string enum: - redemption-cancel redemptionId: $ref: '#/components/schemas/ResourceId' ResendEmailTimelineAction: type: object description: Resend email action. readOnly: true properties: action: type: string enum: - resend-email messageId: $ref: '#/components/schemas/ResourceId' RulesetRestoreTimelineAction: type: object description: Restore ruleset version. readOnly: true properties: action: type: string enum: - ruleset-restore version: type: integer description: Version of the ruleset to restore. ShowEddSearchLogsTimelineAction: type: object description: Show Enhanced Due Diligence (EDD) search logs action. readOnly: true properties: action: type: string enum: - show-edd-search-logs searchLogId: $ref: '#/components/schemas/ResourceId' type: type: string enum: - arrest - bankruptcy - fraud - occupation TimelineAction: type: object discriminator: propertyName: action mapping: redemption-cancel: '#/components/schemas/RedemptionCancelTimelineAction' resend-email: '#/components/schemas/ResendEmailTimelineAction' ruleset-restore: '#/components/schemas/RulesetRestoreTimelineAction' show-edd-search-logs: '#/components/schemas/ShowEddSearchLogsTimelineAction' oneOf: - $ref: '#/components/schemas/RedemptionCancelTimelineAction' - $ref: '#/components/schemas/ResendEmailTimelineAction' - $ref: '#/components/schemas/RulesetRestoreTimelineAction' - $ref: '#/components/schemas/ShowEddSearchLogsTimelineAction' TimelineTable: type: object description: Additional timeline message information. discriminator: propertyName: type mapping: three-columns: '#/components/schemas/ThreeColumnsTimelineTable' two-columns: '#/components/schemas/TwoColumnsTimelineTable' one-column: '#/components/schemas/OneColumnTimelineTable' list: '#/components/schemas/ListTimelineTable' properties: type: type: string enum: - list - one-columns - two-columns - three-columns title: type: string description: Data table title. footer: type: string description: Data table footer. ThreeColumnsTimelineTable: allOf: - $ref: '#/components/schemas/TimelineTable' - type: object properties: data: type: array description: Table data. Each array element represents a table row. items: type: object properties: attribute: type: string previousValue: type: string newValue: type: string example: attribute: Descriptor previousValue: test.com newValue: new-test.com TwoColumnsTimelineTable: allOf: - $ref: '#/components/schemas/TimelineTable' - type: object properties: data: type: array description: Table data. Each array element represents a table row. items: type: object properties: attribute: type: string value: type: string example: attribute: Who value: John Doe OneColumnTimelineTable: allOf: - $ref: '#/components/schemas/TimelineTable' - type: object properties: data: type: array description: Table data. Each array element represents a table row. items: type: object properties: attribute: type: string value: type: string example: attribute: Who value: John Doe ListTimelineTable: allOf: - $ref: '#/components/schemas/TimelineTable' - type: object properties: data: type: array description: Table data. Each array element represents a line. items: type: string TimelineExtraData: type: object description: Additional data. readOnly: true properties: actions: description: |- Actions available for a timeline message. If no actions are available, this field is empty. type: array minItems: 0 items: $ref: '#/components/schemas/TimelineAction' tables: description: Table data that is attached to the timeline message. type: array minItems: 0 items: $ref: '#/components/schemas/TimelineTable' author: type: object description: Author of the timeline message. properties: userFullName: description: Author's full name. type: string userId: description: Author's user ID. type: string maxLength: 50 example: usr_0YVCEENYJ3D7Q9EN6BN16HA0G4 mentions: description: User mentions, or tags, in a timeline. type: object additionalProperties: type: string example: '@test@mail.com': userId-1 links: description: Links that are attached to a timeline message. type: array items: type: object properties: resourceType: type: string enum: - kyc-document - invoice - subscription - transaction - email-message - dispute - coupon - external resourceId: $ref: '#/components/schemas/ResourceId' placeholder: type: string example: KYC document externalUrl: type: string example: http://example.com ServerTimestamp: type: string description: Read-only timestamp in ISO 8601 date-time format. format: date-time readOnly: true CustomerTimeline: type: object properties: id: type: string description: ID of the customer timeline custom event. readOnly: true maxLength: 50 example: tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC type: description: Type of timeline message. type: string enum: - account-password-reset-requested - account-verification-requested - aml-list-was-possibly-matched - deposit-request-completed - deposit-request-created - deposit-request-expired - deposit-request-started - coupon-applied - coupon-redeemed - coupon-redemption-canceled - custom-event - custom-event-processed - custom-fields-changed - customer-bank-account-blocked - customer-blocked - customer-comment-created - customer-created - customer-merged - customer-payment-card-blocked - customer-requested-otp - customer-tagged - customer-untagged - default-payment-instrument-changed - email-message-sent - experian-check-performed - invoice-abandoned - invoice-created - invoice-disputed - invoice-issued - invoice-paid - invoice-partially-paid - invoice-partially-refunded - invoice-past-due - invoice-refunded - invoice-reissued - invoice-revenue-recognized - invoice-voided - kyc-document-accepted - kyc-document-created - kyc-document-modified - kyc-document-rejected - kyc-document-reviewed - kyc-request-fulfilled - lead-source-changed - order-activated - order-canceled - order-churned - order-completed - order-created - order-downgraded - order-paid-early - order-reactivated - order-renewed - order-trial-ended - order-upgraded - payment-card-expiration-was-modified - payment-card-expired - payment-instrument-created - payment-instrument-deactivated - primary-address-changed - quickbooks-customer-created - quickbooks-customer-task-failed - quote-canceled - quote-created - quote-expired - quote-issued - quote-order-attached - quote-recalled - quote-rejected - quote-updated - refund-was-reflected-in-invoices - subscription-paused - subscription-resumed - subscription-trial-end-changed - transaction-abandoned - transaction-amount-discrepancy-found - transaction-approved - transaction-canceled - transaction-declined - transaction-discrepancy-found - transaction-disputed - transaction-reconciled - transaction-refunded - transaction-voided - transaction-waiting-gateway customEventType: description: >- Timeline custom event type. Used with `custom-event` type. This value must be defined using the [Create customer timeline custom event type](https://www.rebilly.com/catalog/all/customers-timeline/postcustomertimelinecustomeventtype) operation. type: - string - 'null' minLength: 1 maxLength: 255 customData: description: |- Timeline custom event data. Used with `custom-event` type. Transforms to `extraData` two-column table in response. type: object writeOnly: true example: customAttribute: customValue otherAttribute: otherValue triggeredBy: description: Specifies who, or what, triggered the timeline event. type: string readOnly: true enum: - rebilly - app - direct-api message: description: Detailed message description. type: string extraData: $ref: '#/components/schemas/TimelineExtraData' occurredTime: description: Date and time when the timeline message occurred. $ref: '#/components/schemas/ServerTimestamp' _links: $ref: '#/components/schemas/SelfLink' Dispute: type: object properties: id: type: string description: ID of the dispute. readOnly: true maxLength: 50 example: dp_0YVCE8J5F2DE58FV0S8YASW4HK customerId: description: ID of the customer who is disputing a transaction. type: - string - 'null' readOnly: true maxLength: 50 example: cus_0YV7DDSDD1C8DA64KHH2W33CPF transactionId: description: ID of the disputed transaction. type: - string - 'null' maxLength: 50 example: txn_0YVDTQJ8YWDGQACV2N2N5SPWQ0 currency: $ref: '#/components/schemas/CurrencyCode' amount: description: Dispute amount. type: number format: double acquirerReferenceNumber: description: Acquirer reference number for the dispute. type: - string - 'null' caseId: description: Case ID of the dispute. type: - string - 'null' reasonCode: description: >- Code used in the chargeback that describes the reason for the dispute. type: - string - 'null' maxLength: 255 reasonDescription: description: Description of the reason for the dispute. type: - string - 'null' maxLength: 512 readOnly: true category: description: Category of dispute. type: string readOnly: true enum: - fraud - authorization - processing-errors - consumer-disputes - uncategorized - bank-return type: description: Type of dispute. type: string enum: - information-request - first-chargeback - second-chargeback - arbitration - fraud - ethoca-alert - verifi-alert - bank-return - paypal-claim - representment status: description: Status of the dispute. type: string enum: - response-needed - under-review - forfeited - won - lost - unknown postedTime: description: Date and time when the dispute is posted. type: string format: date-time deadlineTime: description: >- Latest date and time by when a merchant must submit a representment for a dispute. If the deadline is missed, the merchant loses the dispute. type: - string - 'null' format: date-time rawResponse: description: >- Raw response from the payment gateway that processed the disputed transaction. type: - string - 'null' readOnly: true resolvedTime: type: - string - 'null' format: date-time description: Date and time when the dispute is resolved. readOnly: true source: description: Source of the dispute. type: - string - 'null' readOnly: true enum: - null - api - manual - sftp - webhook revision: description: |- Number of times the dispute data has been modified. Use the revision number when analyzing webhook data to determine if a change should take precedence over the current representation. type: integer readOnly: true createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - transaction - attachments _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: transaction: type: object TransactionId: type: string description: ID of the transaction. maxLength: 50 example: txn_0YVDTQJ8YWDGQACV2N2N5SPWQ0 ExternalIdentifier: type: object required: - externalIdentifier properties: resource: type: string description: Type of the resource. enum: - customers - invoices - invoice-items - transactions - journal-accounts - journal-entries readOnly: true resourceId: type: string description: ID of the resource entity. readOnly: true service: type: string description: Name of the external service. enum: - quickbooks-online readOnly: true externalIdentifier: type: string description: ID of the referenced entity within an external service. createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: description: Related links. type: array readOnly: true items: type: object properties: rel: type: string description: Type of link. enum: - self - externalService href: type: string description: Link URL. ExternalServiceSettings: type: object description: Settings for external service integration. properties: quickBooksOnline: type: object title: QuickBooksOnlineExternalServiceSettings description: QuickBooks Online settings. properties: customer: type: object title: QuickBooksOnlineCustomerExternalServiceSettings description: Customer settings. properties: sync: type: string description: >- Specifies how to synchronize customers between your Rebilly and QuickBooks Online account. default: manually enum: - manually - when-used - always x-enumDescriptions: manually: >- Customer data is only synchronized when it is manually executed. when-used: >- Customer data is synchronized when related entities, such as transactions or invoices are created or updated. always: >- Customer data is synchronized automatically as data is created or updated. displayName: type: string default: full-name enum: - id - full-name - organization-name invoice: type: object title: QuickBooksOnlineInvoiceExternalServiceSettings description: Invoice settings. properties: sync: type: string description: >- Specifies how to synchronize invoices between your Rebilly and QuickBooks Online account. default: manually enum: - manually - when-issued - always x-enumDescriptions: manually: >- Invoice data is only synchronized when it is manually executed. when-issued: Invoice data is synchronized when issued. always: >- Invoice data is synchronized automatically as data it is issued or updated. unearnedRevenueAccountId: type: string description: ID of the journal account where all products are created. example: jrn_acc_01H32J1C97KWGRCKF1E1JY0QG8 taxesAccountId: type: - string - 'null' default: null description: ID of the journal account where all taxes are created. example: jrn_acc_01H32J1KGXSRDH0K8Q7YYA552T department: type: - string - 'null' default: null description: >- ID of the QuickBooks Online department that invoices are related to. example: jrn_acc_01H32J1KGXSRDH0K8Q7YYA552T itemName: type: string description: Name of the invoice item. itemDescription: type: string description: Description of the invoice item. itemSku: type: string description: Stock Keeping Unit (SKU) of the invoice item. itemLineDescription: type: string description: Description of the invoice line item. taxName: type: string description: Name of the tax that is applied to the invoice. taxDescription: type: string description: Description of the tax that is applied to the invoice. taxSku: type: string description: >- Stock Keeping Unit (SKU) of the tax that is applied to the invoice. taxLineDescription: type: string description: Description of the tax line. transaction: type: object title: QuickBooksOnlineTransactionExternalServiceSettings description: Transaction settings. properties: syncPayments: type: string description: >- Specifies how to synchronize transactions between your Rebilly and QuickBooks Online account. default: manually enum: - manually - always x-enumDescriptions: manually: >- Transaction data is only synchronized when it is manually executed. always: >- Transaction data is synchronized automatically as data is created or updated. syncRefundReceipts: type: string description: >- Specifies how to synchronize invoices between your Rebilly and QuickBooks Online account. default: manually enum: - manually - always x-enumDescriptions: manually: >- Invoice data is only synchronized when it is manually executed. always: >- Invoice data is synchronized automatically as data is created or updated. depositAccountId: type: string description: >- ID of the journal account where all payments and refund receipts are deposited. example: jrn_acc_01H32J1C97KWGRCKF1E1JY0QG8 department: type: - string - 'null' default: null description: >- ID of the QuickBooks Online department that payments and refund receipts are related to. example: jrn_acc_01H32J1KGXSRDH0K8Q7YYA552T journalEntry: type: object title: QuickBooksOnlineJournalEntryExternalServiceSettings description: Journal entry settings. properties: sync: type: string description: >- Specifies how to synchronize journal entries between your Rebilly and QuickBooks Online account. default: manually enum: - manually - always x-enumDescriptions: manually: >- Journal entry data is only synchronized when it is manually executed. always: >- Journal entry data is synchronized automatically as data is created or updated. File: type: object properties: id: type: string description: ID of the file. readOnly: true maxLength: 50 example: file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N name: description: Original file name. type: string extension: description: File extension. type: string description: description: Description of the file. type: string sourceType: description: Source of the file. type: - string - 'null' enum: - upload - camera - organization-export - organization-closure-export - null example: upload tags: description: List of tags associated with the file. type: array items: type: string mime: description: MIME type of the file. type: string readOnly: true enum: - image/png - image/jpeg - image/gif - application/pdf size: description: File size, in bytes. type: integer readOnly: true width: description: Image width. This field applicable to images only. type: integer readOnly: true height: description: Image height. This field applicable to images only. type: integer readOnly: true sha1: description: Hash sum of the file. type: string readOnly: true exifData: description: >- Collection of EXIF tags contained in the image metadata. This field applicable to images only. type: - object - 'null' readOnly: true example: FileSize: 120 Software: GIMP 2.4.5 createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' isPublic: description: >- Specifies if the file is available publicly without authentication. If this value is `true`, the permalink in the `_links` section contains the public URL. type: boolean _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - download - signedLink - permalink FileCreateFromInline: type: object required: - file properties: file: description: File in base64 encoded format. type: string example: R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs= isPublic: description: >- Specifies if the file is available publicly without authentication. If this value is `true`, the permalink in the `_links` section contains the public URL. type: boolean example: false name: description: File name used for downloading. type: string example: logo.png description: description: Description of the file. type: string example: My file description sourceType: description: Source of the file. type: - string - 'null' enum: - upload - camera example: upload tags: description: List of tags associated with the file. type: array items: type: string example: - test - tags FileCreateFromUrl: type: object required: - url properties: url: description: URL of the file to upload. type: string example: >- https://blog.rebilly.com/wp-content/uploads/2017/09/rb_LogoInverted_Small.png isPublic: description: >- Specifies if the file is available publicly without authentication. If this value is `true`, the permalink in the `_links` section contains the public URL. type: boolean example: false name: description: File name used for downloading. type: string example: logo.png description: description: Description of the file. type: string example: My file description sourceType: description: Source of the file. type: - string - 'null' enum: - upload - camera example: upload tags: description: List of tags associated with the file. type: array items: type: string example: - test - tags ApplicationInstance: type: object description: Application instance object. properties: status: description: Status of the application instance. readOnly: true type: string enum: - enabling - enabled - disabling - disabled isConfigured: description: >- Determines if the configuration of the application instance is complete. Configuration is completed using the [Upsert an application instance configuration](https://www.rebilly.com/catalog/all/application-users/putapplicationinstanceconfiguration) operation. type: boolean readOnly: true settings: description: Configuration settings that are available during installation. type: object additionalProperties: type: string description: >- Additional properties that the user may want to add when installing an application. example: color: red limit: '5' deprecated: true readOnly: true createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' ApplicationInstanceConfiguration: type: object required: - settings description: >- Application instance configuration. If the `configuredBy` field is set to `user`, only user can change application settings. If the `configuredBy` field is set to `application`, only the application itself can change settings. properties: settings: description: Configuration settings that are available during installation. type: object additionalProperties: type: string description: >- Additional properties that the user may want to add when installing an application. example: color: red level: gold _links: readOnly: true type: array description: Related links. items: type: object properties: rel: type: string description: Type of link. enum: - self - configuration x-enumDescriptions: self: Link to the application instance configuration. configuration: >- Link to the external resource where the application instance must be configured. This field contains a JWT in the query parameter. Direct the user to this URL where application settings must be submitted. href: type: string description: Link URL. Application: type: object description: Application object. required: - name - logoId - authorName - tagline - description - permissions properties: id: type: string description: ID of the application. readOnly: true maxLength: 50 example: app_01H0HT25X7XXCJGS4H8VJSYF2Y name: description: Name of the application. type: string logoId: type: string description: File ID of the application logo. maxLength: 50 example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21 authorName: description: Name of the application author. type: string authorLogoId: type: - string - 'null' description: File ID of the author's logo. maxLength: 50 example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21 tagline: description: Tagline of the application. type: string description: description: >- Detailed application description. This field accepts markdown and simple text. type: string status: description: Status of the application. readOnly: true type: string enum: - pending-approval - available - disabled permissions: description: >- List of permissions that are available to the application. If you would like to add permissions, contact [Rebilly Support](mailto:info@rebilly.com). type: array items: type: string format: operationId enum: - DeleteApplicationInstance - GetApplicationInstanceConfiguration - GetCustomer - GetCustomerCollection - GetInvoice - GetInvoiceCollection - GetPlan - GetPlanCollection - GetProduct - GetProductCollection - GetSubscription - GetSubscriptionCollection - GetTransaction - GetTransactionCollection - GetWebhook - GetWebsite - GetWebsiteCollection - PostCoupon - PostCouponRedemption - PostGatewayAccountDowntimeSchedule - PostPayout - PostServiceCredential - PostWebhook - PostWebhookCredentialHash - PutApplicationInstanceConfiguration - PutCoupon example: - GetInvoice - GetInvoiceCollection - GetCustomer - GetCustomerCollection configurationUrl: description: >- External URL where the application is configured during installation. type: - string - 'null' format: url configuredBy: type: string description: Specifies who can configure the application. readOnly: true enum: - user - application properties: description: >- Defines settings that users can complete when they install the application. This field accepts [JSON-schema](https://json-schema.org/) drafts 4, 6, and 7. type: object example: type: object properties: email: type: string max: type: integer minimum: 0 exclusiveMaximum: 100 required: - email createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - applicationInstance - logoUrl - authorLogoUrl UserApplication: allOf: - $ref: '#/components/schemas/Application' - properties: _embedded: type: object description: >- Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: applicationInstance: $ref: '#/components/schemas/ApplicationInstance' OwnerApplicationInstance: allOf: - $ref: '#/components/schemas/ApplicationInstance' - type: object properties: organizationId: readOnly: true allOf: - $ref: '#/components/schemas/OrganizationId' token: description: Session token used to authenticate an organization. type: string readOnly: true ManualShipping: description: Manually set shipping amount. type: object required: - amount - calculator properties: amount: x-type: Money type: number format: double description: Shipping amount. calculator: description: Shipping calculator. type: string enum: - manual RebillyShipping: description: Rebilly-based shipping which is calculated by shipping rates. type: object required: - calculator properties: calculator: description: Shipping calculator. type: string enum: - rebilly rateId: description: >- ID of the shipping rate. If unset the cheapest applicable shipping rate is chosen. type: - string - 'null' maxLength: 50 example: shipping-123-456 amount: type: number format: double readOnly: true description: >- Shipping amount which is calculated from [Shipping rates](https://www.rebilly.com/catalog/all/shipping-rates). Shipping: description: Shipping settings. type: object discriminator: propertyName: calculator mapping: manual: '#/components/schemas/ManualShipping' rebilly: '#/components/schemas/RebillyShipping' anyOf: - $ref: '#/components/schemas/ManualShipping' - $ref: '#/components/schemas/RebillyShipping' TaxItem: type: object required: - amount - description properties: amount: description: Amount of the tax. type: number format: double description: type: string description: Description of the tax. rate: description: >- Overall sales tax rate which includes state, county, city and district tax. type: - number - 'null' format: double readOnly: true stateAmount: description: Amount of sales tax to collect for the state. type: - number - 'null' format: double example: 0.94 readOnly: true countyAmount: description: Amount of sales tax to collect for the county. type: - number - 'null' format: double example: 0.04 readOnly: true cityAmount: description: Amount of sales tax to collect for the city. type: - number - 'null' format: double example: 0 readOnly: true specialDistrictAmount: description: Amount of sales tax to collect for the special district. type: - number - 'null' format: double example: 0.38 readOnly: true stateRate: description: State sales tax rate for given location. type: - number - 'null' format: double readOnly: true countyRate: description: County sales tax rate for given location. type: - number - 'null' format: double readOnly: true cityRate: description: City sales tax rate for given location. type: - number - 'null' format: double readOnly: true specialDistrictRate: description: Special district sales tax rate for given location. type: - number - 'null' format: double readOnly: true jurisdictions: description: Jurisdiction names for the invoice. type: - object - 'null' readOnly: true properties: country: description: Two-letter ISO country code for the provided location. type: - string - 'null' example: US readOnly: true state: description: Postal abbreviated state name for the provided location. type: - string - 'null' example: CA readOnly: true county: description: County name for the provided location. type: - string - 'null' example: LOS ANGELES readOnly: true city: description: City name for the provided location. type: - string - 'null' example: LOS ANGELES readOnly: true ManualTax: type: object description: Manual tax calculator. required: - calculator - items properties: calculator: description: Type of tax calculator. type: string enum: - manual amount: type: integer x-type: Money x-sortable: true description: Total amount of taxes. readOnly: true items: type: array description: Taxes applied. items: $ref: '#/components/schemas/TaxItem' RebillyTaxJarTax: type: object description: TaxJar tax calculator. required: - calculator properties: calculator: description: Type of tax calculator. type: string enum: - rebilly-taxjar amount: type: integer x-type: Money x-sortable: true description: Total amount of taxes. readOnly: true items: type: array description: >- Taxes applied and calculated based on the `taxCategoryId` of the related product. items: $ref: '#/components/schemas/TaxItem' RebillyAvalaraTax: type: object description: Avalara tax calculator. required: - calculator properties: calculator: description: Type of tax calculator. type: string enum: - rebilly-avalara amount: type: integer x-type: Money x-sortable: true description: Total amount of taxes. readOnly: true items: type: array description: >- Taxes applied and calculated based on the `taxCategoryId` of the related product. items: $ref: '#/components/schemas/TaxItem' Taxes: description: Taxes. type: object discriminator: propertyName: calculator mapping: manual: '#/components/schemas/ManualTax' rebilly-taxjar: '#/components/schemas/RebillyTaxJarTax' rebilly-avalara: '#/components/schemas/RebillyAvalaraTax' anyOf: - $ref: '#/components/schemas/ManualTax' - $ref: '#/components/schemas/RebillyTaxJarTax' - $ref: '#/components/schemas/RebillyAvalaraTax' InvoiceItem: type: object required: - type - unitPrice properties: id: type: string description: ID of the invoice item. readOnly: true maxLength: 50 example: ii_0YVFDEQS2KCFTBN9HXWJFY55GV type: description: Type of invoice item. type: string x-basic: true enum: - debit - credit description: description: Description of the invoice item. type: string maxLength: 1000 unitPrice: description: Unit price of the invoice item. type: number format: double quantity: description: Quantity of the invoice item. type: integer price: description: Total price of the invoice item. type: number format: double readOnly: true productId: type: - string - 'null' description: ID of the product. maxLength: 50 example: prod_0YV7DES3WPC5J8JD8QTVNZBZNZ planId: type: - string - 'null' description: ID of the plan. maxLength: 50 readOnly: true example: plan_0YV7DENSVGDBW9S71XZNNYYQ0X subscriptionId: type: - string - 'null' description: ID of the order. maxLength: 50 readOnly: true example: sub_01HRF27SATGE4Z6PBJE6PD8328 discountAmount: description: Discount amount applied to the invoice item. type: number format: double readOnly: true periodStartTime: description: Date and time when the billing period starts. type: - string - 'null' format: date-time periodEndTime: description: Date and time when the billing period ends. type: - string - 'null' format: date-time periodNumber: description: >- Billing period number that is associated with the invoice item. For example, an invoice item for a service is included in billing period number 3. The invoice item is only applied to billing period number 3. type: - integer - 'null' createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' tax: description: Invoice item tax. readOnly: true oneOf: - $ref: '#/components/schemas/TaxItem' - type: 'null' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - product - subscription - plan _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: product: type: object plan: type: object GatewayName: description: Payment gateway name. type: - string - 'null' enum: - A1Gateway - ACI - Adyen - Aircash - Airpay - Airwallex - AmazonPay - AmexVPC - ApcoPay - AsiaPaymentGateway - AstroPayCard - AuthorizeNet - Awepay - Bambora - BankSEND - BitPay - BlueSnap - BraintreePayments - Buckaroo - BVNK - Cardknox - Cashflows - CASHlib - Cashterminal - CashToCode - CauriPayment - Cayan - CCAvenue - Chase - CheckoutCom - Chillstock - Circle - Citadel - Clearhaus - Cleo - CODVoucher - Coinbase - CoinGate - CoinPayments - Conekta - Coppr - Credorax - Cryptonator - CyberSource - DataCash - Dengi - Dimoco - Directa24 - dLocal - Dragonphoenix - Dropayment - EasyPayDirect - EBANX - ecoPayz - EcorePay - Elavon - Euteller - eMerchantPay - EMS - ePay - EPG - EPro - Ezeebill - eZeeWallet - ezyEFT - FasterPay - Finrax - Flexepin - FinTecSystems - FundSend - Forte - GET - Gigadat - GlobalOnePay - Gooney - Gpaysafe - Greenbox - HiPay - iCanPay - ICEPAY - iCheque - iDebit - Ilixium - Ingenico - INOVAPAY - Inovio - Intuit - InstaDebit - IpayOptions - JetPay - Jeton - JPMOrbital - Khelocard - Klarna - Konnektive - LaCore - loonie - LPG - MaxiCash - MercadoPago - MiFinity - MobilePay - Moneris - Monolo - MtaPay - MuchBetter - MuchBetterGateway - MyFatoorah - Neosurf - Netbanking - Neteller - NGenius - NinjaWallet - NMI - NordikCoin - NOWPayments - NuaPay - OchaPay - Onlineueberweisen - OnRamp - Orbital - Pagadito - Pagsmile - Panamerican - ParamountCommerce - ParamountEft - ParamountInterac - PandaGateway - Pay4Fun - PayCash - PayClub - PayEcards - Payeezy - Payflow - Paynote - PaymentAsia - PaymenTechnologies - PaymentsOS - Paymero - PayPal - Payper - Payr - PayRedeem - PayRetailers - Paysafe - Paysafecard - Paysafecash - PayTabs - PayU - PayULatam - Payvision - PharosPayments - Piastrix - Pin4Pay - Plugnpay - PostFinance - PPRO - Prosa - PSiGate - Rapyd - Realex - Realtime - Redsys - Rotessa - RPN - Safecharge - SaltarPay - Sagepay - SeamlessChex - SecureTrading - SecurionPay - Skrill - SmartInvoice - SMSVoucher - Sofort - SparkPay - StaticGateway - STPMexico - Stripe - Telr - TestProcessor - ToditoCash - Truevo - TrustsPay - Trustly - TWINT - Unlimit - UPayCard - USAePay - VantivLitle - vegaaH - VCreditos - VegaWallet - Wallet88 - Walpay - WesternUnion - Wirecard - WorldlineAtosFrankfurt - Worldpay - XPay - Zimpler - Zotapay AcquirerName: description: Acquirer name. type: - string - 'null' enum: - Adyen - ACI - Alipay - AIB - Aircash - Airpay - AmazonPay - ApcoPay - AsiaPaymentGateway - AstroPay Card - Awepay - Ipay Options - B+S - Bambora - BitPay - Bank of America - Bank of Moscow - Bank of Rebilly - Bank One - BankSEND - BMO Harris Bank - Borgun - BraintreePayments - Buckaroo - BVNK - Cardknox - CASHlib - Cashterminal - CashToCode - Catalunya Caixa - CCAvenue - Chase - CheckoutCom - Chillstock - ChinaUnionPay - CIM - Circle - Citadel - Clearhaus - Cleo - CODVoucher - Coinbase - CoinGate - CoinPayments - Conekta - Coppr - Credorax - Cryptonator - CyberSource - Dimoco - dLocal - Dragonphoenix - Dropayment - EasyPayDirect - EBANX - ecoPayz - EcorePay - Elavon - EMS - ePay - EPG - Euteller - Ezeebill - eZeeWallet - ezyEFT - Fifth Third Bank - Finrax - First Data Buypass - First Data Nashville - First Data North - First Data Omaha - FinTecSystems - Flexepin - Forte - FundSend - Gigadat - Global East - Gooney - Gpaysafe - Heartland - HiPay - HSBC - iCanPay - ICEPAY - iCheque - Ilixium - Ingenico - INOVAPAY - Intuit - Jeton - JPMOrbital - Khelocard - Klarna - Konnektive - loonie - LPG - Masapay - MaxiCash - MercadoPago - Merrick - Mission Valley Bank - MiFinity - MobilePay - Moneris - Monolo - MuchBetter - MuchBetterGateway - MyFatoorah - NATWEST - Neosurf - Netbanking - Neteller - NinjaWallet - NMI - NordikCoin - NOWPayments - NuaPay - Nuvei - OchaPay - Onlineueberweisen - OnRamp - Orbital - Other - Panamerican - Panda Bank - Paramount - ParamountCommerce - ParamountEft - ParamountInterac - Pay4fun - PayCash - PayClub - PayEcards - PaymentAsia - PaymenTechnologies - PaymentsOS - Paymero - Paynetics - PayPal - Payper - Payr - PayRedeem - PayRetailers - PayTabs - PayU - PayULatam - Payvision - PharosPayments - Piastrix - Pin4Pay - Peoples Trust Company - PostFinance - PPRO - Privatbank - Prosa - PSiGate - QQPay - Rapyd - RBC - RBS WorldPay - RealTime - Rotessa - Safecharge - SaltarPay - SecureTrading - SecurionPay - Skrill - SmartInvoice - SMSVoucher - Sofort - SparkPay - State Bank of Mauritius - STPMexico - Stripe - TBI - Telr - TestProcessor - ToditoCash - Truevo - Trustly - TrustPay - TrustsPay - TSYS - TWINT - UPayCard - Vantiv - VCreditos - VegaWallet - VoicePay - Wallet88 - WeChat Pay - Wells Fargo - Wing Hang Bank - Wirecard - WorldPay - XPay - Zimpler - Zotapay MoneyAmount: type: number format: double example: 10 x-type: Money Money: type: object required: - amount - currency properties: amount: $ref: '#/components/schemas/MoneyAmount' currency: $ref: '#/components/schemas/CurrencyCode' LanguageIsoCode: type: string description: Language in ISO 639-1 code format. pattern: '[a-zA-Z]{2}' example: US PurchaseBumpOffer: type: - object - 'null' description: Purchase bump offer. required: - offerId - offerType - bumpAmount properties: offerId: description: ID of the bump offer. type: string offerType: description: Type of bump offer. type: string example: bonus bumpAmount: description: Amount of the bump offer. $ref: '#/components/schemas/MoneyAmount' bumpAmountInUsd: description: Amount of the bump offer in USD. readOnly: true allOf: - $ref: '#/components/schemas/MoneyAmount' customFields: $ref: '#/components/schemas/ResourceCustomFields' HttpHeaders: type: object description: HTTP headers. additionalProperties: type: string example: Content-Type: application/json Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 x-is-free-form: true RiskMetadata: type: object title: Risk metadata description: Risk metadata used for 3D Secure and risk scoring. properties: ipAddress: description: Customer's IP address. type: - string - 'null' format: ipv4 or ipv6 example: 93.92.91.90 fingerprint: description: >- Customer's device fingerprint. A device fingerprint is a unique token that is used to identify the customer. The device fingerprint is generated based on device attributes, such as: hardware, software, IP address, language, browser, and more. type: - string - 'null' maxLength: 50 example: pIUt3xbgX3l9g3YDiLbx httpHeaders: oneOf: - $ref: '#/components/schemas/HttpHeaders' - type: 'null' browserData: type: - object - 'null' description: Browser data used for 3D Secure and risk scoring. required: - colorDepth - isJavaEnabled - language - screenWidth - screenHeight - timeZoneOffset properties: colorDepth: description: >- Browser color depth in bits per pixel. This value is obtained using the `screen.colorDepth` property. type: integer minimum: 1 maximum: 48 example: 24 isJavaEnabled: description: >- Specifies if Java is enabled in a browser. This value is obtained from the `navigator.javaEnabled` property. type: boolean language: description: >- Browser language settings. This value is obtained from the `navigator.language` property. type: string example: en-US maxLength: 8 screenWidth: description: >- Width of the browser screen. This value is obtained from the `screen.width` property. type: integer minimum: 0 maximum: 65535 example: 1920 screenHeight: description: >- Height of the browser screen. This value is obtained from the `screen.height` property. type: integer minimum: 0 maximum: 65535 example: 1080 timeZoneOffset: description: >- Browser time zone offset in minutes from UTC. A positive offset indicates that the local time is behind UTC. A negative offset indicates that the local time is ahead of UTC. You can find this value using the `(new Date()).getTimezoneOffset()` property. type: integer minimum: -1410 maximum: 1410 example: 300 isAdBlockEnabled: description: >- Specifies if the usage of ad block has been detected in the browser. type: boolean extraData: type: - object - 'null' description: Third-party data used for risk scoring. properties: kountFraudSessionId: description: Alpha-numeric `fraudSessionId` as provided by the Kount SDK. type: string minimum: 10 maximum: 32 example: abcdefg12345abababab123456789012 payPalMerchantSessionId: description: >- PayPal `MerchantSessionID` as generated by the PayPal Fraudnet SDK. type: string minimum: 1 maximum: 64 example: dd65ratxc5qv15iph3vyoq7l6davuowa threatMetrixSessionId: description: >- Temporary identifier that is unique to the visitor's session and passed to ThreatMetrix. pattern: '[a-zA-Z0-9_-]+' type: string minimum: 1 maximum: 128 example: dd65ratxc5qv15iph3vyoq7l6davuowadd65ratxc5qv15iph3vyoq7l6davuowa isProxy: description: Specifies if the customer's IP address is related to a proxy. type: boolean readOnly: true isVpn: description: Specifies if the customer's IP address is related to a VPN. type: boolean readOnly: true isTor: description: Specifies if the customer's IP address is related to TOR. type: boolean readOnly: true isHosting: description: Specifies if the customer's IP address is related to hosting. type: boolean readOnly: true hostingName: description: Name of the data center or hosting provider, if available. type: - string - 'null' readOnly: true isp: description: Internet Service Provider (ISP) name, if available. type: - string - 'null' readOnly: true country: description: Country ISO Alpha-2 code of the specified IP address. maxLength: 2 type: - string - 'null' readOnly: true example: US region: description: Region of the specified IP address. type: - string - 'null' readOnly: true example: NY city: description: City of the specified IP address. type: - string - 'null' readOnly: true example: New York latitude: description: Latitude of the specified IP address. type: number format: double readOnly: true longitude: description: Longitude of the specified IP address. type: - number - 'null' format: double readOnly: true postalCode: description: Postal code of the specified IP address. type: - string - 'null' maxLength: 10 readOnly: true timeZone: description: Time zone of the specified IP address. type: - string - 'null' readOnly: true example: America/New_York accuracyRadius: description: Accuracy radius of the specified IP address, in kilometers. type: - integer - 'null' readOnly: true distance: description: >- Distance between the customer's IP address and the billing address geolocation, in kilometers. type: - integer - 'null' readOnly: true hasMismatchedBillingAddressCountry: description: >- Specifies if the customer's billing address country and geo-IP address are not the same. type: boolean readOnly: true hasMismatchedBankCountry: description: >- Specifies if the customer's bank country and geo-IP address are not the same. type: boolean readOnly: true hasMismatchedTimeZone: description: >- Specifies if the customer's browser time zone and the IP address associated time zone are not the same. type: boolean readOnly: true hasMismatchedHolderName: description: >- Specifies if the customer's billing address name and primary address name are not the same. type: boolean readOnly: true hasFakeName: description: Specifies if the holder name seems fake. type: boolean readOnly: true isHighRiskCountry: description: >- Specifies if the geo-IP country, or the customer's billing country, is considered a high risk country. type: boolean readOnly: true paymentInstrumentVelocity: description: >- Number of transactions for this payment instrument, based on fingerprint, in the last 24 hours. type: integer readOnly: true declinedPaymentInstrumentVelocity: description: >- Number of declined transactions for this payment instrument fingerprint in the last 24 hours. type: integer readOnly: true deviceVelocity: description: >- Number of transactions for this device, based on fingerprint, in the last 24 hours. type: integer readOnly: true ipVelocity: description: Number of transactions for this IP address in the last 24 hours. type: integer readOnly: true emailVelocity: description: Number of transactions for this email address in the last 24 hours. type: integer readOnly: true billingAddressVelocity: description: >- Number of transactions for this billing address in the last 24 hours. type: integer readOnly: true paymentInstrumentApprovedTransactionCount: description: Number of approved transactions for this payment instrument. type: integer readOnly: true score: description: |- Computed risk score based on IP risk data, such as: `isVpn`, `isTor`, and `isProxy`. type: integer readOnly: true TransactionLimitAmount: type: - object - 'null' title: LimitAmount description: Transaction amount limit information. properties: amount: type: number format: double example: 275.35 description: Limit amount. currency: $ref: '#/components/schemas/CurrencyCode' resetTime: type: - string - 'null' format: date-time description: |- Date and time in which the limit amount resets. This value may be used for user interfaces. Transaction: type: object description: Transaction information. properties: id: readOnly: true $ref: '#/components/schemas/TransactionId' websiteId: readOnly: true allOf: - $ref: '#/components/schemas/WebsiteId' customerId: x-basic: true x-sortable: true allOf: - $ref: '#/components/schemas/CustomerId' type: description: Type of transaction. type: string x-basic: true readOnly: true enum: - 3ds-authentication - authorize - capture - credit - refund - sale - setup - void status: description: Status of the transaction. type: string readOnly: true enum: - completed - conn-error - disputed - never-sent - offsite - partially-refunded - pending - refunded - sending - timeout - voided - waiting-approval - waiting-capture - waiting-gateway - waiting-refund result: description: Result of the transaction. type: string x-basic: true readOnly: true enum: - abandoned - approved - canceled - declined - unknown amount: x-type: Money x-sortable: true x-basic: true description: Total amount of the transaction. type: number format: double readOnly: true currency: readOnly: true $ref: '#/components/schemas/CurrencyCode' purchaseAmount: description: >- Amount by which the purchase is completed. If an adjustment occurs, the purchased amount may differ from the requested amount. type: number format: double x-type: Money x-currency-field: purchaseCurrency x-sortable: true readOnly: true purchaseCurrency: readOnly: true $ref: '#/components/schemas/CurrencyCode' requestAmount: description: |- Amount of the payment request. If an adjustment occurs, the purchase amount may differ from the billing amount. type: number x-type: Money x-currency-field: requestCurrency format: double readOnly: true requestCurrency: readOnly: true $ref: '#/components/schemas/CurrencyCode' parentTransactionId: description: ID of the parent transaction. type: - string - 'null' $ref: '#/components/schemas/TransactionId' childTransactions: description: IDs of child transactions. readOnly: true type: array items: $ref: '#/components/schemas/ResourceId' invoiceIds: description: Related invoice IDs. readOnly: true type: array items: $ref: '#/components/schemas/ResourceId' subscriptionIds: description: Subscription IDs of invoices that are related to the transaction. readOnly: true type: array items: $ref: '#/components/schemas/ResourceId' planIds: description: Plan IDs of orders that are related to the transaction. readOnly: true type: array items: $ref: '#/components/schemas/ResourceId' isRebill: description: >- Specifies if the transaction is one of a number of recurring payments in a subscription, excluding trials or setup fees. type: boolean readOnly: true rebillNumber: description: >- Rebill number of the transaction. A rebill number is the number of recurring payments in a subscription, excluding trials or setup fees. type: integer readOnly: true x-sortable: true billingAddress: description: Billing address. $ref: '#/components/schemas/ContactObject' has3ds: description: Specifies if the transaction uses 3D Secure. type: boolean readOnly: true 3ds: type: object description: >- Authentication object. For more information, see [3D Secure (3DS)](https://www.rebilly.com/docs/docs/settings/3ds/). readOnly: true properties: server: description: Name of the 3D Secure server. type: string version: description: Version of 3D Secure. type: string enum: - 1.0.2 - 2.1.0 - 2.2.0 enrolled: description: Specifies if the cardholder is enrolled in 3D Secure. type: string enum: - 'yes' - 'no' - invalid card/timeout - unavailable authenticated: description: Authentication response status for 3D Secure. type: string enum: - 'yes' - 'no' - not applicable - attempted liability: type: string enum: - protected - not protected - protected (attempt) flow: description: Authentication flow for 3D Secure 2. type: string enum: - frictionless - challenge isDowngraded: description: >- Specifies if 3D Secure 2 is attempted and downgraded to 3D Secure 1. type: boolean default: false deprecated: true redirectUrl: description: >- URL where the end-user is redirected to when an offsite transaction is completed. The default value is the website URL. type: - string - 'null' format: uri retryNumber: type: integer readOnly: true description: Position of the transaction in the sequence of retries. x-sortable: true isRetry: type: boolean readOnly: true description: Specifies if a transaction is a retry. billingDescriptor: type: - string - 'null' readOnly: true description: >- Billing descriptor that appears on the periodic billing statement. For a credit card statement, this field commonly contains 12 or fewer characters. description: type: string description: Description of the payment. maxLength: 255 requestId: description: >- Request ID of the transaction. This ID must be unique within a 24 hour period. Use this field to prevent duplicated transactions. type: string x-sortable: true hasAmountAdjustment: description: Specifies if the transaction has amount adjustment. type: boolean readOnly: true gatewayName: readOnly: true description: >- Name of the payment gateway that processed, or is selected to process, the transaction. This value is only available after a gateway is selected for the transaction. x-label: Gateway x-basic: true allOf: - $ref: '#/components/schemas/GatewayName' customFields: $ref: '#/components/schemas/ResourceCustomFields' processedTime: description: Date and time when the transaction is processed. x-sortable: true x-basic: true $ref: '#/components/schemas/ServerTimestamp' createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' gatewayAccountId: type: - string - 'null' description: ID of the gateway account that processed the transaction. maxLength: 50 example: gw_acc_0YVCXMF26DDNKAERE5NW727S34 readOnly: true gatewayTransactionId: description: ID of the gateway transaction. readOnly: true type: - string - 'null' maxLength: 50 example: txn_0YVDTQJ8YWDGQACV2N2N5SPWQ0 gateway: type: object description: Related gateway information. readOnly: true properties: response: description: Gateway response. type: object properties: code: description: Gateway response code. type: - string - 'null' message: description: Gateway response message. type: - string - 'null' type: description: Gateway response type. type: - string - 'null' originalCode: description: Raw, unmapped gateway response code. type: - string - 'null' originalMessage: description: Raw, unmapped gateway response message. type: - string - 'null' avsResponse: description: Gateway Address Verification System (AVS) response. type: object properties: code: description: Response code. type: - string - 'null' message: description: Response message. type: - string - 'null' originalCode: description: Raw response code. type: - string - 'null' originalMessage: description: Raw response message. type: - string - 'null' cvvResponse: description: Gateway Card Verification Value (CVV) response. type: object properties: code: description: Response code. type: - string - 'null' message: description: Response message. type: - string - 'null' originalCode: description: Raw response code. type: - string - 'null' originalMessage: description: Raw response message. type: - string - 'null' acquirerName: readOnly: true description: >- Acquirer name. This value is only available when a transaction uses a payment gateway. If a transaction does not use a payment gateway, this value is `null`. allOf: - $ref: '#/components/schemas/AcquirerName' method: deprecated: true description: |- Payment method. >**Note:** Use `paymentInstrument.method` instead. allOf: - $ref: '#/components/schemas/PaymentMethod' velocity: description: Number of transactions by the same customer in the past 24 hours. type: integer revision: description: >- Number of times the transaction data has been modified. This revision number is useful when analyzing webhook data to determine if the change takes precedence over the current representation. type: integer readOnly: true referenceData: description: Transaction reference data. type: - object - 'null' additionalProperties: type: string example: gatewayTransactionId: GAT123 readOnly: true bin: description: Payment card Bank Identification Number (BIN). x-label: BIN type: - string - 'null' format: bin readOnly: true paymentInstrument: type: object anyOf: - $ref: '#/components/schemas/VaultedInstrument' - $ref: '#/components/schemas/AlternativePaymentInstrument' - $ref: '#/components/schemas/CashInstrument' - $ref: '#/components/schemas/CheckInstrument' hasDcc: description: >- Specifies if Dynamic Currency Conversion (DCC) applies to the transaction. type: boolean readOnly: true dcc: description: |- Detailed Dynamic currency conversion (DCC). If DCC is not applied to the transaction, this value is `null`. type: - object - 'null' readOnly: true properties: base: description: Initial amount and currency to convert from. $ref: '#/components/schemas/Money' quote: description: Suggested amount and currency to convert to. $ref: '#/components/schemas/Money' usdMarkup: description: Markup amount converted to USD. $ref: '#/components/schemas/MoneyAmount' outcome: type: string description: Dynamic currency conversion outcome. enum: - rejected - selected - unknown hasBumpOffer: description: >- Specifies if the transaction has a bump offer. A bump offer is a discount, purchase bonus, deal, that is offered to the customer during checkout. type: boolean readOnly: true bumpOffer: description: >- Bump offer information. If the transaction does not have an associated bump offer, this value is `null`. type: - object - 'null' readOnly: true properties: order: description: Initial amount and currency. $ref: '#/components/schemas/Money' version: type: string description: |- Name of the version selected. This field is useful to measure split tests. language: description: |- Language in which the bump offer displays to the user. This field in useful to find translation issues. $ref: '#/components/schemas/LanguageIsoCode' outcome: type: string readOnly: true description: Status of the bump offer. enum: - presented - rejected - selected - unknown presentedOffers: type: array readOnly: true description: Offers presented to a customer. minItems: 1 items: $ref: '#/components/schemas/PurchaseBumpOffer' selectedOffer: readOnly: true description: |- Offer selected by a customer. If a bump offer outcome is not `selected`, this value is `null`. allOf: - $ref: '#/components/schemas/PurchaseBumpOffer' riskScore: description: Risk score for the transaction. type: integer readOnly: true riskMetadata: oneOf: - $ref: '#/components/schemas/RiskMetadata' - type: 'null' notificationUrl: description: >- URL where a server-to-server POST notification is sent. This notification is sent when the transaction result is finalized after a timeout or an offsite interaction. Do not interpret this notification as a confirmation, complete a `GET` request to confirm the result of the transaction. To ensure the request is not reattempted, when the result is confirmed, respond with a `2xx` HTTP status code. The following placeholders are available to use in this URI: `{id}` and `{result}`. These placeholders are replaced the with the transaction ID and result accordingly. type: - string - 'null' format: uri isDisputed: description: Specifies if a transaction is disputed. type: boolean readOnly: true disputeTime: description: |- Date and time when the dispute is created. If the transaction is not disputed, this value is `null`. type: - string - 'null' format: date-time readOnly: true x-sortable: true disputeStatus: description: Status of the dispute. type: - string - 'null' readOnly: true enum: - null - response-needed - under-review - forfeited - won - lost - unknown isReconciled: description: Specifies if the transaction is verified with gateway batch data. type: boolean readOnly: true isProcessedOutside: description: Specifies if the transaction is processed outside of Rebilly. type: boolean isMerchantInitiated: description: Specifies if the transaction is initiated by the merchant. type: boolean hadDiscrepancy: description: >- Specifies if the transaction is updated due to a discrepancy with its source of truth. type: boolean readOnly: true orderId: deprecated: true description: |- Order ID of the transaction. This ID must be unique within a 24 hour period. > **Note:** Use the `requestId` field instead. type: string x-sortable: true arn: x-label: ARN type: - string - 'null' readOnly: true description: Acquirer reference number. example: '74836950144358910018150' reportAmount: description: >- Transaction amount converted to the report currency of the organization. type: number x-type: Money x-sortable: true x-currency-field: reportCurrency format: double readOnly: true reportCurrency: readOnly: true $ref: '#/components/schemas/CurrencyCode' settlementTime: type: - string - 'null' description: >- Date and time when the transaction is settled by the banking institution. format: date-time readOnly: true x-sortable: true discrepancyTime: type: - string - 'null' description: Date and time of the most recent discrepancy on the transaction. format: date-time readOnly: true x-sortable: true limits: $ref: '#/components/schemas/TransactionLimitAmount' organizationId: readOnly: true allOf: - $ref: '#/components/schemas/OrganizationId' depositRequestId: readOnly: true type: - string - 'null' description: >- ID of the deposit request if applicable. The created transaction is based on the properties of this deposit request. maxLength: 50 example: dep_req_0YVJ65BSGYC3EAT58SEX8KY6J7 payoutRequestId: readOnly: true type: - string - 'null' description: >- ID of the payout request if applicable. The created transaction is based on the properties of this payout request. maxLength: 50 example: pout_req_0YVDMDE2BMC6KBB5MX76RF6T80 _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - attachments - website - customer - gatewayAccount - paymentCard - parentTransaction - leadSource - approvalUrl - refundUrl - updateUrl - disputes - invoices - queryUrl - redirectUrl _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: parentTransaction: type: object childTransactions: type: array maxItems: 10 description: Most recent child transactions. gatewayAccount: type: object customer: type: object leadSource: type: object website: type: object invoices: type: array maxItems: 10 description: Most recent related invoices. organization: type: object dispute: type: object paymentCard: type: object bankAccount: type: object TimeUnit: type: string enum: - second - minute - hour - day - month - year TimePluralUnit: type: string enum: - seconds - minutes - hours - days - months - years TimeIso8601Extended: description: Extended ISO-8601 format of time. type: string format: time pattern: >- ^(([01][0-9]|2[0-3]):([0-5][0-9])(?::([0-5][0-9]))?)((?:[+-](?:0[0-9]|1[12])(?::?[0-5][0-9])?)|Z)?$ SchedulingMethodDayOfMonth: type: object properties: method: type: string enum: - day-of-month day: type: integer minimum: 1 maximum: 31 description: |- Day of the month in which the event occurs. If the month has less days, the last day of the month is selected. time: $ref: '#/components/schemas/TimeIso8601Extended' required: - day - method SchedulingMethodDayOfWeek: type: object properties: method: type: string enum: - day-of-week day: description: Day of the week when the event occurs. type: string enum: - Sunday - Monday - Tuesday - Wednesday - Thursday - Friday - Saturday week: type: string enum: - next - first-in-month - last-in-month time: $ref: '#/components/schemas/TimeIso8601Extended' required: - day - week - method PeriodAnchor: type: object description: Instruction for calculating the period anchor. discriminator: propertyName: method mapping: day-of-month: '#/components/schemas/SchedulingMethodDayOfMonth' day-of-week: '#/components/schemas/SchedulingMethodDayOfWeek' anyOf: - $ref: '#/components/schemas/SchedulingMethodDayOfMonth' - $ref: '#/components/schemas/SchedulingMethodDayOfWeek' SchedulingMethodDateInterval: type: object properties: method: type: string enum: - date-interval duration: type: integer description: Number of time units. minimum: 1 unit: description: Unit of time. oneOf: - $ref: '#/components/schemas/TimeUnit' - $ref: '#/components/schemas/TimePluralUnit' anchor: $ref: '#/components/schemas/PeriodAnchor' required: - duration - unit - method SchedulingMethodImmediately: type: object required: - method properties: method: type: string enum: - immediately SchedulingMethodIntelligent: type: object properties: method: type: string enum: - intelligent duration: type: integer description: >- Latest point in time at which the event should occur. The event occurs at a random time between the initial time and duration time. minimum: 1 unit: description: Unit of time. oneOf: - $ref: '#/components/schemas/TimeUnit' - $ref: '#/components/schemas/TimePluralUnit' required: - duration - unit - method InvoiceRetryScheduleInstruction: type: object description: Specifies when the payment retry instruction is performed. discriminator: propertyName: method mapping: date-interval: '#/components/schemas/SchedulingMethodDateInterval' day-of-month: '#/components/schemas/SchedulingMethodDayOfMonth' day-of-week: '#/components/schemas/SchedulingMethodDayOfWeek' immediately: '#/components/schemas/SchedulingMethodImmediately' intelligent: '#/components/schemas/SchedulingMethodIntelligent' anyOf: - $ref: '#/components/schemas/SchedulingMethodDateInterval' - $ref: '#/components/schemas/SchedulingMethodDayOfMonth' - $ref: '#/components/schemas/SchedulingMethodDayOfWeek' - $ref: '#/components/schemas/SchedulingMethodImmediately' - $ref: '#/components/schemas/SchedulingMethodIntelligent' AmountAdjustmentPoliciesNone: title: None type: object properties: method: type: string enum: - none description: No payment amount adjustment. AmountAdjustmentPoliciesDiscountAmountRemaining: title: Discount remaining amount type: object properties: method: type: string enum: - discount-amount-remaining description: Discount the remaining amount on the invoice. AmountAdjustmentInstructionPartial: type: object required: - method - value - type properties: method: type: string enum: - partial value: description: Amount of the payment. type: number format: float type: description: Payment amount type. type: string enum: - percent - fixed afterApprovalPolicy: description: >- After an approved payment retry for an adjusted amount, this field specifies whether to discount the remaining invoice amount. discriminator: propertyName: method mapping: none: '#/components/schemas/AmountAdjustmentPoliciesNone' discount-amount-remaining: >- #/components/schemas/AmountAdjustmentPoliciesDiscountAmountRemaining oneOf: - $ref: '#/components/schemas/AmountAdjustmentPoliciesNone' - $ref: >- #/components/schemas/AmountAdjustmentPoliciesDiscountAmountRemaining AmountAdjustmentInstructionNone: type: object required: - method properties: method: type: string enum: - none InvoiceRetryAmountAdjustmentInstruction: type: object description: Specifies if the payment amount must be adjusted for the retry. discriminator: propertyName: method mapping: partial: '#/components/schemas/AmountAdjustmentInstructionPartial' none: '#/components/schemas/AmountAdjustmentInstructionNone' oneOf: - $ref: '#/components/schemas/AmountAdjustmentInstructionPartial' - $ref: '#/components/schemas/AmountAdjustmentInstructionNone' Invoice: required: - customerId - currency - websiteId properties: id: type: string description: ID of the invoice. readOnly: true maxLength: 50 example: in_0YVF9605RKC62BP14NE2R7V2XT websiteId: $ref: '#/components/schemas/WebsiteId' invoiceNumber: description: >- Auto-incrementing number based on the sequence of invoices for any particular customer. readOnly: true type: integer x-basic: true orderId: description: ID of the order (experimental). readOnly: true example: ord_01HVKA5975PJBSQ1SX72G3MSZC type: - string - 'null' subscriptionId: type: string description: |- ID of the related subscription order, if available. This field is `null` if there are no related subscription orders. readOnly: true maxLength: 50 example: sub_01HRF27SATGE4Z6PBJE6PD8328 quoteId: type: - string - 'null' description: |- ID of the related quote, if available. This field is `null` if there are no related quotes. readOnly: true maxLength: 50 example: qt_01HXBZMEGPETPHJZH6V4RHBMA8 currency: x-sortable: true x-basic: true $ref: '#/components/schemas/CurrencyCode' amount: description: Amount of the invoice. type: number x-type: Money x-sortable: true x-basic: true format: double readOnly: true amountDue: description: Amount that is due on the invoice. type: number x-type: Money x-sortable: true format: double readOnly: true subtotalAmount: description: Subtotal amount of the invoice. type: number x-type: Money format: double readOnly: true discountAmount: description: Discount amount that is applied to the invoice. type: number x-type: Money format: double readOnly: true shipping: $ref: '#/components/schemas/Shipping' tax: $ref: '#/components/schemas/Taxes' organizationTaxIdNumber: description: Organization tax ID number that is displayed on the invoice. type: - object - 'null' required: - type - value properties: type: type: string description: Type of the tax ID number. enum: - eu-vat - other example: eu-vat value: type: string description: Value of the tax ID number. example: GB980780684 customerTaxIdNumber: description: Customer tax ID number that is displayed on the invoice. type: - object - 'null' required: - type - value properties: type: type: string description: Type of the tax ID number. enum: - eu-vat - other example: eu-vat value: type: string description: Value of the tax ID number. example: GB980780684 billingAddress: description: Billing address of the invoice. $ref: '#/components/schemas/ContactObject' deliveryAddress: description: Delivery address of the invoice. $ref: '#/components/schemas/ContactObject' poNumber: description: Purchase order number that is displayed on the invoice. type: - string - 'null' example: PO123456 maxLength: 50 notes: description: Notes for the customer that are displayed on the invoice. type: string maxLength: 65535 items: type: array description: Invoice items array. readOnly: true items: $ref: '#/components/schemas/InvoiceItem' discounts: type: array description: Discounts applied. readOnly: true items: type: object readOnly: true properties: couponId: type: string description: ID of the coupon. maxLength: 50 example: cpn_0YVCNKF81GD778N4YNVGDJK558 redemptionId: description: ID of the redemption. $ref: '#/components/schemas/ResourceId' amount: description: Total amount discounted by this coupon. type: number format: double description: type: string description: Description of the discount. context: $ref: '#/components/schemas/DiscountContext' autopayScheduledTime: description: Date and time when an automatic payment (autopay) is scheduled. type: - string - 'null' x-sortable: true format: date-time autopayRetryNumber: description: >- Number of times that an automatic payment (autopay) has been attempted on an invoice. readOnly: true type: integer x-sortable: true minimum: 0 default: 0 status: type: string description: Status of the invoice. x-basic: true readOnly: true enum: - draft - quotation - unpaid - paid - partially-paid - past-due - abandoned - voided - partially-refunded - refunded - disputed delinquentCollectionPeriod: type: integer description: >- Length of time, in days, between when the invoice is due and when the invoice is paid. x-sortable: true readOnly: true collectionPeriod: type: integer x-sortable: true description: >- Length of time, in days, between when the invoice is issued and when the invoice is paid. readOnly: true abandonedTime: description: Date and time when the invoice is abandoned. x-sortable: true type: - string - 'null' format: date-time readOnly: true voidedTime: description: Date and time when the invoice is voided. x-sortable: true type: - string - 'null' format: date-time readOnly: true paidTime: x-label: Payment Date x-sortable: true x-basic: true description: Date and time when the invoice is paid. type: - string - 'null' format: date-time readOnly: true dueTime: description: Date and time when the invoice is due for payment. type: string x-sortable: true format: date-time issuedTime: description: Date and time when the invoice is issued. x-label: Date Issued x-sortable: true x-basic: true $ref: '#/components/schemas/ServerTimestamp' createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' paymentFormUrl: type: - string - 'null' readOnly: true format: url description: |- URL where the customer is redirected to pay the invoice using one of the methods which are available to the customer. This is an alternative to creating a new transaction with empty `methods`. customerId: x-basic: true allOf: - $ref: '#/components/schemas/CustomerId' transactions: type: array description: Invoice transactions array. maxItems: 10 readOnly: true items: $ref: '#/components/schemas/Transaction' retryInstruction: description: >- Invoice payment retry instruction. This object specifies how to proceed if a payment related to the invoice fails. type: - object - 'null' properties: attempts: type: array description: Describes the retry instruction. minItems: 1 items: type: object properties: scheduleInstruction: $ref: '#/components/schemas/InvoiceRetryScheduleInstruction' amountAdjustmentInstruction: $ref: >- #/components/schemas/InvoiceRetryAmountAdjustmentInstruction tryBackupInstruments: description: >- Specifies whether to use backup payment instruments on an invoice payment retry. type: boolean default: false required: - scheduleInstruction afterAttemptPolicies: description: >- Describes the action to take when a payment attempt concludes, and payment is not collected. type: array items: type: string enum: - change-subscription-renewal-time afterRetryEndPolicies: description: >- Describes the action to take when all scheduled payment retries, in a retry instruction, have concluded and payment is not collected. type: array items: type: string enum: - abandon-invoice - cancel-subscription required: - attempts - afterAttemptPolicies - afterRetryEndPolicies revision: description: |- Number of times the invoice data has been modified. Use the revision number when analyzing webhook data to determine if a change should take precedence over the current representation. type: integer readOnly: true type: description: Type of invoice. type: string enum: - initial - renewal - interim - cancellation - one-time - refund - charge - one-time-sale readOnly: true dueReminderTime: description: Date and time when a past due reminder event is triggered. type: - string - 'null' format: date-time readOnly: true dueReminderNumber: description: Number of past due reminder events that have been triggered. type: - integer - 'null' readOnly: true organizationId: readOnly: true allOf: - $ref: '#/components/schemas/OrganizationId' delinquencyTime: description: >- Date and time when the related order is considered delinquent, and is canceled. If this value is `null`, no delinquency time is configured. If the `dueTime` of the order becomes greater than the `delinquencyTime` value, the `delinquencyTime` value becomes equal to `dueTime`. If an invoice is not related to an order, this field can only be `null`. type: - string - 'null' format: date-time default: null _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - website - customer - organization - attachments - leadSource - transactionAllocations - recalculateInvoice - subscription _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: customer: type: object website: type: object organization: type: object leadSource: type: object shippingRate: type: object InvoiceIssue: type: object properties: issuedTime: description: >- Date and time when the invoice is issued. If this field is `null` or omitted, the invoice is issued immediately. type: - string - 'null' format: date-time dueTime: description: >- Date and time when the invoice is due for payment. If this field is `null` or omitted, this value is set to the `issuedTime` value. type: - string - 'null' format: date-time InvoiceReissue: type: object properties: dueTime: description: >- Date and time when the invoice is due for payment. If this field is `null` or omitted, this value is set to the current date-time. type: - string - 'null' format: date-time InvoiceTransactionAllocation: type: object properties: invoiceId: type: string description: Unique resource ID. maxLength: 50 example: in_0YVF9605RKC62BP14NE2R7V2XT transactionId: $ref: '#/components/schemas/TransactionId' amount: type: number format: double currency: $ref: '#/components/schemas/CurrencyCode' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - invoice - transaction InvoiceTransaction: type: object required: - transactionId properties: transactionId: description: ID of the transaction to apply to the invoice. $ref: '#/components/schemas/TransactionId' amount: description: >- Amount to be applied to the invoice. This value must not exceed the transaction amount. If omitted, the lesser of the unused transaction amount or the invoice due amount is used. type: number format: double InvoiceTimeline: type: object properties: id: type: string description: ID of the timeline message. readOnly: true maxLength: 50 example: tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC type: description: Type of timeline message. type: string readOnly: true enum: - coupon-applied - email-message-sent - invoice-abandoned - invoice-disputed - invoice-issued - invoice-paid - invoice-partially-paid - invoice-partially-refunded - invoice-past-due - invoice-refunded - invoice-reissued - invoice-renewal-payment-declined - invoice-revenue-recognized - invoice-tax-calculation-failed - invoice-voided - quickbooks-credit-memo-created - quickbooks-credit-memo-voided - quickbooks-invoice-created - quickbooks-invoice-task-failed - quickbooks-invoice-updated - quickbooks-invoice-voided - quickbooks-revenue-recognition-created - timeline-comment-created - transaction-abandoned - transaction-approved - transaction-canceled - transaction-declined - transaction-initiated - transaction-refunded - transaction-voided triggeredBy: description: Specifies who, or what, triggered the timeline event. type: string readOnly: true enum: - rebilly - app - direct-api message: description: Describes the message details. type: string extraData: $ref: '#/components/schemas/TimelineExtraData' occurredTime: description: Date and time when the timeline message occurred. readOnly: true $ref: '#/components/schemas/ServerTimestamp' _links: $ref: '#/components/schemas/SelfLink' CreditMemoTaxItem: type: object required: - amount - description properties: amount: description: Amount of the tax. type: number format: double description: type: string description: Description of the tax. rate: description: >- Overall sales tax rate which includes state, county, city and district tax. type: - number - 'null' format: double stateAmount: description: Amount of sales tax to collect for the state. type: - number - 'null' format: double example: 0.94 countyAmount: description: Amount of sales tax to collect for the county. type: - number - 'null' format: double example: 0.04 cityAmount: description: Amount of sales tax to collect for the city. type: - number - 'null' format: double example: 0 specialDistrictAmount: description: Amount of sales tax to collect for the special district. type: - number - 'null' format: double example: 0.38 stateRate: description: State sales tax rate for given location. type: - number - 'null' format: double countyRate: description: County sales tax rate for given location. type: - number - 'null' format: double cityRate: description: City sales tax rate for given location. type: - number - 'null' format: double specialDistrictRate: description: Special district sales tax rate for given location. type: - number - 'null' format: double jurisdictions: description: Jurisdiction names for the invoice. type: - object - 'null' properties: country: description: Two-letter ISO country code for the provided location. type: - string - 'null' example: US state: description: Postal abbreviated state name for the provided location. type: - string - 'null' example: CA county: description: County name for the provided location. type: - string - 'null' example: LOS ANGELES city: description: City name for the provided location. type: - string - 'null' example: LOS ANGELES CreditMemo: type: object description: Credit memo object. required: - customerId - currency properties: id: type: string description: ID of the credit memo. readOnly: true maxLength: 50 example: crmm_0YVCNN22TWC3G8H82QNPNVZCHG number: description: >- Auto-incrementing number based on the sequence of credit memos for any particular customer. readOnly: true type: integer allocations: type: object description: Allocations reduce the unused amount of a credit memo. properties: transactions: type: array description: >- List of transactions (typically refunds, credits, and chargebacks) that are allocated to reduce the unused amount of a credit memo. - To delete transaction allocations, send an empty transaction allocation array in the request. - To modify transaction allocations, send a modified transaction allocation array in the request. - If you do not want to modify or delete transaction allocations, do not send a transaction allocation array in the request. items: type: object properties: transactionId: description: >- ID of the transaction to which the credit memo is allocated. $ref: '#/components/schemas/TransactionId' amount: description: >- Amount of credit that is allocated from the credit memo to the transaction. If the `amount` value is not supplied or exceeds the unused amount of the credit memo or the transaction amount, the lesser of the following two values is used: - The unused amount of the credit memo. - The transaction amount. type: number format: double currency: readOnly: true $ref: '#/components/schemas/CurrencyCode' createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' invoices: type: array description: >- List of invoices that the credit memo is allocated to. - To delete invoice allocations, send an empty invoice allocation array in the request. Only `unpaid`, `partially-paid`, and `past-due` invoices can be deleted. - To modify invoice allocations, send a modified invoice allocation array in the request. Only `unpaid`, `partially-paid`, and `past-due` invoices can be modified. - If you do not want to modify or delete invoice allocations, do not send an invoice allocation array in the request. items: type: object properties: invoiceId: type: string description: ID of invoice to which the credit memo is allocated. maxLength: 50 example: in_0YVF9605RKC62BP14NE2R7V2XT amount: description: >- Amount of credit that is allocated from the credit memo to the invoice. If the `amount` value is not supplied or exceeds the unused amount of the credit memo or the invoice due amount, the lesser of the following two values is used: - The unused amount of the credit memo. - The invoice due amount. type: number format: double currency: readOnly: true $ref: '#/components/schemas/CurrencyCode' createdTime: description: Date and time at which a credit memo is allocated. $ref: '#/components/schemas/ServerTimestamp' updatedTime: $ref: '#/components/schemas/UpdatedTime' items: type: array description: Items of the credit memo. items: type: object required: - unitPrice - quantity properties: id: type: string description: ID of the credit memo item. readOnly: true maxLength: 50 example: crmm_itm_01HXC7PK2C6F367VYCFXDRYMAQ invoiceItemId: description: ID of the invoice item to which the credit item is referenced. type: - string - 'null' maxLength: 50 example: ii_0YVFDEQS2KCFTBN9HXWJFY55GV description: description: Description of the credit memo item. type: string unitPrice: description: Price of the credit memo item. type: number format: double quantity: description: Quantity of the credit memo item. type: integer price: description: Total price of the credit memo item. type: number format: double readOnly: true productId: type: - string - 'null' description: ID of the related product. maxLength: 50 example: prod_0YV7DES3WPC5J8JD8QTVNZBZNZ planId: description: ID of the related plan. type: - string - 'null' maxLength: 50 example: plan_0YV7DENSVGDBW9S71XZNNYYQ0X tax: description: Credit memo item tax. oneOf: - $ref: '#/components/schemas/CreditMemoTaxItem' - type: 'null' status: type: string description: Status of the credit memo. readOnly: true enum: - issued - applied - partially-applied - voided x-enumDescriptions: issued: The credit memo is available with a full amount to be applied. applied: >- The full amount of the credit memo has been applied. No more credit can be created from it. partially-applied: |- A partial amount of the credit memo has been applied. A credit can be created from the remaining amount. voided: Credit memo has been voided and cannot be used anymore. reason: description: Reason for the credit memo. type: string enum: - return - product-unsatisfactory - order-change - order-cancellation - chargeback - write-off - waiver - customer-credit - other description: type: string x-basic: true description: >- Public description, that is visible to customers, which describes the purpose of the credit memo. shippingAmount: description: Shipping amount of an invoice to credit. type: number format: double default: 0 x-type: Money taxAmount: description: Sum of items tax amount of an invoice to credit. readOnly: true type: number format: double default: 0 x-type: Money totalAmount: description: >- Total amount of all credits in the credit memo, including items, shipping, and tax. readOnly: true type: number format: double default: 0 x-type: Money unusedAmount: description: Unused credit memo amount that has not been allocated. readOnly: true type: number format: double default: 0 x-type: Money revision: type: integer readOnly: true description: Number of times the credit memo has been modified. customerId: readOnly: true $ref: '#/components/schemas/CustomerId' currency: readOnly: true $ref: '#/components/schemas/CurrencyCode' invoiceId: type: - string - 'null' description: ID of the invoice to which the credit memo is issued. maxLength: 50 example: in_0YVF9605RKC62BP14NE2R7V2XT createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - customer - invoice PatchCreditMemo: type: object description: Patch credit memo object. properties: allocations: type: object description: Allocations reduce the unused amount of a credit memo. properties: transactions: type: array description: >- List of transactions (typically refunds, credits, and chargebacks) that are allocated to reduce the unused amount of a credit memo. - To delete transaction allocations, send an empty transaction allocation array in the request. - To modify transaction allocations, send a modified transaction allocation array in the request. - If you do not want to modify or delete transaction allocations, do not send a transaction allocation array in the request. items: type: object properties: transactionId: description: >- ID of the transaction to which the credit memo is allocated. $ref: '#/components/schemas/TransactionId' amount: description: >- Amount of credit that is allocated from the credit memo to the transaction. If the `amount` value is not supplied or exceeds the unused amount of the credit memo or the transaction amount, the lesser of the following two values is used: - The unused amount of the credit memo. - The transaction amount. type: number format: double currency: readOnly: true $ref: '#/components/schemas/CurrencyCode' createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' invoices: type: array description: >- List of invoices that the credit memo is allocated to. - To delete invoice allocations, send an empty invoice allocation array in the request. Only `unpaid`, `partially-paid`, and `past-due` invoices can be deleted. - To modify invoice allocations, send a modified invoice allocation array in the request. Only `unpaid`, `partially-paid`, and `past-due` invoices can be modified. - If you do not want to modify or delete invoice allocations, do not send an invoice allocation array in the request. items: type: object properties: invoiceId: type: string description: ID of invoice to which the credit memo is allocated. maxLength: 50 example: in_0YVF9605RKC62BP14NE2R7V2XT amount: description: >- Amount of credit that is allocated from the credit memo to the invoice. If the `amount` value is not supplied or exceeds the unused amount of the credit memo or the invoice due amount, the lesser of the following two values is used: - The unused amount of the credit memo. - The invoice due amount. type: number format: double currency: readOnly: true $ref: '#/components/schemas/CurrencyCode' createdTime: description: Date and time at which a credit memo is allocated. $ref: '#/components/schemas/ServerTimestamp' updatedTime: $ref: '#/components/schemas/UpdatedTime' items: type: array description: Items of the credit memo. items: type: object required: - unitPrice - quantity properties: id: type: string description: ID of the credit memo item. readOnly: true maxLength: 50 example: crmm_itm_01HXC7PK2C6F367VYCFXDRYMAQ invoiceItemId: description: ID of the invoice item to which the credit item is referenced. type: - string - 'null' maxLength: 50 example: ii_0YVFDEQS2KCFTBN9HXWJFY55GV description: description: Description of the credit memo item. type: string unitPrice: description: Price of the credit memo item. type: number format: double quantity: description: Quantity of the credit memo item. type: integer price: description: Total price of the credit memo item. type: number format: double readOnly: true productId: type: - string - 'null' description: ID of the related product. maxLength: 50 example: prod_0YV7DES3WPC5J8JD8QTVNZBZNZ planId: description: ID of the related plan. type: - string - 'null' maxLength: 50 example: plan_0YV7DENSVGDBW9S71XZNNYYQ0X tax: description: Credit memo item tax. oneOf: - $ref: '#/components/schemas/CreditMemoTaxItem' - type: 'null' reason: description: Reason for the credit memo. type: string enum: - return - product-unsatisfactory - order-change - order-cancellation - chargeback - write-off - waiver - customer-credit - other description: type: string x-basic: true description: >- Public description, that is visible to customers, which describes the purpose of the credit memo. shippingAmount: description: Shipping amount of an invoice to credit. type: number format: double default: 0 x-type: Money CreditMemoTimeline: type: object properties: id: type: string description: ID of the timeline message. readOnly: true maxLength: 50 example: tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC type: description: Type of timeline message. type: string readOnly: true enum: - credit-memo-created - credit-memo-applied - credit-memo-partially-applied - credit-memo-voided triggeredBy: description: Specifies who, or what, triggered the timeline event. type: string readOnly: true enum: - rebilly - app - direct-api message: description: Content of the timeline message. type: string extraData: $ref: '#/components/schemas/TimelineExtraData' occurredTime: description: Date and time when the timeline message occurred. readOnly: true $ref: '#/components/schemas/ServerTimestamp' _links: $ref: '#/components/schemas/SelfLink' JournalAccount: type: object required: - name properties: id: type: string description: ID of the journal account. readOnly: true maxLength: 50 example: jrn_acc_0YVCXS791DD8JAK1WV3VHM70ZQ name: type: string description: Name of the journal account. example: Unearned revenue description: type: - string - 'null' createdTime: description: Date and time when the journal record is created. $ref: '#/components/schemas/ServerTimestamp' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' JournalEntry: type: object required: - period - currency properties: id: type: string description: ID of the journal entry. readOnly: true maxLength: 50 example: jrn_ent_0YVCXSFCF2DJX99NBBSJCEVETB period: type: object properties: startDate: type: string format: date example: '2022-09-01' endDate: type: string format: date example: '2022-09-30' currency: description: Currency of the journal record revenue. $ref: '#/components/schemas/CurrencyCode' description: type: string createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' JournalRecord: type: object required: - type - journalEntryId - customerId - invoiceId - invoiceItemId - debitAccountId - creditAccountId properties: id: type: string description: Unique resource ID. maxLength: 50 example: jrn_rec_0YVCXV2HE5DBT89QV7RXSJEZQ4 journalEntryId: description: ID of the journal entry. readOnly: true type: string customerId: description: ID of the customer. type: string maxLength: 50 example: cus_0YV7DDSDD1C8DA64KHH2W33CPF invoiceId: type: string description: ID of the invoice. maxLength: 50 example: in_0YVF9605RKC62BP14NE2R7V2XT invoiceItemId: type: string description: ID of the invoice item. maxLength: 50 example: ii_0YVFDEQS2KCFTBN9HXWJFY55GV type: type: string readOnly: true enum: - automated - manual estimatedAmount: description: >- Amount of revenue estimated to be recognized at the schedule date. This value is ignored when updating a journal record with a `type` of `automated`. type: - number - 'null' format: double recognizedAmount: description: Amount of revenue recognized at the journal period end. type: - number - 'null' format: double debitAccountId: description: ID of the debit journal account. type: - string - 'null' creditAccountId: description: ID of the credit journal account. type: - string - 'null' createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: customer: type: object invoice: type: object invoiceItem: type: object debitAccount: type: object creditAccount: type: object _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - customer - invoice - invoiceItem - journalEntry - creditAccount - debitAccount KycDocumentTypes: type: string enum: - identity-proof - address-proof - funds-proof - purchase-proof - credit-file-proof KycDocumentSubtypes: type: - string - 'null' enum: - passport - id-card - driver-license - birth-certificate - utility-bill - rental-receipt - lease-agreement - copy-credit-card - credit-card-statement - bank-statement - inheritance-documentation - tax-return - salary-slip - sale-of-assets - public-health-card - proof-of-age-card - reverse-of-id - public-service - ewallet-holder-details - ewallet-transaction-statement - marriage-certificate - firearms-license - insurance-letter - income-statement - debtors-letter - other - null KycRequestDocument: type: object required: - type properties: type: description: Type of document to request from the customer. $ref: '#/components/schemas/KycDocumentTypes' subtypes: description: Permitted document subtype. type: - array - 'null' items: $ref: '#/components/schemas/KycDocumentSubtypes' maxAttempts: description: |- Total number of allowed document upload attempts. Use `0` to allow unlimited upload attempts. type: integer default: 3 minimum: 0 maximum: 100 faceProofRequired: description: >- Specifies if the customer must upload a photo of their face (selfie) that matches a provided KYC document. type: boolean faceLivenessRequired: description: >- Specifies if the customer must use the face liveness feature when uploading a selfie. For more information, see [Facial recognition and identity verification](https://www.rebilly.com/docs/kyc-and-aml/kyc#facial-recognition-identity-verification). type: boolean KycDocumentMatchLevels: description: Document verification level. type: integer enum: - 1 - 2 - 3 default: 2 x-enumDescriptions: '1': >- Strict verification requirements. This option is used for credit transactions. '2': >- Moderate verification requirements. This option is used for sale transactions. '3': >- Basic verification requirements. This option is used when a high level of verification is not required. KycRequest: type: object description: KYC request information. required: - customerId - documents properties: id: type: string readOnly: true description: ID of the KYC request. maxLength: 50 example: kyc_req_0YV7JMJ3DBCGRBR7K9D4HVGPP5 customerId: $ref: '#/components/schemas/CustomerId' documents: type: array description: Documents to request from the customer. minItems: 1 items: $ref: '#/components/schemas/KycRequestDocument' status: description: Status of the request. type: string readOnly: true enum: - gathering - attempted - partial - pending-review - fulfilled - failed - abandoned - expired x-enumDescriptions: gathering: |- No documents have been provided yet. This is a temporary state. attempted: >- At least one document has been provided but none were assigned the `accepted` status. This is a temporary state. partial: >- At least one requested document has the `accepted` status, but not all requested documents have been assigned the `accepted` status. This is a temporary state. pending-review: >- At least one requested document has the `pending` status, and no requested documents have been assigned the `accepted` status. This is a temporary state, until the document is reviewed, or another `accepted` document is provided. fulfilled: >- All requested documents are provided and have been assigned the `accepted` status. This is a permanent state. failed: >- At least one requested document has exhausted all attempts, and has not been assigned a `accepted`, `pending`, or `in-progress` status. This is a permanent state. abandoned: |- One or more documents provided but the request expired. This is a permanent state. expired: |- No documents were provided and the request expired. This is a permanent state. redirectUrl: description: >- URL where the customer is redirected when a KYC document upload is complete. When the customer is redirected, Rebilly appends an `info` query parameter that has one of the following values: - `back`: Customer clicked the `back to website` link. - `token_expired`: Customer's token expired. - `success`: Customer uploaded KYC documents that have been analyzed. - `manual`: Customer uploaded KYC documents that require a manual review. This is because the analyzer rejected the documents or could not process them. - `partial`: Some of the customer's KYC documents have been analyzed, but other documents have not. For example, this may occur when a proof of address document is analyzed but proof of ID is not. Example: `https://example.com?info=success`. type: - string - 'null' format: uri reason: description: Reason for uploading. example: spend limit type: - string - 'null' matchLevel: $ref: '#/components/schemas/KycDocumentMatchLevels' revision: description: >- Number of times the KYC request data has been modified. Use this value when analyzing webhook data to determine if a change must take precedence over the current representation. type: integer readOnly: true expirationTime: description: |- Date and time when the request expires. The default value is one hour in the future. type: string format: date-time createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - documents - gatherer _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: documents: type: array KycDocumentRejectionReasonTypes: description: Reason the document is rejected. type: string enum: - document-unreadable - document-expired - document-not-matching - document-duplicate - document-invalid - document-not-open - underage-person - third-party-or-mismatch - expiration-date-missing - issue-date-missing - dob-mismatch - name-mismatch - critical-info-missing - old-address-on-id - tampered-document - other KycDocumentRejection: description: Reason the document is rejected. type: - object - 'null' readOnly: true properties: type: $ref: '#/components/schemas/KycDocumentRejectionReasonTypes' message: description: KYC document rejection message. type: string example: Provided document is unreadable KycIdentityMatches: type: object description: Matched identity data. properties: containsImage: description: Specifies if the document includes an image that contains a face. type: boolean example: true isIdentityDocument: description: Specifies if the document resembles an ID. type: boolean example: true isPublishedOnline: description: Specifies if an exact match of the document has been found online. type: boolean example: false matchingImages: description: URLs where matching images have been found online. type: array readOnly: true maxItems: 3 items: type: string firstName: description: |- First name of the customer. This value is null if no match is found. type: - string - 'null' example: John lastName: description: |- Last name of the customer. This value is null if no match is found. type: - string - 'null' example: Doe dateOfBirth: description: |- Date of birth detected on the document. This value is null if no match is detected. type: - string - 'null' format: date-time expirationDate: description: |- Expiration date detected on the document. This value is null if no expiration date is detected. type: - string - 'null' format: date-time issueDate: description: |- Issue date detected on the document. This value is null if no issue date is detected. type: - string - 'null' format: date-time hasMinimalAge: description: |- Specifies that the individual is older than the minimal age limit. The minimal age is 21+ the for USA and 18+ for all other countries. This value is null if `dateOfBirth` is not determined. type: - boolean - 'null' readOnly: true example: true nationality: description: |- Nationality detected on a passport or citizenship document. This value is null if no nationality is detected. type: - string - 'null' example: US maxLength: 3 issuanceCountry: description: Country that issued the document. type: - string - 'null' example: CA minLength: 2 maxLength: 2 issuanceRegion: description: Region, state, province, or territory that issued the document. type: - string - 'null' example: Ontario documentNumber: description: |- Unique number on the identity document. This value may contain alphanumeric characters. type: - string - 'null' example: '1234567890' documentSubtype: description: Interpreted subtype of the uploaded document. type: - string - 'null' $ref: '#/components/schemas/KycDocumentSubtypes' hasMatchingFaceProof: description: Specifies if an identity document has matching face proof. type: boolean example: false isTampered: description: Specifies if an identity document has been tampered with. type: boolean example: false hasCompletedFaceLiveness: description: Specifies if the face liveness session completed. type: boolean readOnly: true example: false expiryDate: description: Use `expirationDate` field instead. type: - string - 'null' format: date-time deprecated: true KycSettingsIdentity: type: object description: Identity proof settings. properties: weights: type: object description: >- Property weights that are used for the KYC document verification process. All KYC documents start the verification process with a score of 100. If a check fails, the score is reduced by the corresponding weight. For example, if the `firstName` check weight is set to `5`, and the check fails, the KYC document score becomes `95`. properties: containsImage: type: integer minimum: 0 maximum: 100 description: >- Weight added if the document does not include an image that contains a face. isIdentityDocument: type: integer minimum: 0 maximum: 100 description: Weight added if the document does not resemble an ID. isPublishedOnline: type: integer minimum: 0 maximum: 100 description: >- Weight added if an exact match of the document is not found online. firstName: type: integer minimum: 0 maximum: 100 description: Weight added if the customer's first name is not matched. lastName: type: integer minimum: 0 maximum: 100 description: Weight added if the customer's last name is not matched. expirationDate: type: integer minimum: 0 maximum: 100 description: >- Weight added if an expiration date is not detected on the document. dateOfBirth: type: integer minimum: 0 maximum: 100 description: Weight added if a date of birth is not detected on the document. matchesDateOfBirth: type: integer minimum: 0 maximum: 100 description: >- Weight added if an identity document does not have a matching date of birth. issueDate: type: integer minimum: 0 maximum: 100 description: Weight added if an issue date is not detected on the document. hasMinimalAge: type: integer minimum: 0 maximum: 100 description: >- Weight added if the document does not verify the minimal age limit. Minimal age is 21+ the for USA and 18+ for all other countries. hasMatchingFaceProof: type: integer minimum: 0 maximum: 100 description: >- Weight added if an identity document does not have matching face proof. nationality: type: integer minimum: 0 maximum: 100 description: Weight added if a nationality is not detected on the document. documentSubtype: type: integer minimum: 0 maximum: 100 description: >- Weight added if the document is not one of the recognized document subtypes. isTampered: type: integer minimum: 0 maximum: 100 description: Weight added if the document has been tampered with. thresholds: type: object description: >- Pass and fail threshold definition for the document verification process. properties: rejectBelow: type: integer minimum: 0 maximum: 100 description: >- Overall score by which an identity proof document fails the verification process. acceptAbove: type: integer minimum: 0 maximum: 100 description: >- Overall score by which an identity proof document passes the verification process. ProofOfIdentityKycDocument: title: KYC documents. type: object required: - customerId - documentType - status - fileIds properties: id: type: string readOnly: true description: ID of the KYC document. maxLength: 50 example: kyc_doc_0YV7JHY705C6DA487BFTAA33V8 fileIds: description: >- IDs of linked file objects. Uploaded `identity-proof` files must have the following tags attached to be used for KYC purposes: `['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`. type: array items: type: string maxLength: 50 example: file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N documentType: description: >- Document type submitted for validation. Only the `identity-proof` and `address-proof` types are analyzed automatically. $ref: '#/components/schemas/KycDocumentTypes' documentSubtype: description: Document subtype submitted for validation. $ref: '#/components/schemas/KycDocumentSubtypes' status: description: Status of the validation. type: string readOnly: true enum: - pending - in-progress - accepted - rejected - archived x-enumDescriptions: pending: Waiting to be reviewed or analyzed. in-progress: Being analyzed by the Rebilly AI. accepted: Accepted by AI or a human. rejected: Rejected by AI or a human. archived: Archived by the Rebilly AI. rejectionReason: $ref: '#/components/schemas/KycDocumentRejection' requestId: readOnly: true type: - string - 'null' description: ID of the KYC request. maxLength: 50 example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21 createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' processedTime: description: Date and time when the KYC document is processed. type: - string - 'null' format: date-time readOnly: true customerId: $ref: '#/components/schemas/CustomerId' reviewerId: description: ID of the KYC document reviewer. type: - string - 'null' readOnly: true maxLength: 50 example: 44433322-2c4y-483z-a0a9-158621f77a21 reviewerName: description: First and last name of the KYC document reviewer. type: - string - 'null' readOnly: true reviewStartTime: description: Date and time when the manual review starts. type: - string - 'null' format: date-time readOnly: true reviewTime: description: Date and time of manual review. type: - string - 'null' format: date-time readOnly: true notes: description: Reviewer notes. type: - string - 'null' tags: description: List of KYC document tags. readOnly: true type: array items: $ref: '#/components/schemas/Tag' reason: description: Reason for uploading. type: - string - 'null' matchLevel: $ref: '#/components/schemas/KycDocumentMatchLevels' revision: description: >- Number of times the KYC document data has been modified. Use this value when analyzing webhook data to determine if a change must take precedence over the current representation. type: integer readOnly: true documentMatches: type: - object - 'null' readOnly: true description: Proof of identity document matches. properties: score: description: >- Calculated score that represents the percentage of confidence that this ID represents the customer. type: number format: double example: 0.75 data: $ref: '#/components/schemas/KycIdentityMatches' parsedData: type: - object - 'null' readOnly: true description: Parsed data. properties: score: description: >- Calculated score that represents the percentage of confidence that this ID represents the customer. type: number format: double example: 0.75 data: $ref: '#/components/schemas/KycIdentityMatches' settings: description: Settings used to score the document. readOnly: true oneOf: - $ref: '#/components/schemas/KycSettingsIdentity' - type: 'null' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - customer _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: customer: type: object files: type: array maxItems: 3 description: Linked files. KycAddressMatches: type: object description: Matched address data. properties: firstName: description: |- First name of the customer. This value is null if no match is found. type: - string - 'null' example: John lastName: description: |- Last name of the customer. This value is null if no match is found. type: - string - 'null' example: Doe line1: description: |- Address of the customer's residence. This value is null if no match is found. type: - string - 'null' example: 36 Craven St city: description: |- Customer's city of residence. This value is null if no match is found. type: - string - 'null' example: London region: description: |- Customer's region of residence. This value is null if no match is found. type: - string - 'null' example: London postalCode: description: |- Postal code of the customer's residence. This value is null if no match is found. type: - string - 'null' example: WC2N 5NF wordCount: description: Total number of words in the document. type: integer example: 350 uniqueWords: description: Total number of unique words in the document. type: integer example: 175 date: description: |- Date detected on the document. Use this field to determine if the document is recent. type: - string - 'null' format: date example: '2021-01-01' phone: description: Phone number of the company or agency that issued the document. type: - string - 'null' example: (123) 456-7890 documentSubtype: description: Interpreted subtype of the uploaded document. type: - string - 'null' $ref: '#/components/schemas/KycDocumentSubtypes' isTampered: description: Specifies if an address proof document has been tampered with. type: boolean example: false KycSettingsAddress: type: object description: Address proof settings. properties: weights: type: object description: >- Property weights that are used for the KYC document verification process. All KYC documents start the verification process with a score of 100. If a check fails, the score is reduced by the corresponding weight. For example, if the `firstName` check weight is set to `5`, and the check fails, the KYC document score becomes `95`. properties: firstName: type: integer minimum: 0 maximum: 100 description: Weight added if the customer's first name is not matched. lastName: type: integer minimum: 0 maximum: 100 description: Weight added if the customer's last name is not matched. line1: type: integer minimum: 0 maximum: 100 description: Weight added if the customer's address is not matched. city: type: integer minimum: 0 maximum: 100 description: Weight added if the customer's city is not matched. region: type: integer minimum: 0 maximum: 100 description: Weight added if the customer's region is not matched. postalCode: type: integer minimum: 0 maximum: 100 description: Weight added if the customer's postal code is not matched. date: type: integer minimum: 0 maximum: 100 description: Weight added if a date is not detected on the document. phone: type: integer minimum: 0 maximum: 100 description: Weight added if a phone number is not detected on the document. documentSubtype: type: integer minimum: 0 maximum: 100 description: >- Weight added if the document is not one of the recognized document subtypes. isTampered: type: integer minimum: 0 maximum: 100 description: Weight added if the document has been tampered with. thresholds: type: object description: >- Pass and fail threshold definition for the document verification process. properties: rejectBelow: type: integer minimum: 0 maximum: 100 description: >- Overall score by which an identity proof document fails the verification process. acceptAbove: type: integer minimum: 0 maximum: 100 description: >- Overall score by which an identity proof document passes the verification process. ProofOfAddressKycDocument: title: KYC documents. type: object required: - customerId - documentType - status - fileIds properties: id: type: string readOnly: true description: ID of the KYC document. maxLength: 50 example: kyc_doc_0YV7JHY705C6DA487BFTAA33V8 fileIds: description: >- IDs of linked file objects. Uploaded `identity-proof` files must have the following tags attached to be used for KYC purposes: `['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`. type: array items: type: string maxLength: 50 example: file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N documentType: description: >- Document type submitted for validation. Only the `identity-proof` and `address-proof` types are analyzed automatically. $ref: '#/components/schemas/KycDocumentTypes' documentSubtype: description: Document subtype submitted for validation. $ref: '#/components/schemas/KycDocumentSubtypes' status: description: Status of the validation. type: string readOnly: true enum: - pending - in-progress - accepted - rejected - archived x-enumDescriptions: pending: Waiting to be reviewed or analyzed. in-progress: Being analyzed by the Rebilly AI. accepted: Accepted by AI or a human. rejected: Rejected by AI or a human. archived: Archived by the Rebilly AI. rejectionReason: $ref: '#/components/schemas/KycDocumentRejection' requestId: readOnly: true type: - string - 'null' description: ID of the KYC request. maxLength: 50 example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21 createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' processedTime: description: Date and time when the KYC document is processed. type: - string - 'null' format: date-time readOnly: true customerId: $ref: '#/components/schemas/CustomerId' reviewerId: description: ID of the KYC document reviewer. type: - string - 'null' readOnly: true maxLength: 50 example: 44433322-2c4y-483z-a0a9-158621f77a21 reviewerName: description: First and last name of the KYC document reviewer. type: - string - 'null' readOnly: true reviewStartTime: description: Date and time when the manual review starts. type: - string - 'null' format: date-time readOnly: true reviewTime: description: Date and time of manual review. type: - string - 'null' format: date-time readOnly: true notes: description: Reviewer notes. type: - string - 'null' tags: description: List of KYC document tags. readOnly: true type: array items: $ref: '#/components/schemas/Tag' reason: description: Reason for uploading. type: - string - 'null' matchLevel: $ref: '#/components/schemas/KycDocumentMatchLevels' revision: description: >- Number of times the KYC document data has been modified. Use this value when analyzing webhook data to determine if a change must take precedence over the current representation. type: integer readOnly: true documentMatches: type: - object - 'null' readOnly: true properties: score: description: >- Calculated score that represents the percentage of confidence that this proof of address represents the customer. type: number format: double example: 0.75 data: $ref: '#/components/schemas/KycAddressMatches' parsedData: type: - object - 'null' readOnly: true properties: score: description: >- Calculated score that represents the percentage of confidence that this proof of address represents the customer. type: number format: double example: 0.75 data: $ref: '#/components/schemas/KycAddressMatches' settings: description: Settings used to score the document. readOnly: true oneOf: - $ref: '#/components/schemas/KycSettingsAddress' - type: 'null' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - customer _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: customer: type: object files: type: array maxItems: 3 description: Linked files. FundsMatches: type: object properties: firstName: description: |- First name of the customer. This value is null if no match is found. type: - string - 'null' example: John lastName: description: |- Last name of the customer. This value is null if no match is found. type: - string - 'null' example: Doe documentSubtype: description: Interpreted subtype of the uploaded document. type: - string - 'null' $ref: '#/components/schemas/KycDocumentSubtypes' ProofOfFundsKycDocument: title: KYC documents. type: object required: - customerId - documentType - status - fileIds properties: id: type: string readOnly: true description: ID of the KYC document. maxLength: 50 example: kyc_doc_0YV7JHY705C6DA487BFTAA33V8 fileIds: description: >- IDs of linked file objects. Uploaded `identity-proof` files must have the following tags attached to be used for KYC purposes: `['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`. type: array items: type: string maxLength: 50 example: file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N documentType: description: >- Document type submitted for validation. Only the `identity-proof` and `address-proof` types are analyzed automatically. $ref: '#/components/schemas/KycDocumentTypes' documentSubtype: description: Document subtype submitted for validation. $ref: '#/components/schemas/KycDocumentSubtypes' status: description: Status of the validation. type: string readOnly: true enum: - pending - in-progress - accepted - rejected - archived x-enumDescriptions: pending: Waiting to be reviewed or analyzed. in-progress: Being analyzed by the Rebilly AI. accepted: Accepted by AI or a human. rejected: Rejected by AI or a human. archived: Archived by the Rebilly AI. rejectionReason: $ref: '#/components/schemas/KycDocumentRejection' requestId: readOnly: true type: - string - 'null' description: ID of the KYC request. maxLength: 50 example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21 createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' processedTime: description: Date and time when the KYC document is processed. type: - string - 'null' format: date-time readOnly: true customerId: $ref: '#/components/schemas/CustomerId' reviewerId: description: ID of the KYC document reviewer. type: - string - 'null' readOnly: true maxLength: 50 example: 44433322-2c4y-483z-a0a9-158621f77a21 reviewerName: description: First and last name of the KYC document reviewer. type: - string - 'null' readOnly: true reviewStartTime: description: Date and time when the manual review starts. type: - string - 'null' format: date-time readOnly: true reviewTime: description: Date and time of manual review. type: - string - 'null' format: date-time readOnly: true notes: description: Reviewer notes. type: - string - 'null' tags: description: List of KYC document tags. readOnly: true type: array items: $ref: '#/components/schemas/Tag' reason: description: Reason for uploading. type: - string - 'null' matchLevel: $ref: '#/components/schemas/KycDocumentMatchLevels' settings: description: Settings used to score the document. type: - object - 'null' revision: description: >- Number of times the KYC document data has been modified. Use this value when analyzing webhook data to determine if a change must take precedence over the current representation. type: integer readOnly: true documentMatches: type: - object - 'null' readOnly: true description: Proof of funds document matches. properties: data: $ref: '#/components/schemas/FundsMatches' parsedData: type: - object - 'null' readOnly: true properties: data: $ref: '#/components/schemas/FundsMatches' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - customer _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: customer: type: object files: type: array maxItems: 3 description: Linked files. PurchaseMatches: type: object properties: firstName: description: |- First name of the customer if it is matched. This value is null if no match is found. type: - string - 'null' example: John lastName: description: |- Last name of the customer if it is matched. This value is null if no match is found. type: - string - 'null' example: Doe paymentInstrumentId: type: - string - 'null' description: |- ID of the payment instrument related to the document. This value is null if no match is found. example: inst_0YVB8KPKNXCBR9EDX7JHSED75N documentSubtype: description: Interpreted subtype of the uploaded document. type: - string - 'null' $ref: '#/components/schemas/KycDocumentSubtypes' ProofOfPurchaseKycDocument: title: KYC documents. type: object required: - customerId - documentType - status - fileIds properties: id: type: string readOnly: true description: ID of the KYC document. maxLength: 50 example: kyc_doc_0YV7JHY705C6DA487BFTAA33V8 fileIds: description: >- IDs of linked file objects. Uploaded `identity-proof` files must have the following tags attached to be used for KYC purposes: `['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`. type: array items: type: string maxLength: 50 example: file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N documentType: description: >- Document type submitted for validation. Only the `identity-proof` and `address-proof` types are analyzed automatically. $ref: '#/components/schemas/KycDocumentTypes' documentSubtype: description: Document subtype submitted for validation. $ref: '#/components/schemas/KycDocumentSubtypes' status: description: Status of the validation. type: string readOnly: true enum: - pending - in-progress - accepted - rejected - archived x-enumDescriptions: pending: Waiting to be reviewed or analyzed. in-progress: Being analyzed by the Rebilly AI. accepted: Accepted by AI or a human. rejected: Rejected by AI or a human. archived: Archived by the Rebilly AI. rejectionReason: $ref: '#/components/schemas/KycDocumentRejection' requestId: readOnly: true type: - string - 'null' description: ID of the KYC request. maxLength: 50 example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21 createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' processedTime: description: Date and time when the KYC document is processed. type: - string - 'null' format: date-time readOnly: true customerId: $ref: '#/components/schemas/CustomerId' reviewerId: description: ID of the KYC document reviewer. type: - string - 'null' readOnly: true maxLength: 50 example: 44433322-2c4y-483z-a0a9-158621f77a21 reviewerName: description: First and last name of the KYC document reviewer. type: - string - 'null' readOnly: true reviewStartTime: description: Date and time when the manual review starts. type: - string - 'null' format: date-time readOnly: true reviewTime: description: Date and time of manual review. type: - string - 'null' format: date-time readOnly: true notes: description: Reviewer notes. type: - string - 'null' tags: description: List of KYC document tags. readOnly: true type: array items: $ref: '#/components/schemas/Tag' reason: description: Reason for uploading. type: - string - 'null' matchLevel: $ref: '#/components/schemas/KycDocumentMatchLevels' settings: description: Settings used to score the document. type: - object - 'null' revision: description: >- Number of times the KYC document data has been modified. Use this value when analyzing webhook data to determine if a change must take precedence over the current representation. type: integer readOnly: true documentMatches: type: - object - 'null' readOnly: true description: Proof of purchase document matches. properties: data: $ref: '#/components/schemas/PurchaseMatches' parsedData: type: - object - 'null' readOnly: true description: Parsed data. properties: data: $ref: '#/components/schemas/PurchaseMatches' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - customer - paymentInstrument _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: customer: type: object files: type: array maxItems: 3 description: Linked files. CreditFileCommonDecisionData: readOnly: true type: object properties: lastNameMatch: description: Last name match. type: string readOnly: true example: 'Y' firstNameMatch: description: First name match. type: string readOnly: true example: 'Y' civicNumberMatch: description: Civic number match. type: string readOnly: true example: 'Y' streetNameMatch: description: Street name match. type: string readOnly: true example: 'Y' cityMatch: description: City match. type: string readOnly: true example: 'Y' postalCodeMatch: description: Postal code match. type: string readOnly: true example: 'Y' provinceMatch: description: Province match. type: string readOnly: true example: 'Y' dateOfBirthMatch: description: Date of birth match. type: string readOnly: true example: 'Y' ageOfCreditFileThreeOrMoreYearsOld: description: Age of credit file is three or more years old. type: string readOnly: true example: 'Y' addressAsReported: description: Address as reported. type: string readOnly: true example: 'Y' nameAsReported: description: Name as reported. type: string readOnly: true example: 'Y' dateOfBirthAsReported: description: Date of birth as reported. type: string readOnly: true example: 'Y' CreditFileMatches: type: object properties: creditBureau: description: Credit bureau from which the credit file data is sourced. type: string readOnly: true enum: - equifax - experian - transunion - test-bureau creditFileNumber: description: Credit file number from the credit bureau. type: string readOnly: true name: description: Name of the person to consult about the credit file. type: string readOnly: true consultedDate: description: Date to consult with the credit bureau about the credit file. type: string format: date-time readOnly: true decision: description: >- Specifies if the credit file is used in a single source, or as part of a dual source, proof of identity decision. type: string enum: - single-source - dual-source - other x-enumDescriptions: single-source: >- Credit file used as a single source of proof for an identity decisions. dual-source: >- Credit file used as a source of proof where the credit bureau agency found two reliable trade sources. At least two sources are required for a dual-source proof of identity decision. other: Credit file cannot be used for KYC decisions. readOnly: true trades: description: Contains information to support the dual process. type: array items: type: object properties: name: type: string description: Trade name. example: Rogers accountNumber: type: string example: 123-ABC-123 dateOpened: type: string format: date readOnly: true referenceData: description: Extra data from the credit bureau. readOnly: true type: object properties: singleSourceHit: description: Single source hit. type: string readOnly: true example: 'Y' dualSourceHit: description: Dual source hit. type: string readOnly: true example: 'Y' waterfallProcess: description: Waterfall process. type: string readOnly: true example: 'Y' creditFileCreatedDate: description: Date when the credit file is created. type: string readOnly: true numberOfTradesOnFile: description: Number of trades on file. type: string readOnly: true example: '001' singleDecision: description: Data related to a single source decision. type: object allOf: - $ref: '#/components/schemas/CreditFileCommonDecisionData' dualDecision: description: Data related to a dual source decision. type: - array - 'null' items: allOf: - $ref: '#/components/schemas/CreditFileCommonDecisionData' ProofOfCreditFileKycDocument: title: KYC documents. type: object required: - customerId - documentType - status - fileIds properties: id: type: string readOnly: true description: ID of the KYC document. maxLength: 50 example: kyc_doc_0YV7JHY705C6DA487BFTAA33V8 fileIds: description: >- IDs of linked file objects. Uploaded `identity-proof` files must have the following tags attached to be used for KYC purposes: `['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`. type: array items: type: string maxLength: 50 example: file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N documentType: description: >- Document type submitted for validation. Only the `identity-proof` and `address-proof` types are analyzed automatically. $ref: '#/components/schemas/KycDocumentTypes' documentSubtype: description: Document subtype submitted for validation. $ref: '#/components/schemas/KycDocumentSubtypes' status: description: Status of the validation. type: string readOnly: true enum: - pending - in-progress - accepted - rejected - archived x-enumDescriptions: pending: Waiting to be reviewed or analyzed. in-progress: Being analyzed by the Rebilly AI. accepted: Accepted by AI or a human. rejected: Rejected by AI or a human. archived: Archived by the Rebilly AI. rejectionReason: $ref: '#/components/schemas/KycDocumentRejection' requestId: readOnly: true type: - string - 'null' description: ID of the KYC request. maxLength: 50 example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21 createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' processedTime: description: Date and time when the KYC document is processed. type: - string - 'null' format: date-time readOnly: true customerId: $ref: '#/components/schemas/CustomerId' reviewerId: description: ID of the KYC document reviewer. type: - string - 'null' readOnly: true maxLength: 50 example: 44433322-2c4y-483z-a0a9-158621f77a21 reviewerName: description: First and last name of the KYC document reviewer. type: - string - 'null' readOnly: true reviewStartTime: description: Date and time when the manual review starts. type: - string - 'null' format: date-time readOnly: true reviewTime: description: Date and time of manual review. type: - string - 'null' format: date-time readOnly: true notes: description: Reviewer notes. type: - string - 'null' tags: description: List of KYC document tags. readOnly: true type: array items: $ref: '#/components/schemas/Tag' reason: description: Reason for uploading. type: - string - 'null' matchLevel: $ref: '#/components/schemas/KycDocumentMatchLevels' settings: description: Settings used to score the document. type: - object - 'null' revision: description: >- Number of times the KYC document data has been modified. Use this value when analyzing webhook data to determine if a change must take precedence over the current representation. type: integer readOnly: true documentMatches: description: Proof of credit document matches. type: - object - 'null' readOnly: true properties: data: $ref: '#/components/schemas/CreditFileMatches' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - customer _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: customer: type: object files: type: array maxItems: 3 description: Linked files. KycDocument: type: object description: KYC document information. discriminator: propertyName: documentType mapping: identity-proof: '#/components/schemas/ProofOfIdentityKycDocument' address-proof: '#/components/schemas/ProofOfAddressKycDocument' funds-proof: '#/components/schemas/ProofOfFundsKycDocument' purchase-proof: '#/components/schemas/ProofOfPurchaseKycDocument' credit-file-proof: '#/components/schemas/ProofOfCreditFileKycDocument' oneOf: - $ref: '#/components/schemas/ProofOfIdentityKycDocument' - $ref: '#/components/schemas/ProofOfAddressKycDocument' - $ref: '#/components/schemas/ProofOfFundsKycDocument' - $ref: '#/components/schemas/ProofOfPurchaseKycDocument' - $ref: '#/components/schemas/ProofOfCreditFileKycDocument' KycSettings: type: object description: Settings for KYC score calculation. properties: identityProof: $ref: '#/components/schemas/KycSettingsIdentity' addressProof: $ref: '#/components/schemas/KycSettingsAddress' uiVersion: description: Version of the KYC document gatherer UI. type: - string - 'null' enum: - '1' - '2' default: '1' x-enumDescriptions: '1': Classic design. '2': >- Modern design, optimized for the best user experience on both mobile and desktop devices. ResetPasswordToken: type: object required: - username properties: token: description: ID of the token. type: string readOnly: true username: description: Username associated with the token. type: string credentialId: description: Credential ID associated with the token. type: string readOnly: true expiredTime: description: Date and time when the password expires. type: - string - 'null' format: date-time _links: $ref: '#/components/schemas/SelfLink' PaymentCardBrand: description: Brand of payment card. type: string enum: - Visa - MasterCard - American Express - Discover - Maestro - Solo - Electron - JCB - Voyager - Diners Club - Switch - Laser - China UnionPay - AstroPay Card UseAsBackup: description: >- Specifies if this payment instrument can be used as a backup for invoice payment retries. type: boolean default: false PaymentCard: type: object description: Payment card information. title: Payment card required: - method properties: id: type: string description: ID of the payment instrument. readOnly: true maxLength: 50 example: inst_0YVB8KPKNXCBR9EDX7JHSED75N customerId: $ref: '#/components/schemas/CustomerId' method: description: Method of payment instrument. type: string readOnly: true enum: - payment-card status: type: string description: >- Status of the payment instrument. An `active` status means that a payment instrument has been used at least once for an approved transaction. To remove an instrument from use, set this value to `deactivated`. For more information, see [Deactivate a payment instrument](./PostPaymentInstrumentDeactivation). enum: - active - inactive - expired - deactivated - verification-needed fingerprint: description: |- Unique value that is used to identify the payment instrument. This value is generated from the `bin` and the `last4` values. This value contains alphanumeric characters. type: string readOnly: true bin: description: >- Bank Identification Number (BIN) of the payment card. This value is the same as the first 6 digits of the associated Primary Account Number (PAN). type: string format: bin readOnly: true last4: description: Last 4 digits of the associated Primary Account Number (PAN). type: string readOnly: true pan: description: Primary Account Number (PAN) of the payment card. type: string writeOnly: true expYear: description: Expiration year of the payment card. type: integer expMonth: description: Expiration month of the payment card. type: integer cvv: description: Card Verification Value (CVV) of the payment card. type: string writeOnly: true brand: readOnly: true allOf: - $ref: '#/components/schemas/PaymentCardBrand' bankCountry: description: Bank country of the payment instrument. type: - string - 'null' readOnly: true bankName: description: Bank name of the payment instrument. type: string readOnly: true billingAddress: description: Contact's billing address. $ref: '#/components/schemas/ContactObject' useAsBackup: $ref: '#/components/schemas/UseAsBackup' billingPortalUrl: description: URL of the billing portal where the card can be updated. type: string readOnly: true createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' customFields: $ref: '#/components/schemas/ResourceCustomFields' stickyGatewayAccountId: description: >- ID of the sticky gateway account. All future payments are processed by this gateway account. For more information, see [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts). type: - string - 'null' readOnly: true expirationReminderTime: description: Date and time when an expiration reminder event is triggered. type: - string - 'null' format: date-time readOnly: true expirationReminderNumber: description: Number of expiration reminder events that have triggered. type: - integer - 'null' readOnly: true referenceData: description: Payment instrument reference data. type: object additionalProperties: type: string example: gatewayTransactionId: GAT123 digitalWallet: readOnly: true description: Digital wallet type. type: - string - 'null' enum: - Apple Pay - Google Pay - null riskMetadata: oneOf: - $ref: '#/components/schemas/RiskMetadata' - type: 'null' revision: description: >- Number of times the payment instrument data has been modified. Use this value when analyzing webhook data to determine if a change must take precedence over the current representation. type: integer readOnly: true _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - customer - authTransaction - approvalUrl _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: authTransaction: type: object customer: type: object BankAccount: type: object title: Bank account required: - method properties: id: type: string description: ID of the payment instrument. readOnly: true maxLength: 50 example: inst_0YVB8KPKNXCBR9EDX7JHSED75N customerId: $ref: '#/components/schemas/CustomerId' method: description: Method of payment instrument. type: string readOnly: true enum: - ach bankName: description: Name of the bank. type: string routingNumber: description: Bank routing number. type: string accountNumberType: description: >- Type of bank account number. A valid value is a Basic Bank Account Number (BBAN) or an International Bank Account Number (IBAN). type: string default: BBAN enum: - BBAN - IBAN accountType: description: Type of bank account. type: string enum: - checking - savings - other bic: description: Bank Identifier Code (BIC). type: - string - 'null' billingAddress: description: Customer's billing address. $ref: '#/components/schemas/ContactObject' fingerprint: description: |- Unique value which identifies the bank account. This value contains alphanumeric characters. Depending on the type of bank account number, a bank account fingerprint is generated using one of the following: - BBAN: `last4` and `routingNumber` values. - IBAN: First 8 characters of the IBAN and the `last4` value. type: string readOnly: true last4: description: Last 4 digits of the bank account number. type: string readOnly: true status: description: Status of the bank account. type: string readOnly: true enum: - active - deactivated stickyGatewayAccountId: description: >- ID of the sticky gateway account. All future payments are processed by this gateway account. For more information, see [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts). type: - string - 'null' readOnly: true riskMetadata: oneOf: - $ref: '#/components/schemas/RiskMetadata' - type: 'null' useAsBackup: $ref: '#/components/schemas/UseAsBackup' createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' customFields: $ref: '#/components/schemas/ResourceCustomFields' revision: description: >- Number of times the payment instrument data has been modified. Use this value when analyzing webhook data to determine if a change must take precedence over the current representation. type: integer readOnly: true _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - customer _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: customer: type: object PayPalAccount: type: object title: PayPal account required: - method - customerId - billingAddress properties: id: type: string description: ID of the payment instrument. readOnly: true maxLength: 50 example: inst_0YVB8KPKNXCBR9EDX7JHSED75N customerId: $ref: '#/components/schemas/CustomerId' method: description: Method of payment instrument. type: string enum: - paypal billingAddress: description: Billing address. $ref: '#/components/schemas/ContactObject' username: description: PayPal username. type: string readOnly: true status: description: PayPal account status. type: string readOnly: true enum: - inactive - active - deactivated useAsBackup: $ref: '#/components/schemas/UseAsBackup' createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' customFields: $ref: '#/components/schemas/ResourceCustomFields' stickyGatewayAccountId: description: >- ID of the sticky gateway account. All future payments are processed by this gateway account. For more information, see [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts). type: - string - 'null' readOnly: true riskMetadata: oneOf: - $ref: '#/components/schemas/RiskMetadata' - type: 'null' revision: description: >- Number of times the payment instrument data has been modified. Use this value when analyzing webhook data to determine if a change must take precedence over the current representation. type: integer readOnly: true _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - customer - authTransaction - approvalUrl _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: authTransaction: type: object customer: type: object KhelocardCard: type: object title: Khelocard card required: - method properties: id: type: string description: ID of the payment instrument. readOnly: true maxLength: 50 example: inst_0YVB8KPKNXCBR9EDX7JHSED75N customerId: $ref: '#/components/schemas/CustomerId' method: description: Method of payment instrument. type: string enum: - Khelocard fingerprint: description: >- Unique value which identifies the payment instrument. This value contains alphanumeric characters. This value is generated from the card number, CVV, and expiration date. type: string number: description: Khelocard card masked number. type: string last4: description: Last 4 digits of the number. type: string expYear: description: Khelocard card expiration year. type: integer expMonth: description: Khelocard card expiration month. type: integer billingAddress: description: Billing address. $ref: '#/components/schemas/ContactObject' status: description: Payment instrument status. type: string enum: - active - deactivated useAsBackup: $ref: '#/components/schemas/UseAsBackup' createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' customFields: $ref: '#/components/schemas/ResourceCustomFields' stickyGatewayAccountId: description: >- ID of the sticky gateway account. All future payments are processed by this gateway account. For more information, see [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts). type: - string - 'null' readOnly: true riskMetadata: oneOf: - $ref: '#/components/schemas/RiskMetadata' - type: 'null' revision: description: >- Number of times the payment instrument data has been modified. Use this value when analyzing webhook data to determine if a change must take precedence over the current representation. type: integer readOnly: true _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - customer _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: customer: type: object AlternativePaymentMethods: type: string description: Payment method. enum: - cash - check - paypal - AdvCash - Aircash - Alfa-click - Alipay - AstroPay Card - AstroPay-GO - BankReferenced - bank-transfer - bank-transfer-2 - bank-transfer-3 - bank-transfer-4 - bank-transfer-5 - bank-transfer-6 - bank-transfer-7 - bank-transfer-8 - bank-transfer-9 - Baloto - Beeline - Belfius-direct-net - bitcoin - Bizum - Boleto - cash-deposit - CASHlib - CashToCode - China UnionPay - Cleo - CODVoucher - Conekta-oxxo - Cupon-de-pagos - cryptocurrency - domestic-cards - Directa24Card - echeck - ecoPayz - ecoVoucher - Efecty - EPS - ePay.bg - eZeeWallet - FasterPay - Flexepin - Giropay - Gpaysafe - Google Pay - iDebit - iDEAL - ING-homepay - INOVAPAY-pin - INOVAPAY-wallet - InstaDebit - instant-bank-transfer - InstantPayments - Interac - Interac-online - Interac-eTransfer - invoice - iWallet - Jeton - jpay - KakaoPay - Khelocard - Klarna - KNOT - loonie - Matrix - MaxiCash - Megafon - MercadoPago - MiFinity-eWallet - miscellaneous - MobilePay - Bancontact - Bancontact-mobile - MTS - MuchBetter - Multibanco - Neosurf - Netbanking - Neteller - Nordea-Solo - OchaPay - online-bank-transfer - Onlineueberweisen - oriental-wallet - OXXO - P24 - Pagadito - PagoEffectivo - Pagsmile-deposit-express - Pagsmile-lottery - PayCash - Payco - Payeer - PaymentAsia-crypto - Paymero - Perfect-money - Piastrix - PIX - plaid-account - PayTabs - Paysafecard - Paysafecash - Pay4Fun - Paynote - PinPay - phone - PhonePe - POLi - PostFinance-card - PostFinance-e-finance - QIWI - QPay - QQPay - rapyd-checkout - Resurs - SafetyPay - Samsung Pay - SEPA - Skrill - Skrill Rapid Transfer - SMSVoucher - Sofort - SparkPay - swift-dbt - Tele2 - Terminaly-RF - ToditoCash-card - Trustly - Tupay - UPayCard - UPI - USD-coin - VCreditos - VenusPoint - voucher - voucher-2 - voucher-3 - voucher-4 - Wallet88 - Webmoney - Webpay - Webpay-2 - Webpay Card - WeChat Pay - wire - XPay-P2P - XPay-QR - Yandex-money - Zotapay - Zimpler AlternativeInstrument: type: object title: Alternative instrument required: - method - customerId - billingAddress properties: id: type: string description: ID of the payment instrument. readOnly: true maxLength: 50 example: inst_0YVB8KPKNXCBR9EDX7JHSED75N customerId: $ref: '#/components/schemas/CustomerId' method: description: Payment method of the payment instrument. allOf: - $ref: '#/components/schemas/AlternativePaymentMethods' - not: enum: - payment-card - paypal - ach - echeck - Khelocard billingAddress: description: >- Billing address of the user that is associated with the payment instrument. $ref: '#/components/schemas/ContactObject' status: description: Payment instrument status. type: string readOnly: true enum: - active - deactivated useAsBackup: $ref: '#/components/schemas/UseAsBackup' createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' customFields: $ref: '#/components/schemas/ResourceCustomFields' stickyGatewayAccountId: description: >- ID of the sticky gateway account. All future payments are processed by this gateway account. For more information, see [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts). type: - string - 'null' readOnly: true referenceData: description: Payment instrument reference data. type: object additionalProperties: type: string example: gatewayTransactionId: GAT123 riskMetadata: oneOf: - $ref: '#/components/schemas/RiskMetadata' - type: 'null' revision: description: >- Number of times the payment instrument data has been modified. Use this value when analyzing webhook data to determine if a change must take precedence over the current representation. type: integer readOnly: true _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - customer _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: customer: type: object PaymentInstrument: discriminator: propertyName: method mapping: payment-card: '#/components/schemas/PaymentCard' ach: '#/components/schemas/BankAccount' paypal: '#/components/schemas/PayPalAccount' Khelocard: '#/components/schemas/KhelocardCard' cash: '#/components/schemas/AlternativeInstrument' check: '#/components/schemas/AlternativeInstrument' AdvCash: '#/components/schemas/AlternativeInstrument' Alfa-click: '#/components/schemas/AlternativeInstrument' Alipay: '#/components/schemas/AlternativeInstrument' AstroPay Card: '#/components/schemas/AlternativeInstrument' AstroPay-GO: '#/components/schemas/AlternativeInstrument' BankReferenced: '#/components/schemas/AlternativeInstrument' bank-transfer: '#/components/schemas/AlternativeInstrument' bank-transfer-2: '#/components/schemas/AlternativeInstrument' bank-transfer-3: '#/components/schemas/AlternativeInstrument' bank-transfer-4: '#/components/schemas/AlternativeInstrument' bank-transfer-5: '#/components/schemas/AlternativeInstrument' bank-transfer-6: '#/components/schemas/AlternativeInstrument' bank-transfer-7: '#/components/schemas/AlternativeInstrument' bank-transfer-8: '#/components/schemas/AlternativeInstrument' bank-transfer-9: '#/components/schemas/AlternativeInstrument' Baloto: '#/components/schemas/AlternativeInstrument' Beeline: '#/components/schemas/AlternativeInstrument' Belfius-direct-net: '#/components/schemas/AlternativeInstrument' bitcoin: '#/components/schemas/AlternativeInstrument' Bizum: '#/components/schemas/AlternativeInstrument' Boleto: '#/components/schemas/AlternativeInstrument' cash-deposit: '#/components/schemas/AlternativeInstrument' CASHlib: '#/components/schemas/AlternativeInstrument' CashToCode: '#/components/schemas/AlternativeInstrument' China UnionPay: '#/components/schemas/AlternativeInstrument' Cleo: '#/components/schemas/AlternativeInstrument' CODVoucher: '#/components/schemas/AlternativeInstrument' Conekta-oxxo: '#/components/schemas/AlternativeInstrument' Cupon-de-pagos: '#/components/schemas/AlternativeInstrument' cryptocurrency: '#/components/schemas/AlternativeInstrument' domestic-cards: '#/components/schemas/AlternativeInstrument' ecoPayz: '#/components/schemas/AlternativeInstrument' ecoVoucher: '#/components/schemas/AlternativeInstrument' Efecty: '#/components/schemas/AlternativeInstrument' EPS: '#/components/schemas/AlternativeInstrument' ePay.bg: '#/components/schemas/AlternativeInstrument' eZeeWallet: '#/components/schemas/AlternativeInstrument' FasterPay: '#/components/schemas/AlternativeInstrument' Flexepin: '#/components/schemas/AlternativeInstrument' Giropay: '#/components/schemas/AlternativeInstrument' Gpaysafe: '#/components/schemas/AlternativeInstrument' Google Pay: '#/components/schemas/AlternativeInstrument' iDebit: '#/components/schemas/AlternativeInstrument' iDEAL: '#/components/schemas/AlternativeInstrument' ING-homepay: '#/components/schemas/AlternativeInstrument' INOVAPAY-pin: '#/components/schemas/AlternativeInstrument' INOVAPAY-wallet: '#/components/schemas/AlternativeInstrument' InstaDebit: '#/components/schemas/AlternativeInstrument' instant-bank-transfer: '#/components/schemas/AlternativeInstrument' InstantPayments: '#/components/schemas/AlternativeInstrument' Interac: '#/components/schemas/AlternativeInstrument' Interac-online: '#/components/schemas/AlternativeInstrument' Interac-eTransfer: '#/components/schemas/AlternativeInstrument' invoice: '#/components/schemas/AlternativeInstrument' iWallet: '#/components/schemas/AlternativeInstrument' Jeton: '#/components/schemas/AlternativeInstrument' jpay: '#/components/schemas/AlternativeInstrument' Klarna: '#/components/schemas/AlternativeInstrument' KNOT: '#/components/schemas/AlternativeInstrument' loonie: '#/components/schemas/AlternativeInstrument' Matrix: '#/components/schemas/AlternativeInstrument' MaxiCash: '#/components/schemas/AlternativeInstrument' Megafon: '#/components/schemas/AlternativeInstrument' MiFinity-eWallet: '#/components/schemas/AlternativeInstrument' miscellaneous: '#/components/schemas/AlternativeInstrument' Bancontact: '#/components/schemas/AlternativeInstrument' Bancontact-mobile: '#/components/schemas/AlternativeInstrument' MTS: '#/components/schemas/AlternativeInstrument' MuchBetter: '#/components/schemas/AlternativeInstrument' Multibanco: '#/components/schemas/AlternativeInstrument' Neosurf: '#/components/schemas/AlternativeInstrument' Netbanking: '#/components/schemas/AlternativeInstrument' Neteller: '#/components/schemas/AlternativeInstrument' Nordea-Solo: '#/components/schemas/AlternativeInstrument' OchaPay: '#/components/schemas/AlternativeInstrument' online-bank-transfer: '#/components/schemas/AlternativeInstrument' Onlineueberweisen: '#/components/schemas/AlternativeInstrument' oriental-wallet: '#/components/schemas/AlternativeInstrument' OXXO: '#/components/schemas/AlternativeInstrument' P24: '#/components/schemas/AlternativeInstrument' Pagadito: '#/components/schemas/AlternativeInstrument' PagoEffectivo: '#/components/schemas/AlternativeInstrument' Pagsmile-deposit-express: '#/components/schemas/AlternativeInstrument' Pagsmile-lottery: '#/components/schemas/AlternativeInstrument' PayCash: '#/components/schemas/AlternativeInstrument' Payeer: '#/components/schemas/AlternativeInstrument' PaymentAsia-crypto: '#/components/schemas/AlternativeInstrument' Paymero: '#/components/schemas/AlternativeInstrument' Perfect-money: '#/components/schemas/AlternativeInstrument' Piastrix: '#/components/schemas/AlternativeInstrument' plaid-account: '#/components/schemas/AlternativeInstrument' PayTabs: '#/components/schemas/AlternativeInstrument' Paysafecard: '#/components/schemas/AlternativeInstrument' Paysafecash: '#/components/schemas/AlternativeInstrument' Pay4Fun: '#/components/schemas/AlternativeInstrument' Paynote: '#/components/schemas/AlternativeInstrument' PinPay: '#/components/schemas/AlternativeInstrument' phone: '#/components/schemas/AlternativeInstrument' PhonePe: '#/components/schemas/AlternativeInstrument' POLi: '#/components/schemas/AlternativeInstrument' PostFinance-card: '#/components/schemas/AlternativeInstrument' PostFinance-e-finance: '#/components/schemas/AlternativeInstrument' QIWI: '#/components/schemas/AlternativeInstrument' QPay: '#/components/schemas/AlternativeInstrument' QQPay: '#/components/schemas/AlternativeInstrument' rapyd-checkout: '#/components/schemas/AlternativeInstrument' Resurs: '#/components/schemas/AlternativeInstrument' SafetyPay: '#/components/schemas/AlternativeInstrument' SEPA: '#/components/schemas/AlternativeInstrument' Skrill: '#/components/schemas/AlternativeInstrument' Skrill Rapid Transfer: '#/components/schemas/AlternativeInstrument' SMSVoucher: '#/components/schemas/AlternativeInstrument' Sofort: '#/components/schemas/AlternativeInstrument' SparkPay: '#/components/schemas/AlternativeInstrument' swift-dbt: '#/components/schemas/AlternativeInstrument' Tele2: '#/components/schemas/AlternativeInstrument' Terminaly-RF: '#/components/schemas/AlternativeInstrument' ToditoCash-card: '#/components/schemas/AlternativeInstrument' Trustly: '#/components/schemas/AlternativeInstrument' UPayCard: '#/components/schemas/AlternativeInstrument' UPI: '#/components/schemas/AlternativeInstrument' USD-coin: '#/components/schemas/AlternativeInstrument' VCreditos: '#/components/schemas/AlternativeInstrument' VenusPoint: '#/components/schemas/AlternativeInstrument' voucher: '#/components/schemas/AlternativeInstrument' voucher-2: '#/components/schemas/AlternativeInstrument' voucher-3: '#/components/schemas/AlternativeInstrument' voucher-4: '#/components/schemas/AlternativeInstrument' Webmoney: '#/components/schemas/AlternativeInstrument' Webpay: '#/components/schemas/AlternativeInstrument' Webpay-2: '#/components/schemas/AlternativeInstrument' Webpay Card: '#/components/schemas/AlternativeInstrument' WeChat Pay: '#/components/schemas/AlternativeInstrument' XPay-P2P: '#/components/schemas/AlternativeInstrument' XPay-QR: '#/components/schemas/AlternativeInstrument' Yandex-money: '#/components/schemas/AlternativeInstrument' Zotapay: '#/components/schemas/AlternativeInstrument' Zimpler: '#/components/schemas/AlternativeInstrument' anyOf: - $ref: '#/components/schemas/PaymentCard' - $ref: '#/components/schemas/BankAccount' - $ref: '#/components/schemas/PayPalAccount' - $ref: '#/components/schemas/KhelocardCard' - $ref: '#/components/schemas/AlternativeInstrument' PaymentInstrumentCreateToken: title: Payment token type: object required: - customerId - token properties: customerId: $ref: '#/components/schemas/CustomerId' token: description: ID of the payment token. type: string customFields: $ref: '#/components/schemas/ResourceCustomFields' useAsBackup: $ref: '#/components/schemas/UseAsBackup' PaymentCardCreatePlain: title: Payment card type: object required: - method - customerId - pan - expYear - expMonth - billingAddress properties: method: description: Method of the payment instrument. type: string enum: - payment-card customerId: $ref: '#/components/schemas/CustomerId' pan: description: Primary Account Number (PAN) of the payment card. type: string writeOnly: true expYear: description: Expiration year of the payment card. type: integer expMonth: description: Expiration month of the payment card. type: integer cvv: description: Card Verification Value (CVV) of the payment card. type: string writeOnly: true billingAddress: description: Billing address. $ref: '#/components/schemas/ContactObject' customFields: $ref: '#/components/schemas/ResourceCustomFields' riskMetadata: $ref: '#/components/schemas/RiskMetadata' useAsBackup: $ref: '#/components/schemas/UseAsBackup' BankAccountCreatePlain: title: Bank account type: object required: - accountNumberType discriminator: propertyName: accountNumberType mapping: BBAN: '#/components/schemas/BBANType' IBAN: '#/components/schemas/IBANType' properties: accountNumberType: type: string enum: - IBAN - BBAN BBANType: type: object description: BBAN type object. required: - accountNumberType - method - customerId - accountNumber - routingNumber - accountType - billingAddress allOf: - $ref: '#/components/schemas/BankAccountCreatePlain' - properties: method: description: Payment method of the payment instrument. type: string enum: - ach customerId: $ref: '#/components/schemas/CustomerId' accountNumberType: description: >- Bank account number type. A valid value is a Basic Bank Account Number (BBAN) or an International Bank Account Number (IBAN). type: string default: BBAN enum: - IBAN - BBAN accountNumber: description: >- Customer's bank account number. Detailed information on all ISO 13616-compliant national IBAN formats is available in the [SWIFT IBAN Registry](https://www.swift.com/standards/data-standards/iban). type: string pattern: ^[0-9]+$ routingNumber: description: Bank routing number. type: string pattern: ^[0-9]+$ accountType: description: Bank account type. type: string enum: - checking - savings - other bankName: description: Bank name. type: string bic: description: Bank Identifier Code (BIC). type: string billingAddress: description: Customer's billing address. $ref: '#/components/schemas/ContactObject' customFields: $ref: '#/components/schemas/ResourceCustomFields' riskMetadata: $ref: '#/components/schemas/RiskMetadata' useAsBackup: $ref: '#/components/schemas/UseAsBackup' IBANType: type: object required: - accountNumberType - method - customerId - accountNumber - billingAddress description: IBAN type object. allOf: - $ref: '#/components/schemas/BankAccountCreatePlain' - properties: method: description: Payment method of the payment instrument. type: string enum: - ach customerId: $ref: '#/components/schemas/CustomerId' accountNumberType: description: >- Customer's bank account number type. A valid value is a Basic Bank Account Number (BBAN) or an International Bank Account Number (IBAN). type: string default: BBAN enum: - IBAN - BBAN accountNumber: description: >- Customer's bank account number. Detailed information on all ISO 13616-compliant national IBAN formats is available in the [SWIFT IBAN Registry](https://www.swift.com/standards/data-standards/iban). type: string bankName: description: Bank name. type: string bic: description: Bank Identifier Code (BIC). type: string billingAddress: description: Customer's billing address. $ref: '#/components/schemas/ContactObject' customFields: $ref: '#/components/schemas/ResourceCustomFields' riskMetadata: $ref: '#/components/schemas/RiskMetadata' useAsBackup: $ref: '#/components/schemas/UseAsBackup' PaymentInstrumentUpdateToken: type: object properties: token: description: ID of the payment token. type: string billingAddress: description: >- Customer's billing address. If this value is supplied it overrides the billing address that is supplied with the token. $ref: '#/components/schemas/ContactObject' stickyGatewayAccountId: description: >- ID of the sticky gateway account. All future payments are processed by this gateway account. To remove the sticky gateway account from a payment instrument, set this value to `null`. For more information, see [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts). type: - string - 'null' maxLength: 50 example: gw_acc_0YVCXMF26DDNKAERE5NW727S34 customFields: $ref: '#/components/schemas/ResourceCustomFields' useAsBackup: $ref: '#/components/schemas/UseAsBackup' PaymentCardUpdatePlain: type: object properties: cvv: description: Card Verification Value (CVV) of the payment card. type: string expMonth: description: Expiration month of the payment card. type: integer expYear: description: Expiration year of the payment card. type: integer billingAddress: description: Billing address. $ref: '#/components/schemas/ContactObject' stickyGatewayAccountId: description: >- ID of the sticky gateway account. All future payments are processed by this gateway account. For more information, see [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts). $ref: '#/components/schemas/ResourceId' customFields: $ref: '#/components/schemas/ResourceCustomFields' useAsBackup: $ref: '#/components/schemas/UseAsBackup' BankAccountUpdatePlain: type: object properties: bankName: description: Name of the bank. type: string accountType: description: Bank account type. type: string enum: - checking - savings - other billingAddress: description: Billing address. $ref: '#/components/schemas/ContactObject' stickyGatewayAccountId: description: >- ID of the sticky gateway account. All future payments are processed by this gateway account. For more information, see [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts). $ref: '#/components/schemas/ResourceId' customFields: $ref: '#/components/schemas/ResourceCustomFields' useAsBackup: $ref: '#/components/schemas/UseAsBackup' PaymentInstrumentNameInquiry: type: object description: Perform a name inquiry on a payment instrument. required: - gatewayAccountId properties: gatewayAccountId: description: ID of the gateway account. type: string result: description: Result of the payment instrument name inquiry. type: string readOnly: true enum: - full-match - partial-match - no-match - not-supported - unknown response: readOnly: true description: Raw response message from gateway. type: string PlanFormulaFixedFee: title: Fixed-fee description: >- Fixed-fee pricing details. Use this formula for subscriptions that involve the same price, number of units, and reoccur over a fixed period of time. For more information, see [Fixed-fee per period](https://www.rebilly.com/docs/settings/pricing-formulas/#fixed-fee-per-period). type: object required: - price - formula properties: formula: type: string description: >- Price formula that determines which algorithm is used to calculate the invoice price based on the following factors: - Quantity in the order. This value may be variable if you are charging based on usage. If you are not charging based on usage, this value is determined when an order is created. - Price of the quantity range. Some formulas set a price based on defined product quantity ranges. For more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/). enum: - fixed-fee price: description: >- Use this formula to charge for subscriptions that have a fixed price, number of units, and reoccur over a fixed period of time, such as every: day, week, month, year, or number of years. For example, a streaming company charges customers $13.99 each month for subscription period that is 6 months in duration. The quantity of movies that a customer streams each month does not impact the price. type: number format: double example: 99.95 PlanFormulaFlatRate: title: Flat rate description: >- Flat rate pricing details. Use this formula to charge a flat fee per unit. For example, $0.10 per transaction or $4 per unit. For more information, see [Flat rate pricing](https://www.rebilly.com/docs/billing/pricing-formulas/#flat-rate-pricing). type: object required: - price - formula properties: formula: type: string description: >- Price formula that determines which algorithm is used to calculate the invoice price based on the following factors: - Quantity in the order. This value may be variable if you are charging based on usage. If you are not charging based on usage, this value is determined when an order is created. - Price of the quantity range. Some formulas set a price based on defined product quantity ranges. For more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/). enum: - flat-rate price: description: |- Use this formula to charge a flat fee per unit. For example, $0.10 for each transaction or $4 per unit. If the value of this field is `0`, the product is free. type: number format: double example: 99.95 minQuantity: description: |- Minimum permitted unit quantity. If this value is `null`, no limit is in place. type: - integer - 'null' default: null example: 1 minimum: 1 maximum: 65535 maxQuantity: description: |- Maximum permitted unit quantity. If this value is `null`, no limit is in place. type: - integer - 'null' example: 1 minimum: 1 maximum: 65535 PlanFormulaStairstep: title: Stair-step description: >- Stair-step pricing details. Use this formula to charge for units that are sold in specific quantities. For more information, see [Stair-step](https://www.rebilly.com/docs/billing/pricing-formulas/#stair-step). type: object required: - brackets - formula properties: formula: type: string description: >- Price formula that determines which algorithm is used to calculate the invoice price based on the following factors: - Quantity in the order. This value may be variable if you are charging based on usage. If you are not charging based on usage, this value is determined when an order is created. - Price of the quantity range. Some formulas set a price based on defined product quantity ranges. For more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/). enum: - stairstep brackets: description: >- Use this formula to charge for units that are sold in specific quantity ranges. For example, a bank charges a merchant based on the number of transactions they complete each month. Price total | Max quantity | Description ------------|--------------|------------ $50 | 1000 | Up to 1000 transactions $100 | 1500 | Between 1000 and 1500 transactions $200 | 3000 | Between 1500 and 3000 transactions $500 | null | More than 3000 transactions - If the merchant completes 900 transaction in a month, they are charged $50. - If the merchant completes 1001 transaction in a month, they are charged $100. - If the merchant completes 2500 transaction in a month, they are charged $200. - If the merchant completes more than 3000 transaction in a month, they are charged $500. type: array minItems: 1 items: type: object properties: price: description: |- Price of the quantity range. If the value of this field is `0`, the product is free. type: number format: double example: 99.95 maxQuantity: description: |- Maximum permitted unit quantity. If this value is `null`, no limit is in place. This value starts from the end of the previous quantity range. If there are no previous quantity ranges, this value starts at 1. type: - integer - 'null' example: 1 minimum: 1 maximum: 65535 minQuantity: description: |- Minimum permitted unit quantity. If this value is `null`, no limit is in place. type: - integer - 'null' default: null example: 1 minimum: 1 maximum: 65535 PlanFormulaTiered: title: Tiered description: >- Tiered pricing details. Use this formula to charge for units that are sold within defined quantity ranges, or tiers. For more information, see [Tiered](https://www.rebilly.com/docs/settings/pricing-formulas/#tiered). type: object required: - brackets - formula properties: formula: type: string description: >- Price formula that determines which algorithm is used to calculate the invoice price based on the following factors: - Quantity in the order. This value may be variable if you are charging based on usage. If you are not charging based on usage, this value is determined when an order is created. - Price of the quantity range. Some formulas set a price based on defined product quantity ranges. For more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/). enum: - tiered brackets: description: >- Use this formula to charge for units that are sold within defined quantity ranges, or tiers. If a customer buys a number of units that span more than one tier, the total cost is calculated based on the cost of the units in each tier. For example, a software company sells user licenses based on the following: Tier | Price per user | Max quantity | Description -----|----------------|--------------|------------ 1 | $40 | 3 | 1 to 3 user licenses 2 | $30 | 5 | 5 to 8 user licenses 3 | $15 | null | 9 or more user licenses If a customer buys 10 user licenses, the pricing is as follows: - 3 licenses at tier 1 (3 x $40) is 120 - 5 licenses at tier 2 (5 x $30) is 150 - 2 licenses at tier 3 (2 x $15) is 30 Total cost = $330 Formula: `(price for the tier x quantity within the tier)` + `(price for next tier x quantity in next tier)` + `...` = final price. type: array minItems: 1 items: type: object properties: price: description: |- Price of the quantity range. If the value of this field is `0`, the product is free. type: number format: double example: 99.95 maxQuantity: description: |- Maximum permitted unit quantity. If this value is `null`, no limit is in place. This value starts from the end of the previous quantity range. If there are no previous quantity ranges, this value starts at 1. type: - integer - 'null' example: 1 minimum: 1 maximum: 65535 minQuantity: description: |- Minimum permitted unit quantity. If this value is `null`, no limit is in place. type: - integer - 'null' default: null example: 1 minimum: 1 maximum: 65535 PlanFormulaVolume: title: Volume description: >- Volume pricing details. Use this formula to charge for units that are sold in bulk, or volume ranges. In general, this formula means that a customer pays less per unit when they buy a large volume of units. For more information, see [Volume](https://www.rebilly.com/docs/settings/pricing-formulas/#volume). type: object required: - brackets - formula properties: formula: type: string description: >- Price formula that determines which algorithm is used to calculate the invoice price based on the following factors: - Quantity in the order. This value may be variable if you are charging based on usage. If you are not charging based on usage, this value is determined when an order is created. - Price of the quantity range. Some formulas set a price based on defined product quantity ranges. For more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/). enum: - volume brackets: description: >- Use this formula to charge for units that are sold in bulk, or volume ranges. This formula enables customers to pays less per unit when they buy a large volume of units. Unit cost is based on the highest volume range, and does not include lower volume range pricing. For example, a company sells t-shirts in the following volume ranges: Price per unit| Max quantity | Description --------------|--------------|------------ $10 | 1 | 1 t-shirt $8 | 5 | 2 to 5 t-shirts $4 | null | 6 or more t-shirts - If a customer buys 1 unit, they pay $10. - If a customer buys 3 units, they pay $24 per unit, which is $8 per unit. - If a customer buys 10 units, they pay $40, which is $4 per unit. type: array minItems: 1 items: type: object properties: price: description: |- Price of the quantity range. If the value of this field is `0`, the product is free. type: number format: double example: 99.95 maxQuantity: description: |- Maximum permitted unit quantity. If this value is `null`, no limit is in place. This value starts from the end of the previous quantity range. If there are no previous quantity ranges, this value starts at 1. type: - integer - 'null' example: 1 minimum: 1 maximum: 65535 minQuantity: description: |- Minimum permitted unit quantity. If this value is `null`, no limit is in place. type: - integer - 'null' default: null example: 1 minimum: 1 maximum: 65535 PlanPriceFormula: description: Pricing details. type: object discriminator: propertyName: formula mapping: fixed-fee: '#/components/schemas/PlanFormulaFixedFee' flat-rate: '#/components/schemas/PlanFormulaFlatRate' stairstep: '#/components/schemas/PlanFormulaStairstep' tiered: '#/components/schemas/PlanFormulaTiered' volume: '#/components/schemas/PlanFormulaVolume' oneOf: - $ref: '#/components/schemas/PlanFormulaFixedFee' - $ref: '#/components/schemas/PlanFormulaFlatRate' - $ref: '#/components/schemas/PlanFormulaStairstep' - $ref: '#/components/schemas/PlanFormulaTiered' - $ref: '#/components/schemas/PlanFormulaVolume' PlanSetup: type: - object - 'null' description: Set up information of the plan. required: - price properties: price: description: |- Price of setting up the plan. If your service charges a set up fee, specify it here. To charge no set up fee, set this value to `0`. type: number format: double OneTimeSalePlan: type: object description: >- Details of the one-time sale plan. Use this plan for non-recurring, one-time, sales. required: - name - currency - productId - pricing properties: name: description: |- Name of the plan. This name is displayed on invoices and receipts. type: string maxLength: 255 description: type: string description: |- Plain-text description of the plan. This field accepts plain-text only. maxLength: 65535 richDescription: type: string description: >- Rich-text description of the plan. This field accepts rich text formatting, such as: bold, underline, italic, and hyperlinks. maxLength: 65535 productId: type: string description: ID of the related product. maxLength: 50 example: prod_0YV7DES3WPC5J8JD8QTVNZBZNZ productOptions: type: - object - 'null' description: Name-value pairs that specify the product options. additionalProperties: type: string example: color: red size: xxl currency: $ref: '#/components/schemas/CurrencyCode' currencySign: description: Currency sign. readOnly: true type: string pricing: $ref: '#/components/schemas/PlanPriceFormula' setup: $ref: '#/components/schemas/PlanSetup' customFields: $ref: '#/components/schemas/ResourceCustomFields' isActive: type: boolean description: Specifies if the plan is active. default: true revision: type: integer readOnly: true description: >- Number of times the plan is modified. Compare this value with materialized subscription item revision values. isTrialOnly: type: boolean description: >- Specifies if a plan is a trial that does not have recurring instructions. readOnly: true createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - attachments ServicePeriodAnchorInstruction: type: object description: |- Instruction for calculating the service period anchor. The service period anchor is used, in conjunction with the subscription start time, to calculate when the service period starts and ends. discriminator: propertyName: method mapping: day-of-month: '#/components/schemas/SchedulingMethodDayOfMonth' day-of-week: '#/components/schemas/SchedulingMethodDayOfWeek' immediately: '#/components/schemas/SchedulingMethodImmediately' default: method: immediately anyOf: - $ref: '#/components/schemas/SchedulingMethodDayOfMonth' - $ref: '#/components/schemas/SchedulingMethodDayOfWeek' - $ref: '#/components/schemas/SchedulingMethodImmediately' PlanTrial: type: - object required: - price - period properties: price: description: |- Price of setting up a trial. If your service charges a fee for a trial, specify it here. To charge no trial fee, set this value to `0`. type: number format: double period: type: object description: Period information. required: - unit - length properties: unit: description: Unit of time. type: string enum: - day - week - month - year length: description: Length of time. type: integer minimum: 1 InvoiceTimeShift: type: - object - 'null' description: >- Use invoice time shift to control the billing time. Invoice time shift adjusts the invoice issue and due date when billing must occur before the service period changes. Use invoice time shift in conjunction with `billingTiming` to: - Bill immediately when the service period starts. - Bill immediately after the service period ends. - Bill at an interval of time before the service period starts. - Bill at an interval of time after the service period starts. - Bill at an interval of time before the service period ends. - Bill at an interval of time after the service period ends. properties: issueTimeShift: type: object description: >- Calculation instruction of the billing time. This is used in conjunction with the service period anchor to calculate the time at which the invoice is issued. For more information, see [Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/concepts/#service-period-anchor-and-billing-timing-and-invoice-time-shift). required: - chronology - duration - unit properties: chronology: type: string description: >- Sequential order of the billing time relative to the start of the service period. enum: - before duration: type: integer description: Amount of time by which to move the invoice issue time or date. minimum: 1 unit: description: Unit of time. oneOf: - $ref: '#/components/schemas/TimeUnit' - $ref: '#/components/schemas/TimePluralUnit' dueTimeShift: type: object required: - duration - unit description: >- Calculation instruction of the invoice due time. This is used in conjunction with the billing anchor to calculate when an invoice is due for payment. For more information, see [Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/concepts/#service-period-anchor-and-billing-timing-and-invoice-time-shift). The sequential order of due time shift is always after the due date. default: duration: 1 unit: hour properties: duration: type: integer description: Amount of time by which to move the invoice due time or date. minimum: 1 unit: description: Unit of time. oneOf: - $ref: '#/components/schemas/TimeUnit' - $ref: '#/components/schemas/TimePluralUnit' SubscriptionPlan: description: >- Details of the subscription order plan. Use this plan for subscriptions or sales that reoccur over a period of time. type: object required: - name - currency - productId - pricing - recurringInterval properties: name: description: |- Name of the plan. This name is displayed on invoices and receipts. type: string maxLength: 255 description: type: string description: |- Plain-text description of the plan. This field accepts plain-text only. maxLength: 65535 richDescription: type: string description: >- Rich-text description of the plan. This field accepts rich text formatting, such as: bold, underline, italic, and hyperlinks. maxLength: 65535 productId: type: string description: ID of the related product. maxLength: 50 example: prod_0YV7DES3WPC5J8JD8QTVNZBZNZ productOptions: type: - object - 'null' description: Name-value pairs that specify the product options. additionalProperties: type: string example: color: red size: xxl currency: $ref: '#/components/schemas/CurrencyCode' currencySign: description: Currency sign. readOnly: true type: string pricing: $ref: '#/components/schemas/PlanPriceFormula' setup: $ref: '#/components/schemas/PlanSetup' customFields: $ref: '#/components/schemas/ResourceCustomFields' isActive: type: boolean description: Specifies if the plan is active. default: true revision: type: integer readOnly: true description: >- Number of times the plan is modified. Compare this value with materialized subscription item revision values. isTrialOnly: type: boolean description: >- Specifies if a plan is a trial that does not have recurring instructions. readOnly: true recurringInterval: description: |- Service interval settings. For a one-time sale, set this value to `null`. type: object properties: periodAnchorInstruction: $ref: '#/components/schemas/ServicePeriodAnchorInstruction' unit: description: Unit of time. type: string enum: - day - week - month - year length: description: Length of time. type: integer minimum: 1 limit: description: >- Number of invoices the subscription order generates. If this value is `1`, only the initial order creation is generated. Example: For a 1 year contract that is billed monthly, where the `periodUnit` is `month` and the `periodDuration` is `1`, set this field to `12`. type: - integer - 'null' minimum: 1 maximum: 65535 billingTiming: type: string default: prepaid description: >- Billing timing in relation to the service period. For `prepaid` plans the customer pays when the service period starts, whereas, for `postpaid` plans, the customer pays when the service period ends. enum: - prepaid - postpaid trial: description: |- Trial configuration setting. If you do not want to offer a trial, set this value to `null`. oneOf: - $ref: '#/components/schemas/PlanTrial' - type: 'null' meteredBilling: type: - object - 'null' required: - strategy description: >- Use metered billing when an exact quantity is unknown. Report usage during a service period and charge customers afterwards. Metered billing plans must be postpaid. properties: strategy: type: string enum: - sum - last x-enumDescriptions: sum: Total amount of reported invoice item quantity usage. last: Last reported invoice item quantity usage. min: description: >- Minimum quantity that is charged at the end of a service period regardless of reported usage. type: - number - 'null' format: float minimum: 0.01 max: description: >- Maximum quantity that is charged at the end of a service period regardless of reported usage. type: - number - 'null' format: float minimum: 0.01 invoiceTimeShift: deprecated: true $ref: '#/components/schemas/InvoiceTimeShift' createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - attachments TrialOnlyPlan: description: |- Details of the trial-only plan. Use this plan for limited-time product trials. Trials may have a reduced fee, or may be free. type: object required: - name - currency - productId - pricing - trial properties: name: description: |- Name of the plan. This name is displayed on invoices and receipts. type: string maxLength: 255 description: type: string description: |- Plain-text description of the plan. This field accepts plain-text only. maxLength: 65535 richDescription: type: string description: >- Rich-text description of the plan. This field accepts rich text formatting, such as: bold, underline, italic, and hyperlinks. maxLength: 65535 productId: type: string description: ID of the related product. maxLength: 50 example: prod_0YV7DES3WPC5J8JD8QTVNZBZNZ productOptions: type: - object - 'null' description: Name-value pairs that specify the product options. additionalProperties: type: string example: color: red size: xxl currency: $ref: '#/components/schemas/CurrencyCode' currencySign: description: Currency sign. readOnly: true type: string pricing: $ref: '#/components/schemas/PlanPriceFormula' setup: $ref: '#/components/schemas/PlanSetup' customFields: $ref: '#/components/schemas/ResourceCustomFields' isActive: type: boolean description: Specifies if the plan is active. default: true revision: type: integer readOnly: true description: >- Number of times the plan is modified. Compare this value with materialized subscription item revision values. isTrialOnly: type: boolean description: >- Specifies if a plan is a trial that does not have recurring instructions. readOnly: true trial: description: Trial configuration settings. $ref: '#/components/schemas/PlanTrial' invoiceTimeShift: description: >- Use invoice time shift to adjust the invoice issue and due date when billing must occur before the service period changes. For example, rent must be paid in advance, so the invoice must be in advance of the billing date. For more information, see [Service period anchor, and billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/concepts/#service-period-anchor-and-billing-timing-and-invoice-time-shift). $ref: '#/components/schemas/InvoiceTimeShift' createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - attachments Plan: allOf: - type: object properties: id: type: string description: ID of the plan. maxLength: 50 example: plan_0YV7DENSVGDBW9S71XZNNYYQ0X readOnly: true - anyOf: - $ref: '#/components/schemas/OneTimeSalePlan' - $ref: '#/components/schemas/SubscriptionPlan' - $ref: '#/components/schemas/TrialOnlyPlan' Product: type: object required: - name description: >- Products are the items that your business sells. Products include digital goods, services, and physical goods. Products appear on invoice line items. If you set a tax category identifier, taxes are calculated at invoice generation. If the product is shippable, shipping costs are calculated at invoice generation. Pricing and variations are set within plans. For more information, see [Plans](https://www.rebilly.com/docs/dev-docs/api/plans/). properties: id: type: string description: ID of the product. readOnly: true maxLength: 50 example: prod_0YV7DES3WPC5J8JD8QTVNZBZNZ name: description: Name of the product. type: string maxLength: 255 example: Premium membership unitLabel: description: Unit label, such as per `seat` or per `unit`. type: string maxLength: 50 example: seat default: unit description: description: Description of the product. type: - string - 'null' maxLength: 512 requiresShipping: description: |- Specifies if the product requires shipping. If this value is `true`, shipping calculations are applied. type: boolean example: false default: false options: description: >- Product options such as color, size, and so forth. Product option values are defined in plans. For more information, see [Plans](https://www.rebilly.com/docs/dev-docs/api/plans/). type: array items: type: string taxCategoryId: description: >- Tax category of the product. For a complete list of supported tax categories, see [TaxJar sales tax API reference](https://developers.taxjar.com/api/reference/#get-list-tax-categories). If none of the tax categories from the list are applicable for your product, use the general tax category `00000`. type: - string - 'null' example: '00000' accountingCode: description: Accounting code of the product. type: - string - 'null' example: '4010' recognition: type: - object - 'null' properties: debitAccountId: description: ID of the debit journal account. type: - string - 'null' creditAccountId: description: ID of the credit journal account. type: - string - 'null' customFields: $ref: '#/components/schemas/ResourceCustomFields' createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' OriginalPlan: type: object description: >- Use an existing plan without changes for the current order. To create a new plan, see [Create a plan](https://www.rebilly.com/catalog/all/plans/postplan). required: - id properties: id: description: ID of the plan. $ref: '#/components/schemas/ResourceId' FlexiblePlan: allOf: - type: object required: - id properties: id: type: string description: ID of the plan. maxLength: 50 example: plan_0YV7DENSVGDBW9S71XZNNYYQ0X - anyOf: - $ref: '#/components/schemas/OneTimeSalePlan' - $ref: '#/components/schemas/SubscriptionPlan' - $ref: '#/components/schemas/TrialOnlyPlan' QuoteCreateOrder: type: object title: QuoteCreateOrder required: - websiteId - customerId - items - action properties: id: readOnly: true description: ID of the quote. type: string maxLength: 50 example: qt_01HXBZMEGPETPHJZH6V4RHBMA8 type: description: |- Specifies the type of the quote. A quote can be a subscription or a one-time purchase. type: string readOnly: true enum: - subscription-order - one-time-order action: description: >- Action of the quote. When a quote is accepted, a new order is created. The `subscriptionId` value is filled with a new generated value from the order. type: string enum: - create example: create acceptanceConditions: type: array writeOnly: true description: >- Conditions that must be met for the quote to be automatically accepted. items: type: string enum: - customer - payment x-enumDescriptions: customer: Quote can be accepted by customer. payment: Related invoice must be paid in full. example: - payment default: - customer acceptanceFulfillment: type: array readOnly: true description: List of `acceptanceConditions` with fulfillment status. items: type: object properties: condition: type: string enum: - customer - payment - organization isFulfilled: type: boolean subscriptionId: description: ID of the related subscription or one-time purchase. readOnly: true type: - string - 'null' maxLength: 50 invoiceId: type: string description: ID of the payment invoice. readOnly: true maxLength: 50 example: in_0YVF9605RKC62BP14NE2R7V2XT status: description: Status of the quote. type: string readOnly: true enum: - draft - issued - accepted - rejected - canceled - expired x-enumDescriptions: draft: Quote can be edited. This quote cannot be sent to a customer. issued: Quote cannot be edited. This quote can be sent to a customer. accepted: Customer accepted the quote and created an order. rejected: Customer rejected the quote. canceled: Organization canceled the quote. expired: Expired before customer or organization interaction. websiteId: $ref: '#/components/schemas/WebsiteId' customerId: $ref: '#/components/schemas/CustomerId' items: type: array description: Items included in the quote. minItems: 1 items: type: object required: - plan - quantity properties: id: description: ID of the quote item. readOnly: true type: string example: qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY quantity: description: Number of product units in the specified plan. type: integer minimum: 1 plan: description: Plan details. oneOf: - $ref: '#/components/schemas/OriginalPlan' - $ref: '#/components/schemas/FlexiblePlan' description: type: string description: Description of the quote item. example: Charge per approved transaction with DCC default: '' maxLength: 255 priceDescription: type: string description: |- Price description of the quote item. This value is only used for metered billing items. example: 50% of the markup for approved transactions default: '' maxLength: 255 usageLimits: type: - object - 'null' default: null description: >- Specifies the soft and hard usage limit thresholds for an item with a metered billing plan. This value is ignored when the plan is not metered. properties: softLimit: type: object description: >- Defines thresholds for notification purposes. For example, to notify the customer that their usage is near the hard limit of their metered billing plan. This notification informs the customer so that they can upgrade their plan before the hard limit is reached. When the reported usage reaches 75%, 90%, and 100% of the configured limit a specific event is fired. To notify the customer, a webhook and notification can be configured for this event. This field is useful for accounting and customer success purposes. The usage of metered billing plans can still be reported if the soft limit is reached. minProperties: 1 maxProperties: 1 properties: quantity: type: integer description: Usage limit quantity. minimum: 1 amount: type: number format: double description: Usage limit amount in the currency of the order. minimum: 0.01 hardLimit: type: object description: >- Defines a limit where the customer can no longer use the service. Hard limits are used in addition to soft limits. When a soft limit is reached, a customer may receive a notification but the service can still be provided up to the hard limit value so that the customer can upgrade their plan. When the reported usage reaches the configured limit, a specific event is triggered. To notify the customer in the merchant system, or block a service, a webhook and notification can be configured for this event. When the total usage reaches the hard limit quantity, or amount values, metered billing plan usages can no longer be reported. minProperties: 1 maxProperties: 1 properties: quantity: type: integer description: Usage limit quantity. minimum: 1 amount: type: number format: double description: Usage limit amount in the currency of the order. minimum: 0.01 createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _embedded: type: object description: >- Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: product: type: object deliveryAddress: description: Delivery address of the order. oneOf: - $ref: '#/components/schemas/ContactObject' - type: 'null' billingAddress: description: Billing address of the order. oneOf: - $ref: '#/components/schemas/ContactObject' - type: 'null' invoicePreview: type: object description: Preview of the quote invoice. readOnly: true properties: currency: description: Currency of the invoice. $ref: '#/components/schemas/CurrencyCode' initialAmounts: type: object description: Total amounts of the initial invoice. properties: amount: description: Amount of the invoice. type: number x-type: Money format: double subtotalAmount: description: Subtotal amount of the invoice. type: number x-type: Money format: double discountAmount: description: Discount amount that is applied to the invoice. type: number x-type: Money format: double shippingAmount: description: Shipping amount that is applied to the invoice. type: number x-type: Money format: double taxAmount: description: Tax amount that is applied to the invoice. type: number x-type: Money format: double recurringAmounts: type: - object - 'null' description: >- Total amounts of the recurring invoice. This includes recurring items only. If the quote does not have recurring items, the value of this field is `null`. properties: amount: description: Amount of the invoice. type: number x-type: Money format: double subtotalAmount: description: Subtotal amount of the invoice. type: number x-type: Money format: double discountAmount: description: Discount amount that is applied to the invoice. type: number x-type: Money format: double shippingAmount: description: Shipping amount that is applied to the invoice. type: number x-type: Money format: double taxAmount: description: Tax amount that is applied to the invoice. type: number x-type: Money format: double items: type: array description: Invoice items. items: type: object properties: quoteItemId: description: ID of the related quote item. type: string example: qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY type: type: string description: Type of the invoice item. x-basic: true enum: - debit - credit name: description: Name of the invoice item. type: string maxLength: 1000 description: description: Description of the invoice item. type: string example: Charge per approved transaction with DCC maxLength: 255 priceDescription: type: string description: Price description of the invoice item. example: 50% of the markup for approved transactions maxLength: 255 unitPrice: description: Unit price of the invoice item. type: - number - 'null' format: double quantity: description: Quantity of the invoice item. type: integer period: description: Date interval of the invoice item. type: - string - 'null' setupUnitPrice: description: Unit price of the invoice item. type: - number - 'null' format: double trialUnitPrice: description: Unit price of the invoice item. type: - number - 'null' format: double trialPeriod: description: Date interval of the invoice item trial. type: - string - 'null' taxAmount: description: Tax amount of the invoice item. type: - number - 'null' format: double setupTaxAmount: description: Tax amount of the setup that is applied to the invoice. type: - number - 'null' format: double trialTaxAmount: description: Tax amount of the trial that is applied to the invoice. type: - number - 'null' format: double autopay: type: boolean default: false description: >- Specifies if payment attempts for the related subscription are made automatically. If autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`, or the default payment instrument on the subscription. paymentTerms: description: Payment terms for the customer which are displayed on the quote. type: string expirationTime: description: >- Date and time when the quote expires. The default expiration time is one month from the time the quote is issued. In a `draft` state, this field may be `null`. type: - string - 'null' format: date-time issuedTime: description: Date and time when the quote is issued. type: - string - 'null' readOnly: true format: date-time acceptedTime: description: Date and time when the quote is accepted. type: - string - 'null' readOnly: true format: date-time rejectedTime: description: Date and time when the quote is rejected. type: - string - 'null' readOnly: true format: date-time canceledTime: description: Date and time when the quote is canceled. type: - string - 'null' readOnly: true format: date-time redirectUrl: description: |- URL to redirect the customer to when a quote is rejected. The default value is the website URL. type: string format: uri signature: type: object description: Written signature and printed organization name. properties: showWrittenSignatureLines: type: boolean default: false description: Specifies whether to show written signature lines. organizationPrintedName: type: - string - 'null' description: Printed name of the organization. default: null shipping: $ref: '#/components/schemas/Shipping' tax: $ref: '#/components/schemas/Taxes' couponIds: type: - array - 'null' description: >- List of coupons to redeem on the customer and apply to the related invoice. For more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/). items: type: string description: Coupon ID. _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: >- Type of link. If the quote is issued, a customer can be redirected to the `invoicePaymentFormUrl` value to pay the related invoice using one of the methods which are available to the customer. type: string enum: - self - quoteAcceptanceFormUrl - invoicePaymentFormUrl _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: customer: type: object website: type: object subscription: type: object invoice: type: object QuoteChangeOrder: type: object title: QuoteChangeOrder required: - websiteId - customerId - items - action - subscriptionId properties: id: readOnly: true description: ID of the quote. type: string maxLength: 50 example: qt_01HXBZMEGPETPHJZH6V4RHBMA8 type: description: |- Specifies the type of the quote. A quote can be a subscription or a one-time purchase. type: string readOnly: true enum: - subscription-order - one-time-order action: description: >- Action of the quote for change order items. When a quote is accepted, quote items are applied to the related order. type: string enum: - change example: change acceptanceConditions: type: array writeOnly: true description: >- Conditions that must be met for the quote to be automatically accepted. items: type: string enum: - customer - payment x-enumDescriptions: customer: Quote can be accepted by customer. payment: Related invoice must be paid in full. example: - payment default: - customer acceptanceFulfillment: type: array readOnly: true description: List of `acceptanceConditions` with fulfillment status. items: type: object properties: condition: type: string enum: - customer - payment - organization isFulfilled: type: boolean subscriptionId: description: ID of the related subscription. type: string maxLength: 50 example: sub_01HRF27SATGE4Z6PBJE6PD8328 invoiceId: type: string description: ID of the payment invoice. readOnly: true maxLength: 50 example: in_0YVF9605RKC62BP14NE2R7V2XT status: description: Status of the quote. type: string readOnly: true enum: - draft - issued - accepted - rejected - canceled - expired x-enumDescriptions: draft: Quote can be edited. This quote cannot be sent to a customer. issued: Quote cannot be edited. This quote can be sent to a customer. accepted: >- Customer accepted the quote and the related order item changes are applied. rejected: Customer rejected the quote. canceled: Organization canceled the quote. expired: Expired before customer or organization interaction. websiteId: $ref: '#/components/schemas/WebsiteId' customerId: $ref: '#/components/schemas/CustomerId' items: type: array description: Items included in the quote. minItems: 1 items: type: object required: - plan - quantity properties: id: description: ID of the quote item. readOnly: true type: string example: qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY quantity: description: Number of product units in the specified plan. type: integer minimum: 1 plan: description: Plan details. oneOf: - $ref: '#/components/schemas/OriginalPlan' - $ref: '#/components/schemas/FlexiblePlan' description: type: string description: Description of the quote item. example: Charge per approved transaction with DCC default: '' maxLength: 255 priceDescription: type: string description: |- Price description of the quote item. This value is only used for metered billing items. example: 50% of the markup for approved transactions default: '' maxLength: 255 usageLimits: type: - object - 'null' default: null description: >- Specifies the soft and hard usage limit thresholds for an item with a metered billing plan. This value is ignored when the plan is not metered. properties: softLimit: type: object description: >- Defines thresholds for notification purposes. For example, to notify the customer that their usage is near the hard limit of their metered billing plan. This notification informs the customer so that they can upgrade their plan before the hard limit is reached. When the reported usage reaches 75%, 90%, and 100% of the configured limit a specific event is fired. To notify the customer, a webhook and notification can be configured for this event. This field is useful for accounting and customer success purposes. The usage of metered billing plans can still be reported if the soft limit is reached. minProperties: 1 maxProperties: 1 properties: quantity: type: integer description: Usage limit quantity. minimum: 1 amount: type: number format: double description: Usage limit amount in the currency of the order. minimum: 0.01 hardLimit: type: object description: >- Defines a limit where the customer can no longer use the service. Hard limits are used in addition to soft limits. When a soft limit is reached, a customer may receive a notification but the service can still be provided up to the hard limit value so that the customer can upgrade their plan. When the reported usage reaches the configured limit, a specific event is triggered. To notify the customer in the merchant system, or block a service, a webhook and notification can be configured for this event. When the total usage reaches the hard limit quantity, or amount values, metered billing plan usages can no longer be reported. minProperties: 1 maxProperties: 1 properties: quantity: type: integer description: Usage limit quantity. minimum: 1 amount: type: number format: double description: Usage limit amount in the currency of the order. minimum: 0.01 createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _embedded: type: object description: >- Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: product: type: object renewalPolicy: description: >- Specifies if the subscription retains its current `renewalTime` or resets it to a newly calculated `renewalTime`. type: string enum: - reset - retain prorated: description: >- Specifies whether to give a pro rata credit for the amount of time remaining between the `effectiveTime` and the end of the current period. In addition, if the `renewalTime` is retained, by setting the `renewalPolicy` to `retain`, a pro rata debit occurs for the amount between the `effectiveTime` and the `renewalTime` as a percentage of the normal period length. type: boolean effectiveTime: description: >- Date from which the renewal time for `reset` operations and proration calculations are made. If this field is omitted, this value defaults to the time of quote acceptance. type: - string - 'null' format: date-time keepTrial: description: |- Specifies if the subscription order must retain its active trial. This field is only applicable if `renewalPolicy` is set to `retain`. type: boolean default: false interimOnly: type: boolean default: true description: |- Specifies if the quotation invoice must include interim items only. If this value is set to `false`, all upcoming items are included. usageSettings: type: array default: [] description: Usage settings for items with metered billing. items: type: object properties: planId: type: string description: ID of the plan from which usages are transferred. example: plan_0YV7DENSVGDBW9S71XZNNYYQ0X policy: type: string enum: - reset - transfer description: Policy for removed items that have a metered billing plan. x-enumDescriptions: reset: Delete existing usages. transfer: >- Transfer usages from removed plans to existing plans that are in the same subscription, using the `transferTo` field. transferTo: type: - string - 'null' default: null description: >- ID of the plan to which usages are transferred. If an item with a specified plan does not exist, or does not have a metered billing plan, this transfer is ignored. example: plan_0YV7DENSVGDBW9S71XZNNYYQ0X invoicePreview: type: object description: Preview of the quote invoice. readOnly: true properties: currency: description: Currency of the invoice. $ref: '#/components/schemas/CurrencyCode' initialAmounts: type: object description: Total amounts of the initial invoice. properties: amount: description: Amount of the invoice. type: number x-type: Money format: double subtotalAmount: description: Subtotal amount of the invoice. type: number x-type: Money format: double discountAmount: description: Discount amount that is applied to the invoice. type: number x-type: Money format: double shippingAmount: description: Shipping amount that is applied to the invoice. type: number x-type: Money format: double taxAmount: description: Tax amount that is applied to the invoice. type: number x-type: Money format: double recurringAmounts: type: - object - 'null' description: >- Total amounts of the recurring invoice. This includes recurring items only. If the quote does not have recurring items, the value of this field is `null`. properties: amount: description: Amount of the invoice. type: number x-type: Money format: double subtotalAmount: description: Subtotal amount of the invoice. type: number x-type: Money format: double discountAmount: description: Discount amount that is applied to the invoice. type: number x-type: Money format: double shippingAmount: description: Shipping amount that is applied to the invoice. type: number x-type: Money format: double taxAmount: description: Tax amount that is applied to the invoice. type: number x-type: Money format: double items: type: array description: Invoice items. items: type: object properties: quoteItemId: description: ID of the related quote item. type: string example: qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY type: type: string description: Type of the invoice item. x-basic: true enum: - debit - credit name: description: Name of the invoice item. type: string maxLength: 1000 description: description: Description of the invoice item. type: string example: Charge per approved transaction with DCC maxLength: 255 priceDescription: type: string description: Price description of the invoice item. example: 50% of the markup for approved transactions maxLength: 255 unitPrice: description: Unit price of the invoice item. type: - number - 'null' format: double quantity: description: Quantity of the invoice item. type: integer period: description: Date interval of the invoice item. type: - string - 'null' setupUnitPrice: description: Unit price of the invoice item. type: - number - 'null' format: double trialUnitPrice: description: Unit price of the invoice item. type: - number - 'null' format: double trialPeriod: description: Date interval of the invoice item trial. type: - string - 'null' taxAmount: description: Tax amount of the invoice item. type: - number - 'null' format: double setupTaxAmount: description: Tax amount of the setup that is applied to the invoice. type: - number - 'null' format: double trialTaxAmount: description: Tax amount of the trial that is applied to the invoice. type: - number - 'null' format: double autopay: type: - boolean - 'null' description: >- Specifies if payment attempts for the related subscription are made automatically. If autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`, or the default payment instrument on the subscription. paymentTerms: description: Payment terms for the customer which are displayed on the quote. type: string expirationTime: description: >- Date and time when the quote expires. The default expiration time is one month from the time the quote is issued. In a `draft` state, this field may be `null`. type: - string - 'null' format: date-time issuedTime: description: Date and time when the quote is issued. type: - string - 'null' readOnly: true format: date-time acceptedTime: description: Date and time when the quote is accepted. type: - string - 'null' readOnly: true format: date-time rejectedTime: description: Date and time when the quote is rejected. type: - string - 'null' readOnly: true format: date-time canceledTime: description: Date and time when the quote is canceled. type: - string - 'null' readOnly: true format: date-time redirectUrl: description: |- URL to redirect the customer to when a quote is rejected. The default value is the website URL. type: string format: uri signature: type: object description: Written signature and printed organization name. properties: showWrittenSignatureLines: type: boolean default: false description: Specifies whether to show written signature lines. organizationPrintedName: type: - string - 'null' description: Printed name of the organization. default: null shipping: $ref: '#/components/schemas/Shipping' tax: $ref: '#/components/schemas/Taxes' couponIds: type: - array - 'null' description: >- List of coupons to redeem on the customer and apply to the related invoice. For more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/). items: type: string description: Coupon ID. _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: >- Type of link. If the quote is issued, a customer can be redirected to the `invoicePaymentFormUrl` value to pay the related invoice using one of the methods which are available to the customer. type: string enum: - self - quoteAcceptanceFormUrl - invoicePaymentFormUrl _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: customer: type: object website: type: object subscription: type: object invoice: type: object QuoteReactivateOrder: type: object title: QuoteReactivateOrder required: - websiteId - customerId - items - action - subscriptionId properties: id: readOnly: true description: ID of the quote. type: string maxLength: 50 example: qt_01HXBZMEGPETPHJZH6V4RHBMA8 type: description: |- Specifies the type of the quote. A quote can be a subscription or a one-time purchase. type: string readOnly: true enum: - subscription-order - one-time-order action: description: >- Action of the quote for churned or canceled order reactivation. When a quote is accepted, quote items are applied to the order and order is reactivated. type: string enum: - reactivate example: reactivate acceptanceConditions: type: array writeOnly: true description: >- Conditions that must be met for the quote to be automatically accepted. items: type: string enum: - customer - payment x-enumDescriptions: customer: Quote can be accepted by customer. payment: Related invoice must be paid in full. example: - payment default: - customer acceptanceFulfillment: type: array readOnly: true description: List of `acceptanceConditions` with fulfillment status. items: type: object properties: condition: type: string enum: - customer - payment - organization isFulfilled: type: boolean subscriptionId: description: ID of the related subscription. type: string maxLength: 50 example: sub_01HRF27SATGE4Z6PBJE6PD8328 invoiceId: type: string description: ID of the payment invoice. readOnly: true maxLength: 50 example: in_0YVF9605RKC62BP14NE2R7V2XT status: description: Status of the quote. type: string readOnly: true enum: - draft - issued - accepted - rejected - canceled - expired x-enumDescriptions: draft: Quote can be edited. This quote cannot be sent to a customer. issued: Quote cannot be edited. This quote can be sent to a customer. accepted: Customer accepted the quote and the related order is reactivated. rejected: Customer rejected the quote. canceled: Organization canceled the quote. expired: Expired before customer or organization interaction. websiteId: $ref: '#/components/schemas/WebsiteId' customerId: $ref: '#/components/schemas/CustomerId' items: type: array description: Items included in the quote. minItems: 1 items: type: object required: - plan - quantity properties: id: description: ID of the quote item. readOnly: true type: string example: qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY quantity: description: Number of product units in the specified plan. type: integer minimum: 1 plan: description: Plan details. oneOf: - $ref: '#/components/schemas/OriginalPlan' - $ref: '#/components/schemas/FlexiblePlan' description: type: string description: Description of the quote item. example: Charge per approved transaction with DCC default: '' maxLength: 255 priceDescription: type: string description: |- Price description of the quote item. This value is only used for metered billing items. example: 50% of the markup for approved transactions default: '' maxLength: 255 usageLimits: type: - object - 'null' default: null description: >- Specifies the soft and hard usage limit thresholds for an item with a metered billing plan. This value is ignored when the plan is not metered. properties: softLimit: type: object description: >- Defines thresholds for notification purposes. For example, to notify the customer that their usage is near the hard limit of their metered billing plan. This notification informs the customer so that they can upgrade their plan before the hard limit is reached. When the reported usage reaches 75%, 90%, and 100% of the configured limit a specific event is fired. To notify the customer, a webhook and notification can be configured for this event. This field is useful for accounting and customer success purposes. The usage of metered billing plans can still be reported if the soft limit is reached. minProperties: 1 maxProperties: 1 properties: quantity: type: integer description: Usage limit quantity. minimum: 1 amount: type: number format: double description: Usage limit amount in the currency of the order. minimum: 0.01 hardLimit: type: object description: >- Defines a limit where the customer can no longer use the service. Hard limits are used in addition to soft limits. When a soft limit is reached, a customer may receive a notification but the service can still be provided up to the hard limit value so that the customer can upgrade their plan. When the reported usage reaches the configured limit, a specific event is triggered. To notify the customer in the merchant system, or block a service, a webhook and notification can be configured for this event. When the total usage reaches the hard limit quantity, or amount values, metered billing plan usages can no longer be reported. minProperties: 1 maxProperties: 1 properties: quantity: type: integer description: Usage limit quantity. minimum: 1 amount: type: number format: double description: Usage limit amount in the currency of the order. minimum: 0.01 createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _embedded: type: object description: >- Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: product: type: object effectiveTime: description: |- Date and time when the service period starts, unless the subscription is canceled but still active. If the subscription is still active, the subscription continues for the current service period. If this field is omitted, this value defaults to the current time. type: - string - 'null' format: date-time renewalTime: description: >- Date and time of the next subscription renewal. If this field is omitted, this value is computed from the `effectiveTime` field. If the subscription is canceled but still active, it is ignored and the next renewal occurs as scheduled. type: - string - 'null' format: date-time paymentInstrumentId: description: >- ID of the payment instrument. If this field is omitted, the subscription payment instrument remains unchanged. type: - string - 'null' maxLength: 50 example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21 invoicePreview: type: object description: Preview of the quote invoice. readOnly: true properties: currency: description: Currency of the invoice. $ref: '#/components/schemas/CurrencyCode' initialAmounts: type: object description: Total amounts of the initial invoice. properties: amount: description: Amount of the invoice. type: number x-type: Money format: double subtotalAmount: description: Subtotal amount of the invoice. type: number x-type: Money format: double discountAmount: description: Discount amount that is applied to the invoice. type: number x-type: Money format: double shippingAmount: description: Shipping amount that is applied to the invoice. type: number x-type: Money format: double taxAmount: description: Tax amount that is applied to the invoice. type: number x-type: Money format: double recurringAmounts: type: - object - 'null' description: >- Total amounts of the recurring invoice. This includes recurring items only. If the quote does not have recurring items, the value of this field is `null`. properties: amount: description: Amount of the invoice. type: number x-type: Money format: double subtotalAmount: description: Subtotal amount of the invoice. type: number x-type: Money format: double discountAmount: description: Discount amount that is applied to the invoice. type: number x-type: Money format: double shippingAmount: description: Shipping amount that is applied to the invoice. type: number x-type: Money format: double taxAmount: description: Tax amount that is applied to the invoice. type: number x-type: Money format: double items: type: array description: Invoice items. items: type: object properties: quoteItemId: description: ID of the related quote item. type: string example: qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY type: type: string description: Type of the invoice item. x-basic: true enum: - debit - credit name: description: Name of the invoice item. type: string maxLength: 1000 description: description: Description of the invoice item. type: string example: Charge per approved transaction with DCC maxLength: 255 priceDescription: type: string description: Price description of the invoice item. example: 50% of the markup for approved transactions maxLength: 255 unitPrice: description: Unit price of the invoice item. type: - number - 'null' format: double quantity: description: Quantity of the invoice item. type: integer period: description: Date interval of the invoice item. type: - string - 'null' setupUnitPrice: description: Unit price of the invoice item. type: - number - 'null' format: double trialUnitPrice: description: Unit price of the invoice item. type: - number - 'null' format: double trialPeriod: description: Date interval of the invoice item trial. type: - string - 'null' taxAmount: description: Tax amount of the invoice item. type: - number - 'null' format: double setupTaxAmount: description: Tax amount of the setup that is applied to the invoice. type: - number - 'null' format: double trialTaxAmount: description: Tax amount of the trial that is applied to the invoice. type: - number - 'null' format: double autopay: type: - boolean - 'null' description: >- Specifies if payment attempts for the related subscription are made automatically. If autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`, or the default payment instrument on the subscription. paymentTerms: description: Payment terms for the customer which are displayed on the quote. type: string expirationTime: description: >- Date and time when the quote expires. The default expiration time is one month from the time the quote is issued. In a `draft` state, this field may be `null`. type: - string - 'null' format: date-time issuedTime: description: Date and time when the quote is issued. type: - string - 'null' readOnly: true format: date-time acceptedTime: description: Date and time when the quote is accepted. type: - string - 'null' readOnly: true format: date-time rejectedTime: description: Date and time when the quote is rejected. type: - string - 'null' readOnly: true format: date-time canceledTime: description: Date and time when the quote is canceled. type: - string - 'null' readOnly: true format: date-time redirectUrl: description: |- URL to redirect the customer to when a quote is rejected. The default value is the website URL. type: string format: uri signature: type: object description: Written signature and printed organization name. properties: showWrittenSignatureLines: type: boolean default: false description: Specifies whether to show written signature lines. organizationPrintedName: type: - string - 'null' description: Printed name of the organization. default: null shipping: $ref: '#/components/schemas/Shipping' tax: $ref: '#/components/schemas/Taxes' couponIds: type: - array - 'null' description: >- List of coupons to redeem on the customer and apply to the related invoice. For more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/). items: type: string description: Coupon ID. _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: >- Type of link. If the quote is issued, a customer can be redirected to the `invoicePaymentFormUrl` value to pay the related invoice using one of the methods which are available to the customer. type: string enum: - self - quoteAcceptanceFormUrl - invoicePaymentFormUrl _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: customer: type: object website: type: object subscription: type: object invoice: type: object QuoteTrialConversionOrder: type: object title: QuoteTrialConversionOrder required: - websiteId - customerId - items - action - subscriptionId properties: id: readOnly: true description: ID of the quote. type: string maxLength: 50 example: qt_01HXBZMEGPETPHJZH6V4RHBMA8 type: description: |- Specifies the type of the quote. A quote can be a subscription or a one-time purchase. type: string readOnly: true enum: - subscription-order - one-time-order action: description: |- Action of the quote for an ended trial-only subscription. When a quote is accepted, the related order is activated. type: string enum: - trial-only-conversion example: trial-only-conversion acceptanceConditions: type: array writeOnly: true description: >- Conditions that must be met for the quote to be automatically accepted. items: type: string enum: - customer - payment x-enumDescriptions: customer: Quote can be accepted by customer. payment: Related invoice must be paid in full. example: - payment default: - customer acceptanceFulfillment: type: array readOnly: true description: List of `acceptanceConditions` with fulfillment status. items: type: object properties: condition: type: string enum: - customer - payment - organization isFulfilled: type: boolean subscriptionId: description: ID of the related order. type: string maxLength: 50 invoiceId: type: string description: ID of the payment invoice. readOnly: true maxLength: 50 example: in_0YVF9605RKC62BP14NE2R7V2XT status: description: Status of the quote. type: string readOnly: true enum: - draft - issued - accepted - rejected - canceled - expired x-enumDescriptions: draft: Quote can be edited. This quote cannot be sent to a customer. issued: Quote cannot be edited. This quote can be sent to a customer. accepted: >- Customer accepted the quote and the related order item changes are applied. rejected: Customer rejected the quote. canceled: Organization canceled the quote. expired: Expired before customer or organization interaction. websiteId: $ref: '#/components/schemas/WebsiteId' customerId: $ref: '#/components/schemas/CustomerId' items: type: array description: Items included in the quote. minItems: 1 items: type: object required: - plan - quantity properties: id: description: ID of the quote item. readOnly: true type: string example: qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY quantity: description: Number of product units in the specified plan. type: integer minimum: 1 plan: description: Plan details. oneOf: - $ref: '#/components/schemas/OriginalPlan' - $ref: '#/components/schemas/FlexiblePlan' description: type: string description: Description of the quote item. example: Charge per approved transaction with DCC default: '' maxLength: 255 priceDescription: type: string description: |- Price description of the quote item. This value is only used for metered billing items. example: 50% of the markup for approved transactions default: '' maxLength: 255 usageLimits: type: - object - 'null' default: null description: >- Specifies the soft and hard usage limit thresholds for an item with a metered billing plan. This value is ignored when the plan is not metered. properties: softLimit: type: object description: >- Defines thresholds for notification purposes. For example, to notify the customer that their usage is near the hard limit of their metered billing plan. This notification informs the customer so that they can upgrade their plan before the hard limit is reached. When the reported usage reaches 75%, 90%, and 100% of the configured limit a specific event is fired. To notify the customer, a webhook and notification can be configured for this event. This field is useful for accounting and customer success purposes. The usage of metered billing plans can still be reported if the soft limit is reached. minProperties: 1 maxProperties: 1 properties: quantity: type: integer description: Usage limit quantity. minimum: 1 amount: type: number format: double description: Usage limit amount in the currency of the order. minimum: 0.01 hardLimit: type: object description: >- Defines a limit where the customer can no longer use the service. Hard limits are used in addition to soft limits. When a soft limit is reached, a customer may receive a notification but the service can still be provided up to the hard limit value so that the customer can upgrade their plan. When the reported usage reaches the configured limit, a specific event is triggered. To notify the customer in the merchant system, or block a service, a webhook and notification can be configured for this event. When the total usage reaches the hard limit quantity, or amount values, metered billing plan usages can no longer be reported. minProperties: 1 maxProperties: 1 properties: quantity: type: integer description: Usage limit quantity. minimum: 1 amount: type: number format: double description: Usage limit amount in the currency of the order. minimum: 0.01 createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _embedded: type: object description: >- Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: product: type: object invoicePreview: type: object description: Preview of the quote invoice. readOnly: true properties: currency: description: Currency of the invoice. $ref: '#/components/schemas/CurrencyCode' initialAmounts: type: object description: Total amounts of the initial invoice. properties: amount: description: Amount of the invoice. type: number x-type: Money format: double subtotalAmount: description: Subtotal amount of the invoice. type: number x-type: Money format: double discountAmount: description: Discount amount that is applied to the invoice. type: number x-type: Money format: double shippingAmount: description: Shipping amount that is applied to the invoice. type: number x-type: Money format: double taxAmount: description: Tax amount that is applied to the invoice. type: number x-type: Money format: double recurringAmounts: type: - object - 'null' description: >- Total amounts of the recurring invoice. This includes recurring items only. If the quote does not have recurring items, the value of this field is `null`. properties: amount: description: Amount of the invoice. type: number x-type: Money format: double subtotalAmount: description: Subtotal amount of the invoice. type: number x-type: Money format: double discountAmount: description: Discount amount that is applied to the invoice. type: number x-type: Money format: double shippingAmount: description: Shipping amount that is applied to the invoice. type: number x-type: Money format: double taxAmount: description: Tax amount that is applied to the invoice. type: number x-type: Money format: double items: type: array description: Invoice items. items: type: object properties: quoteItemId: description: ID of the related quote item. type: string example: qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY type: type: string description: Type of the invoice item. x-basic: true enum: - debit - credit name: description: Name of the invoice item. type: string maxLength: 1000 description: description: Description of the invoice item. type: string example: Charge per approved transaction with DCC maxLength: 255 priceDescription: type: string description: Price description of the invoice item. example: 50% of the markup for approved transactions maxLength: 255 unitPrice: description: Unit price of the invoice item. type: - number - 'null' format: double quantity: description: Quantity of the invoice item. type: integer period: description: Date interval of the invoice item. type: - string - 'null' setupUnitPrice: description: Unit price of the invoice item. type: - number - 'null' format: double trialUnitPrice: description: Unit price of the invoice item. type: - number - 'null' format: double trialPeriod: description: Date interval of the invoice item trial. type: - string - 'null' taxAmount: description: Tax amount of the invoice item. type: - number - 'null' format: double setupTaxAmount: description: Tax amount of the setup that is applied to the invoice. type: - number - 'null' format: double trialTaxAmount: description: Tax amount of the trial that is applied to the invoice. type: - number - 'null' format: double autopay: type: - boolean - 'null' description: >- Specifies if payment attempts for the related subscription are made automatically. If autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`, or the default payment instrument on the subscription. paymentTerms: description: Payment terms for the customer which are displayed on the quote. type: string expirationTime: description: >- Date and time when the quote expires. The default expiration time is one month from the time the quote is issued. In a `draft` state, this field may be `null`. type: - string - 'null' format: date-time issuedTime: description: Date and time when the quote is issued. type: - string - 'null' readOnly: true format: date-time acceptedTime: description: Date and time when the quote is accepted. type: - string - 'null' readOnly: true format: date-time rejectedTime: description: Date and time when the quote is rejected. type: - string - 'null' readOnly: true format: date-time canceledTime: description: Date and time when the quote is canceled. type: - string - 'null' readOnly: true format: date-time redirectUrl: description: |- URL to redirect the customer to when a quote is rejected. The default value is the website URL. type: string format: uri signature: type: object description: Written signature and printed organization name. properties: showWrittenSignatureLines: type: boolean default: false description: Specifies whether to show written signature lines. organizationPrintedName: type: - string - 'null' description: Printed name of the organization. default: null shipping: $ref: '#/components/schemas/Shipping' tax: $ref: '#/components/schemas/Taxes' couponIds: type: - array - 'null' description: >- List of coupons to redeem on the customer and apply to the related invoice. For more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/). items: type: string description: Coupon ID. _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: >- Type of link. If the quote is issued, a customer can be redirected to the `invoicePaymentFormUrl` value to pay the related invoice using one of the methods which are available to the customer. type: string enum: - self - quoteAcceptanceFormUrl - invoicePaymentFormUrl _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: customer: type: object website: type: object order: type: object invoice: type: object Quote: discriminator: propertyName: action mapping: create: '#/components/schemas/QuoteCreateOrder' change: '#/components/schemas/QuoteChangeOrder' reactivate: '#/components/schemas/QuoteReactivateOrder' trial-only-conversion: '#/components/schemas/QuoteTrialConversionOrder' oneOf: - $ref: '#/components/schemas/QuoteCreateOrder' - $ref: '#/components/schemas/QuoteChangeOrder' - $ref: '#/components/schemas/QuoteReactivateOrder' - $ref: '#/components/schemas/QuoteTrialConversionOrder' PatchQuote: type: object description: Patch quote object. properties: tax: $ref: '#/components/schemas/Taxes' QuoteTimeline: type: object properties: id: type: string description: ID of the timeline message. readOnly: true maxLength: 50 example: tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC type: description: Type of timeline message. type: string readOnly: true enum: - quote-created - quote-issued - quote-accepted - quote-rejected - quote-canceled - quote-recalled - quote-updated - quote-expired - quote-order-attached triggeredBy: description: Specifies who, or what, triggered the timeline message. type: string readOnly: true enum: - rebilly - app - direct-api message: description: Contents of the timeline message. type: string extraData: $ref: '#/components/schemas/TimelineExtraData' occurredTime: description: Date and time when the timeline message occurred. readOnly: true $ref: '#/components/schemas/ServerTimestamp' _links: $ref: '#/components/schemas/SelfLink' ReadyToPayAmount: type: object title: With amount required: - websiteId - currency - amount - riskMetadata properties: websiteId: $ref: '#/components/schemas/WebsiteId' currency: $ref: '#/components/schemas/CurrencyCode' amount: description: Amount to pay. type: number format: double billingAddress: description: Billing address. writeOnly: true $ref: '#/components/schemas/ContactObject' riskMetadata: $ref: '#/components/schemas/RiskMetadata' ReadyToPayItems: type: object title: With items required: - websiteId - items - riskMetadata properties: websiteId: $ref: '#/components/schemas/WebsiteId' items: type: array minItems: 1 items: type: object required: - planId - quantity properties: planId: type: string description: ID of the plan. maxLength: 50 example: plan_0YV7DENSVGDBW9S71XZNNYYQ0X quantity: description: Number of product units in the specified plan. type: integer billingAddress: description: Billing address. writeOnly: true $ref: '#/components/schemas/ContactObject' riskMetadata: $ref: '#/components/schemas/RiskMetadata' ReadyToPay: type: object oneOf: - $ref: '#/components/schemas/ReadyToPayAmount' - $ref: '#/components/schemas/ReadyToPayItems' PostReadyToPay: allOf: - type: object properties: customerId: $ref: '#/components/schemas/CustomerId' - $ref: '#/components/schemas/ReadyToPay' Country: description: >- ISO 3166 alpha-2 country code. For examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/). type: string pattern: ^[A-Z]{2}$ example: US ApplePayFeature: type: object title: Apple Pay Digital Wallet properties: name: type: string description: Name of the feature. enum: - Apple Pay displayName: description: >- String of 64 or fewer UTF-8 characters containing the canonical name for your store, that is suitable for display. Do not localize the name. type: string example: Test Merchant country: $ref: '#/components/schemas/Country' GooglePayFeature: type: object title: Google Pay Digital Wallet properties: name: type: string description: Name of the feature. enum: - Google Pay merchantName: description: Merchant name in Google Pay. type: string example: Test Merchant merchantOrigin: description: Merchant origin in Google Pay. The fully qualified domain name. type: string example: www.example.com country: $ref: '#/components/schemas/Country' PaymentCardFeature: type: object discriminator: propertyName: name mapping: Apple Pay: '#/components/schemas/ApplePayFeature' Google Pay: '#/components/schemas/GooglePayFeature' oneOf: - $ref: '#/components/schemas/ApplePayFeature' - $ref: '#/components/schemas/GooglePayFeature' ReadyToPayMethodFilters: type: array description: >- For the method to be applicable, one or more of the following filters must match. If no filters are sent, no restrictions are applied. For more information, see [Using filters](https://www.rebilly.com/docs/dev-docs/search-filters). items: type: string ReadyToPayPaymentCardMethod: type: object title: Payment card required: - method properties: method: type: string description: Payment method. enum: - payment-card feature: description: |- Specific feature of this method. For example, a digital wallet. If the method does not have any features, this value is null. oneOf: - $ref: '#/components/schemas/PaymentCardFeature' - type: 'null' brands: type: array description: List of supported brands. minItems: 1 items: $ref: '#/components/schemas/PaymentCardBrand' filters: $ref: '#/components/schemas/ReadyToPayMethodFilters' AchPlaidFeature: type: object title: Plaid required: - name - linkToken - expirationTime properties: name: type: string description: Name of the feature. enum: - Plaid linkToken: type: string description: Plaid `linkToken` for frontend integrations. expirationTime: type: string format: date-time description: Date and time when the `linkToken` expires. ReadyToPayAchMethodFeature: type: object discriminator: propertyName: name mapping: Plaid: '#/components/schemas/AchPlaidFeature' oneOf: - $ref: '#/components/schemas/AchPlaidFeature' ReadyToPayAchMethod: type: object title: ACH required: - method properties: method: type: string description: Payment method. enum: - ach feature: description: |- Specific feature of this method. For example, a digital wallet or a processor. If the method does not have any features, this value is null. oneOf: - $ref: '#/components/schemas/ReadyToPayAchMethodFeature' - type: 'null' filters: $ref: '#/components/schemas/ReadyToPayMethodFilters' ReadyToPayGenericMethod: type: object title: Generic required: - method properties: method: $ref: '#/components/schemas/AlternativePaymentMethods' filters: $ref: '#/components/schemas/ReadyToPayMethodFilters' PayPalBillingAgreementFeature: type: object title: Billing agreement required: - name - paypalMerchantId - paypalClientId - billingAgreementToken - expirationTime properties: name: type: string description: Name of the feature. enum: - PayPal billing agreement paypalMerchantId: type: string description: ID of the PayPal merchant. paypalClientId: type: string description: ID of the PayPal client. billingAgreementToken: type: string description: PayPal billing agreement token. expirationTime: type: string format: date-time description: Date and time when the billing agreement token expires. ReadyToPayPayPalMethodFeature: type: object discriminator: propertyName: name mapping: PayPal billing agreement: '#/components/schemas/PayPalBillingAgreementFeature' oneOf: - $ref: '#/components/schemas/PayPalBillingAgreementFeature' ReadyToPayPayPalMethod: type: object title: PayPal required: - method properties: method: type: string description: Payment method. enum: - paypal feature: description: Specific features of PayPal. oneOf: - $ref: '#/components/schemas/ReadyToPayPayPalMethodFeature' - type: 'null' filters: $ref: '#/components/schemas/ReadyToPayMethodFilters' KlarnaFeature: type: object title: Klarna required: - name - clientToken - sessionId properties: name: type: string description: Name of the feature. enum: - Klarna clientToken: type: string description: Klarna client token. sessionId: type: string description: Klarna session token. ReadyToPayKlarnaMethodFeature: type: object discriminator: propertyName: name mapping: Klarna: '#/components/schemas/KlarnaFeature' oneOf: - $ref: '#/components/schemas/KlarnaFeature' ReadyToPayKlarnaMethod: type: object title: Klarna required: - method properties: method: type: string description: Payment method. enum: - Klarna feature: description: |- Specific feature of this method. For example, a digital wallet or a processor. If the method does not have any features, this value is null. oneOf: - $ref: '#/components/schemas/ReadyToPayKlarnaMethodFeature' - type: 'null' filters: $ref: '#/components/schemas/ReadyToPayMethodFilters' ReadyToPayMethods: type: object discriminator: propertyName: method mapping: payment-card: '#/components/schemas/ReadyToPayPaymentCardMethod' ach: '#/components/schemas/ReadyToPayAchMethod' cash: '#/components/schemas/ReadyToPayGenericMethod' check: '#/components/schemas/ReadyToPayGenericMethod' paypal: '#/components/schemas/ReadyToPayPayPalMethod' AdvCash: '#/components/schemas/ReadyToPayGenericMethod' Alfa-click: '#/components/schemas/ReadyToPayGenericMethod' Alipay: '#/components/schemas/ReadyToPayGenericMethod' AstroPay Card: '#/components/schemas/ReadyToPayGenericMethod' AstroPay-GO: '#/components/schemas/ReadyToPayGenericMethod' BankReferenced: '#/components/schemas/ReadyToPayGenericMethod' bank-transfer: '#/components/schemas/ReadyToPayGenericMethod' bank-transfer-2: '#/components/schemas/ReadyToPayGenericMethod' bank-transfer-3: '#/components/schemas/ReadyToPayGenericMethod' bank-transfer-4: '#/components/schemas/ReadyToPayGenericMethod' bank-transfer-5: '#/components/schemas/ReadyToPayGenericMethod' bank-transfer-6: '#/components/schemas/ReadyToPayGenericMethod' bank-transfer-7: '#/components/schemas/ReadyToPayGenericMethod' bank-transfer-8: '#/components/schemas/ReadyToPayGenericMethod' bank-transfer-9: '#/components/schemas/ReadyToPayGenericMethod' Baloto: '#/components/schemas/ReadyToPayGenericMethod' Beeline: '#/components/schemas/ReadyToPayGenericMethod' Belfius-direct-net: '#/components/schemas/ReadyToPayGenericMethod' bitcoin: '#/components/schemas/ReadyToPayGenericMethod' Bizum: '#/components/schemas/ReadyToPayGenericMethod' Boleto: '#/components/schemas/ReadyToPayGenericMethod' cash-deposit: '#/components/schemas/ReadyToPayGenericMethod' CASHlib: '#/components/schemas/ReadyToPayGenericMethod' CashToCode: '#/components/schemas/ReadyToPayGenericMethod' China UnionPay: '#/components/schemas/ReadyToPayGenericMethod' Cleo: '#/components/schemas/ReadyToPayGenericMethod' CODVoucher: '#/components/schemas/ReadyToPayGenericMethod' Conekta-oxxo: '#/components/schemas/ReadyToPayGenericMethod' Cupon-de-pagos: '#/components/schemas/ReadyToPayGenericMethod' cryptocurrency: '#/components/schemas/ReadyToPayGenericMethod' domestic-cards: '#/components/schemas/ReadyToPayGenericMethod' echeck: '#/components/schemas/ReadyToPayGenericMethod' ecoPayz: '#/components/schemas/ReadyToPayGenericMethod' ecoVoucher: '#/components/schemas/ReadyToPayGenericMethod' Efecty: '#/components/schemas/ReadyToPayGenericMethod' EPS: '#/components/schemas/ReadyToPayGenericMethod' ePay.bg: '#/components/schemas/ReadyToPayGenericMethod' eZeeWallet: '#/components/schemas/ReadyToPayGenericMethod' FasterPay: '#/components/schemas/ReadyToPayGenericMethod' Flexepin: '#/components/schemas/ReadyToPayGenericMethod' Giropay: '#/components/schemas/ReadyToPayGenericMethod' Gpaysafe: '#/components/schemas/ReadyToPayGenericMethod' Google Pay: '#/components/schemas/ReadyToPayGenericMethod' iDebit: '#/components/schemas/ReadyToPayGenericMethod' iDEAL: '#/components/schemas/ReadyToPayGenericMethod' ING-homepay: '#/components/schemas/ReadyToPayGenericMethod' INOVAPAY-pin: '#/components/schemas/ReadyToPayGenericMethod' INOVAPAY-wallet: '#/components/schemas/ReadyToPayGenericMethod' InstaDebit: '#/components/schemas/ReadyToPayGenericMethod' instant-bank-transfer: '#/components/schemas/ReadyToPayGenericMethod' InstantPayments: '#/components/schemas/ReadyToPayGenericMethod' Interac: '#/components/schemas/ReadyToPayGenericMethod' Interac-online: '#/components/schemas/ReadyToPayGenericMethod' Interac-eTransfer: '#/components/schemas/ReadyToPayGenericMethod' invoice: '#/components/schemas/ReadyToPayGenericMethod' iWallet: '#/components/schemas/ReadyToPayGenericMethod' Jeton: '#/components/schemas/ReadyToPayGenericMethod' jpay: '#/components/schemas/ReadyToPayGenericMethod' Khelocard: '#/components/schemas/ReadyToPayGenericMethod' Klarna: '#/components/schemas/ReadyToPayKlarnaMethod' KNOT: '#/components/schemas/ReadyToPayGenericMethod' loonie: '#/components/schemas/ReadyToPayGenericMethod' Matrix: '#/components/schemas/ReadyToPayGenericMethod' MaxiCash: '#/components/schemas/ReadyToPayGenericMethod' Megafon: '#/components/schemas/ReadyToPayGenericMethod' MiFinity-eWallet: '#/components/schemas/ReadyToPayGenericMethod' miscellaneous: '#/components/schemas/ReadyToPayGenericMethod' Bancontact: '#/components/schemas/ReadyToPayGenericMethod' Bancontact-mobile: '#/components/schemas/ReadyToPayGenericMethod' MTS: '#/components/schemas/ReadyToPayGenericMethod' MuchBetter: '#/components/schemas/ReadyToPayGenericMethod' Multibanco: '#/components/schemas/ReadyToPayGenericMethod' Neosurf: '#/components/schemas/ReadyToPayGenericMethod' Netbanking: '#/components/schemas/ReadyToPayGenericMethod' Neteller: '#/components/schemas/ReadyToPayGenericMethod' Nordea-Solo: '#/components/schemas/ReadyToPayGenericMethod' OchaPay: '#/components/schemas/ReadyToPayGenericMethod' online-bank-transfer: '#/components/schemas/ReadyToPayGenericMethod' Onlineueberweisen: '#/components/schemas/ReadyToPayGenericMethod' oriental-wallet: '#/components/schemas/ReadyToPayGenericMethod' OXXO: '#/components/schemas/ReadyToPayGenericMethod' P24: '#/components/schemas/ReadyToPayGenericMethod' Pagadito: '#/components/schemas/ReadyToPayGenericMethod' PagoEffectivo: '#/components/schemas/ReadyToPayGenericMethod' Pagsmile-deposit-express: '#/components/schemas/ReadyToPayGenericMethod' Pagsmile-lottery: '#/components/schemas/ReadyToPayGenericMethod' PayCash: '#/components/schemas/ReadyToPayGenericMethod' Payeer: '#/components/schemas/ReadyToPayGenericMethod' PaymentAsia-crypto: '#/components/schemas/ReadyToPayGenericMethod' Paymero: '#/components/schemas/ReadyToPayGenericMethod' Perfect-money: '#/components/schemas/ReadyToPayGenericMethod' Piastrix: '#/components/schemas/ReadyToPayGenericMethod' plaid-account: '#/components/schemas/ReadyToPayGenericMethod' PayTabs: '#/components/schemas/ReadyToPayGenericMethod' Paysafecard: '#/components/schemas/ReadyToPayGenericMethod' Paysafecash: '#/components/schemas/ReadyToPayGenericMethod' Pay4Fun: '#/components/schemas/ReadyToPayGenericMethod' Paynote: '#/components/schemas/ReadyToPayGenericMethod' PinPay: '#/components/schemas/ReadyToPayGenericMethod' phone: '#/components/schemas/ReadyToPayGenericMethod' PhonePe: '#/components/schemas/ReadyToPayGenericMethod' POLi: '#/components/schemas/ReadyToPayGenericMethod' PostFinance-card: '#/components/schemas/ReadyToPayGenericMethod' PostFinance-e-finance: '#/components/schemas/ReadyToPayGenericMethod' QIWI: '#/components/schemas/ReadyToPayGenericMethod' QPay: '#/components/schemas/ReadyToPayGenericMethod' QQPay: '#/components/schemas/ReadyToPayGenericMethod' rapyd-checkout: '#/components/schemas/ReadyToPayGenericMethod' Resurs: '#/components/schemas/ReadyToPayGenericMethod' SafetyPay: '#/components/schemas/ReadyToPayGenericMethod' SEPA: '#/components/schemas/ReadyToPayGenericMethod' Skrill: '#/components/schemas/ReadyToPayGenericMethod' Skrill Rapid Transfer: '#/components/schemas/ReadyToPayGenericMethod' SMSVoucher: '#/components/schemas/ReadyToPayGenericMethod' Sofort: '#/components/schemas/ReadyToPayGenericMethod' SparkPay: '#/components/schemas/ReadyToPayGenericMethod' swift-dbt: '#/components/schemas/ReadyToPayGenericMethod' Tele2: '#/components/schemas/ReadyToPayGenericMethod' Terminaly-RF: '#/components/schemas/ReadyToPayGenericMethod' ToditoCash-card: '#/components/schemas/ReadyToPayGenericMethod' Trustly: '#/components/schemas/ReadyToPayGenericMethod' UPayCard: '#/components/schemas/ReadyToPayGenericMethod' UPI: '#/components/schemas/ReadyToPayGenericMethod' USD-coin: '#/components/schemas/ReadyToPayGenericMethod' VCreditos: '#/components/schemas/ReadyToPayGenericMethod' VenusPoint: '#/components/schemas/ReadyToPayGenericMethod' voucher: '#/components/schemas/ReadyToPayGenericMethod' voucher-2: '#/components/schemas/ReadyToPayGenericMethod' voucher-3: '#/components/schemas/ReadyToPayGenericMethod' voucher-4: '#/components/schemas/ReadyToPayGenericMethod' Webmoney: '#/components/schemas/ReadyToPayGenericMethod' Webpay: '#/components/schemas/ReadyToPayGenericMethod' Webpay-2: '#/components/schemas/ReadyToPayGenericMethod' Webpay Card: '#/components/schemas/ReadyToPayGenericMethod' WeChat Pay: '#/components/schemas/ReadyToPayGenericMethod' XPay-P2P: '#/components/schemas/ReadyToPayGenericMethod' XPay-QR: '#/components/schemas/ReadyToPayGenericMethod' Yandex-money: '#/components/schemas/ReadyToPayGenericMethod' Zotapay: '#/components/schemas/ReadyToPayGenericMethod' Zimpler: '#/components/schemas/ReadyToPayGenericMethod' anyOf: - $ref: '#/components/schemas/ReadyToPayPaymentCardMethod' - $ref: '#/components/schemas/ReadyToPayAchMethod' - $ref: '#/components/schemas/ReadyToPayGenericMethod' - $ref: '#/components/schemas/ReadyToPayPayPalMethod' - $ref: '#/components/schemas/ReadyToPayKlarnaMethod' SubscriptionOrOneTimeSaleItem: type: object required: - plan properties: id: type: string description: ID of the order item. readOnly: true maxLength: 50 planId: description: ID of the plan. deprecated: true x-basic: true type: string maxLength: 50 example: plan_0YV7DENSVGDBW9S71XZNNYYQ0X quantity: description: Number of product units in the specified plan. type: integer quantityFilled: description: Number of filled product units. type: integer plan: anyOf: - $ref: '#/components/schemas/OriginalPlan' - $ref: '#/components/schemas/FlexiblePlan' usageLimits: type: object description: >- Specifies the soft and hard usage limit thresholds for an item with a metered billing plan. This value is ignored when the plan is not metered. properties: softLimit: type: object description: >- Defines thresholds for notification purposes. For example, to notify the customer that their usage is near the hard limit of their metered billing plan. This notification informs the customer so that they can upgrade their plan before the hard limit is reached. When the reported usage reaches 75%, 90%, and 100% of the configured limit a specific event is fired. To notify the customer, a webhook and notification can be configured for this event. This field is useful for accounting and customer success purposes. The usage of metered billing plans can still be reported if the soft limit is reached. minProperties: 1 maxProperties: 1 properties: quantity: type: integer description: Usage limit quantity. minimum: 1 amount: type: number format: double description: Usage limit amount in the currency of the order. minimum: 0.01 hardLimit: type: object description: >- Defines a limit where the customer can no longer use the service. Hard limits are used in addition to soft limits. When a soft limit is reached, a customer may receive a notification but the service can still be provided up to the hard limit value so that the customer can upgrade their plan. When the reported usage reaches the configured limit, a specific event is triggered. To notify the customer in the merchant system, or block a service, a webhook and notification can be configured for this event. When the total usage reaches the hard limit quantity, or amount values, metered billing plan usages can no longer be reported. minProperties: 1 maxProperties: 1 properties: quantity: type: integer description: Usage limit quantity. minimum: 1 amount: type: number format: double description: Usage limit amount in the currency of the order. minimum: 0.01 revision: type: integer readOnly: true description: >- Revision number that increments with each overriding change to this specific plan item. isModified: type: boolean readOnly: true description: Specifies if the plan information is modified for this subscription. isGrandfathered: type: boolean readOnly: true description: >- Specifies if the current plan revision number is greater than the plan item revision number. _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: product: type: object Subscription: type: object required: - orderType - customerId - websiteId - items properties: id: type: string description: ID of the order. readOnly: true maxLength: 50 example: sub_01HRF27SATGE4Z6PBJE6PD8328 orderType: description: |- Specifies the type of order. An order may be a subscription or a one-time purchase. type: string x-basic: true enum: - subscription-order customerId: $ref: '#/components/schemas/CustomerId' renewalReminderTime: description: Date and time when the renewal reminder event triggers. type: - string - 'null' format: date-time readOnly: true renewalReminderNumber: description: Number of triggered renewal reminder events. type: - integer - 'null' readOnly: true trialReminderTime: description: Date and time when the trial reminder event triggers. type: - string - 'null' format: date-time readOnly: true trialReminderNumber: description: Number of triggered trial reminder events. type: - integer - 'null' readOnly: true abandonReminderTime: description: Date and time when the abandon order reminder event triggers. type: - string - 'null' format: date-time readOnly: true abandonReminderNumber: description: Number of abandon order reminder events that are triggered. type: - integer - 'null' readOnly: true organizationId: readOnly: true allOf: - $ref: '#/components/schemas/OrganizationId' status: description: >- Status of the subscription service. A subscription starts in the `pending` status, and becomes `active` when the service period begins. type: string readOnly: true enum: - pending - active - abandoned - canceled - churned - paused - voided - completed - trial-ended inTrial: description: Specifies if the subscription is currently in a trial period. type: boolean readOnly: true trial: type: object description: >- Trial details. To use plan defaults do not send the `trial` key, or send a `null` value. properties: enabled: description: |- Specifies if there is a trial for this subscription. Plans without trial prices are free trials. type: boolean endTime: description: >- Time and date when the trial ends. If a trial is enabled on this subscription, a value must be provided. type: - string - 'null' format: date-time isTrialOnly: description: |- Specifies if a subscription ends after a trial period. If this value is `true`, recurring settings are ignored. type: boolean default: false isTrialConverted: description: >- Specifies if a subscription had trial conversion. Trial conversion is when at least one successful payment is made on the subscription after a trial. type: boolean readOnly: true example: true invoiceTimeShift: description: |- Shifts issue time and due time of invoices for this subscription. This setting overrides plan settings. To use plan settings, set this value to `null`. To use multiple plans in one subscription, all plans must have the same billing period, this property enables the customer to subscribe to different plans. example: null oneOf: - $ref: '#/components/schemas/InvoiceTimeShift' - type: 'null' recurringInterval: type: - object - 'null' description: |- Recurring interval to override plan settings. To use plan settings, set this value to `null`. To use multiple plans in one subscription, all plans must have the same recurring period length. example: null properties: periodAnchorInstruction: $ref: '#/components/schemas/ServicePeriodAnchorInstruction' autopay: description: >- Specifies if payment attempts are made automatically. If autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`, or the default payment instrument on the subscription. type: boolean default: true startTime: description: |- Date and time when the subscription starts. If this value is `null`, the current time is used. This value cannot be more than one service period in the past. type: - string - 'null' x-sortable: true x-basic: true example: null format: date-time churnTime: description: Date and time when the subscription is deactivated. x-sortable: true type: - string - 'null' format: date-time readOnly: true renewalTime: description: Date and time when the subscription renews. type: - string - 'null' x-sortable: true x-basic: true format: date-time rebillNumber: description: Current billing period number. type: - integer - 'null' readOnly: true x-sortable: true lineItems: description: >- Subscription line items which queue until the next renewal, or interim, invoice is issued for the subscription. readOnly: true type: array deprecated: true items: type: object description: >- Invoice line item. Use the `isInterim` property of upcoming invoice items instead. deprecated: true properties: type: description: Type of invoice line item. type: string enum: - debit - credit description: description: Description of the line item. type: string maxLength: 1000 unitPriceAmount: description: Unit price of the line item. type: number format: double example: 49.95 unitPriceCurrency: $ref: '#/components/schemas/CurrencyCode' quantity: description: Quantity of the line item. type: integer example: 1 periodStartTime: description: Date and time when the service period begins for this item. type: string format: date-time periodEndTime: description: Date and time when the service period ends for this item. type: string format: date-time createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' lineItemSubtotal: type: object readOnly: true description: |- Subtotal of line items in this subscription (signed value). If credits exceed debits, this value is a negative number. properties: currency: $ref: '#/components/schemas/CurrencyCode' amount: type: number x-type: Money x-sortable: true description: Amount of the subtotal. format: double example: 49.95 paymentInstrumentId: type: - string - 'null' description: >- ID of the payment instrument to use for autopay. If this value is not provided, or if the payment instrument is inactive, the customer's default payment instrument is used. maxLength: 50 example: inst_0YVB8KPKNXCBR9EDX7JHSED75N billingStatus: description: >- Billing status of the most recent invoice. This value may help you to determine if you should change the service status of the service, such as suspending the service. type: string readOnly: true enum: - draft - unpaid - past-due - abandoned - paid - voided - refunded - disputed - partially-refunded - partially-paid websiteId: x-sortable: true x-basic: true allOf: - $ref: '#/components/schemas/WebsiteId' currency: description: Currency of the order. readOnly: true $ref: '#/components/schemas/CurrencyCode' initialInvoiceId: description: ID of the initial invoice. readOnly: true type: - string - 'null' maxLength: 50 example: in_0YVF9605RKC62BP14NE2R7V2XT recentInvoiceId: description: |- ID of the most recently issued invoice. The invoice might not be `paid` yet. readOnly: true type: - string - 'null' maxLength: 50 example: in_0YVF9605RKC62BP14NE2R7V2XT items: description: Details of items in the order. type: array minItems: 1 items: $ref: '#/components/schemas/SubscriptionOrOneTimeSaleItem' deliveryAddress: description: Delivery address of the order. oneOf: - $ref: '#/components/schemas/ContactObject' - type: 'null' billingAddress: description: Billing address of the order. oneOf: - $ref: '#/components/schemas/ContactObject' - type: 'null' activationTime: description: Date and time when the order is activated. x-sortable: true type: - string - 'null' format: date-time readOnly: true voidTime: description: Date and time when the order is voided. type: - string - 'null' format: date-time readOnly: true abandonTime: type: - string - 'null' description: >- Date and time when the pending order is automatically abandoned. If this value is not passed during order creation, a [pending order TTL](https://www.rebilly.com/catalog/all/organizations/patchorganization#organizations/patchorganization/t=request&path=settings/billing/pendingorderttl) setting is used to calculate the value. format: date-time delinquencyPeriod: type: - string - 'null' description: >- Length of time, in ISO-8601 durations format, which is added to the due time of the order when setting the delinquency time for all related invoices. When the delinquency time of an invoice is reached, the order is automatically canceled. If this value is not passed during order creation, an [order delinquency period](https://www.rebilly.com/catalog/all/organizations/patchorganization#organizations/patchorganization/t=request&path=settings/billing/orderdelinquencyperiod) setting is used to calculate the value. example: P7D default: null couponIds: type: - array - 'null' description: >- List of coupons to redeem on the customer and restrict to this order. For more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/). This parameter uses the following logic: - If this parameter is not supplied, applied coupons are not changed. - If an empty array is supplied, all applied coupon redemptions are canceled. - If a list of coupons is supplied, unapplied coupons in the list are applied. Coupons that have already been applied do not change state. Applied coupons that are not supplied in list are canceled. If the list of applied coupons on a pending order is changed by this parameter during an order update, the invoice for the order is reissued. writeOnly: true items: type: string description: ID of the coupon. poNumber: description: Purchase order number displayed on the issued invoices. type: - string - 'null' example: PO123456 shipping: $ref: '#/components/schemas/Shipping' notes: description: Notes for the customer displayed on the order invoice. type: string canceledBy: description: Specifies who initiated the cancellation. type: - string - 'null' readOnly: true enum: - merchant - customer - rebilly - null cancelCategory: description: Category of the cancellation. type: - string - 'null' readOnly: true enum: - billing-failure - delinquency - did-not-use - did-not-want - missing-features - bugs-or-problems - do-not-remember - risk-warning - contract-expired - too-expensive - never-started - switched-plan - organization-deactivated - other - null cancelDescription: description: Description of the cancellation reason in free form. type: - string - 'null' readOnly: true maxLength: 255 revision: description: >- Number of times the order data has been modified. The revision is useful when analyzing webhook data to determine if the change takes precedence over the current representation. type: integer readOnly: true riskMetadata: type: - object - 'null' example: null description: >- Risk metadata. If this value is `null`, this field uses risk metadata that is captured when creating the payment token. allOf: - $ref: '#/components/schemas/RiskMetadata' billingPortalToken: description: >- Customer JWT to access billing portal. This field is presented only if billing portal exists. This is an experimental field and can be changed or removed in the future. type: - string - 'null' readOnly: true x-badges: - name: Experimental customFields: $ref: '#/components/schemas/ResourceCustomFields' createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - website - customer - initialInvoice - recentInvoice - approvalUrl - attachments _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: recentInvoice: type: object initialInvoice: type: object customer: type: object website: type: object leadSource: type: object shippingRate: type: object paymentInstrument: type: object upcomingInvoice: type: object OneTimeSale: type: object required: - orderType - customerId - websiteId - items properties: id: type: string description: ID of the one-time sale. readOnly: true maxLength: 50 example: ots_01HRF27SATGE4Z6PBJE6PD8328 orderType: description: |- Specifies the type of order. An order may be a subscription or a one-time purchase. type: string x-basic: true enum: - one-time-order customerId: $ref: '#/components/schemas/CustomerId' organizationId: deprecated: true readOnly: true allOf: - $ref: '#/components/schemas/OrganizationId' status: description: Status of the one-time order. type: string readOnly: true enum: - pending - abandoned - completed - canceled billingStatus: description: >- Billing status of the most recent invoice. This value may help you to determine if you should change the service status of the service, such as suspending the service. type: string readOnly: true enum: - draft - unpaid - past-due - abandoned - paid - voided - refunded - disputed - partially-refunded - partially-paid websiteId: x-sortable: true x-basic: true allOf: - $ref: '#/components/schemas/WebsiteId' currency: description: Currency of the order. readOnly: true $ref: '#/components/schemas/CurrencyCode' initialInvoiceId: description: ID of the initial invoice (`null` for one-time orders). readOnly: true type: - string - 'null' maxLength: 50 example: in_0YVF9605RKC62BP14NE2R7V2XT recentInvoiceId: description: |- ID of the most recently issued invoice. The invoice might not be `paid` yet. readOnly: true type: - string - 'null' maxLength: 50 example: in_0YVF9605RKC62BP14NE2R7V2XT items: description: Details of items in the order. type: array minItems: 1 items: $ref: '#/components/schemas/SubscriptionOrOneTimeSaleItem' deliveryAddress: description: Delivery address of the order. oneOf: - $ref: '#/components/schemas/ContactObject' - type: 'null' billingAddress: description: Billing address of the order. oneOf: - $ref: '#/components/schemas/ContactObject' - type: 'null' activationTime: description: Date and time when the order is activated. x-sortable: true type: - string - 'null' format: date-time readOnly: true voidTime: description: Date and time when the order is voided. type: - string - 'null' format: date-time readOnly: true abandonTime: type: - string - 'null' description: >- Date and time when the pending order is automatically abandoned. If this value is not passed during order creation, a [pending order TTL](https://www.rebilly.com/catalog/all/organizations/patchorganization#organizations/patchorganization/t=request&path=settings/billing/pendingorderttl) setting is used to calculate the value. format: date-time couponIds: type: - array - 'null' description: >- List of coupons to redeem on the customer and restrict to this order. For more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/). This parameter uses the following logic: - If this parameter is not supplied, applied coupons are not changed. - If an empty array is supplied, all applied coupon redemptions are canceled. - If a list of coupons is supplied, unapplied coupons in the list are applied. Coupons that have already been applied do not change state. Applied coupons that are not supplied in list are canceled. If the list of applied coupons on a pending order is changed by this parameter during an order update, the invoice for the order is reissued. writeOnly: true items: type: string description: ID of the coupon. poNumber: description: Purchase order number displayed on the issued invoices. type: - string - 'null' example: PO123456 shipping: $ref: '#/components/schemas/Shipping' notes: description: Notes for the customer displayed on the order invoice. type: string revision: description: >- Number of times the order data has been modified. The revision is useful when analyzing webhook data to determine if the change takes precedence over the current representation. type: integer readOnly: true riskMetadata: example: null description: >- Risk metadata. If this value is `null`, this field uses risk metadata that is captured when creating the payment token. oneOf: - $ref: '#/components/schemas/RiskMetadata' - type: 'null' customFields: $ref: '#/components/schemas/ResourceCustomFields' createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - website - customer - initialInvoice - recentInvoice - approvalUrl - attachments _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: recentInvoice: type: object customer: type: object website: type: object leadSource: type: object shippingRate: type: object paymentInstrument: type: object SubscriptionOrOneTimeSale: type: object description: Subscription details. discriminator: propertyName: orderType mapping: subscription-order: '#/components/schemas/Subscription' one-time-order: '#/components/schemas/OneTimeSale' oneOf: - $ref: '#/components/schemas/Subscription' - $ref: '#/components/schemas/OneTimeSale' Search: type: object properties: customers: description: List of returned customers. readOnly: true type: array items: $ref: '#/components/schemas/Customer' invoices: description: List of returned invoices. readOnly: true type: array items: $ref: '#/components/schemas/Invoice' orders: description: List of returned orders. readOnly: true type: array items: $ref: '#/components/schemas/SubscriptionOrOneTimeSale' transactions: description: List of returned transactions. readOnly: true type: array items: $ref: '#/components/schemas/Transaction' searched: description: |- Names of searched resources. Includes all searched resources. readOnly: true type: array items: type: string ShippingOption: type: object required: - name - price - currency properties: id: type: string description: ID of the shipping rate. readOnly: true maxLength: 50 example: ship_rate_0YVDN408G4DQE9G1RV1QCFHJ3P name: type: string description: Name of the shipping rate. description: type: - string - 'null' description: Description of the shipping rate. price: description: |- Price of the shipping rate. If `price` is `0`, shipping is free. type: number format: double currency: $ref: '#/components/schemas/CurrencyCode' ShippingRate: allOf: - $ref: '#/components/schemas/ShippingOption' - properties: filter: type: string description: >- Filter based on invoice properties that is used to determine when the rate is applicable. If no filters are used, the rate is always applicable. default: '' example: deliveryAddress.country:US,CA,RU;amount:100..1000 status: description: |- Status of the shipping rate. If `status` is `inactive` the shipping rate is not applied. type: string enum: - active - inactive default: active createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' SubscriptionChange: type: object required: - items - renewalPolicy - prorated properties: items: description: Details of items in the order. type: array minItems: 1 items: type: object description: >- New set of items for the subscription. To remove an item, include the items array and exclude the items you want to remove. required: - plan properties: plan: description: Plan details. oneOf: - $ref: '#/components/schemas/OriginalPlan' - $ref: '#/components/schemas/FlexiblePlan' quantity: description: Number of units of the product on the given plan. type: integer usageLimits: type: object description: >- Specifies the soft and hard usage limit thresholds for an item with a metered billing plan. This value is ignored when the plan is not metered. properties: softLimit: type: object description: >- Defines thresholds for notification purposes. For example, to notify the customer that their usage is near the hard limit of their metered billing plan. This notification informs the customer so that they can upgrade their plan before the hard limit is reached. When the reported usage reaches 75%, 90%, and 100% of the configured limit a specific event is fired. To notify the customer, a webhook and notification can be configured for this event. This field is useful for accounting and customer success purposes. The usage of metered billing plans can still be reported if the soft limit is reached. minProperties: 1 maxProperties: 1 properties: quantity: type: integer description: Usage limit quantity. minimum: 1 amount: type: number format: double description: Usage limit amount in the currency of the order. minimum: 0.01 hardLimit: type: object description: >- Defines a limit where the customer can no longer use the service. Hard limits are used in addition to soft limits. When a soft limit is reached, a customer may receive a notification but the service can still be provided up to the hard limit value so that the customer can upgrade their plan. When the reported usage reaches the configured limit, a specific event is triggered. To notify the customer in the merchant system, or block a service, a webhook and notification can be configured for this event. When the total usage reaches the hard limit quantity, or amount values, metered billing plan usages can no longer be reported. minProperties: 1 maxProperties: 1 properties: quantity: type: integer description: Usage limit quantity. minimum: 1 amount: type: number format: double description: Usage limit amount in the currency of the order. minimum: 0.01 renewalPolicy: description: >- Specifies if the subscription retains its current `renewalTime` or resets it to a newly calculated `renewalTime`. type: string enum: - reset - retain prorated: description: >- Specifies whether to give a pro rata credit for the amount of time remaining between the `effectiveTime` and the end of the current period. In addition, if the `renewalTime` is retained, by setting the `renewalPolicy` to `retain`, a pro rata debit occurs for the amount between the `effectiveTime` and the `renewalTime` as a percentage of the normal period size. type: boolean effectiveTime: description: >- Date from which the renewal time for `reset` operations and proration calculations are made. If this field is omitted, this value defaults to the current time. type: string format: date-time preview: description: |- Specifies if changes to the subscription can be previewed. Subscriptions cannot be changed in preview. type: boolean default: false keepTrial: description: |- Specifies if the subscription order must retain its active trial. This field is only applicable if `renewalPolicy` is set to `retain`. type: boolean default: false ignoreRecurring: description: >- Specifies if the subscription order must ignore the recurring settings of items in the order. This field is only applicable if the subscription is trial-only and the `keepTrial` value is `true`. For more information, see [Trial-only subscription](https://www.rebilly.com/docs/dev-docs/subscriptions#trial-only-subscription) type: boolean default: false SubscriptionItemUpdate: type: object required: - quantityFilled properties: quantityFilled: x-badges: - name: Experimental description: Filled quantity of the subscription item (experimental property). type: integer SubscriptionInvoice: type: object properties: transactionId: description: >- If present, applies a payment to the invoice created. If the payment is for the invoice total, it would be marked as paid. $ref: '#/components/schemas/TransactionId' SubscriptionPause: type: object description: Subscription pause details. required: - subscriptionId properties: id: type: string description: ID of the subscription pause. readOnly: true maxLength: 50 example: sub_pau_01H085J3ZR1WKD120D73D7N4C9 subscriptionId: type: string description: ID of the paused subscription. maxLength: 50 example: sub_01HRF27SATGE4Z6PBJE6PD8328 status: description: Status of the subscription pause. type: string readOnly: true enum: - pending - ongoing - revoked - finished pausedBy: description: Specifies who initiated the pause. type: string default: customer enum: - merchant - customer description: description: Description of the pause reason in free form. type: - string - 'null' maxLength: 255 effectiveTime: description: >- Date and time when the service period pauses. This time must be later than the current time. If this time is earlier then the current time, the current time is used. If this field is omitted, this value defaults to the current time. type: - string - 'null' format: date-time endTime: description: >- Date and time when the pause ends and the subscription resumes billing. To resume a subscription from this point in time, use the current time or an earlier time. If `endTime` is earlier then the current time, the current time is used. If this field is empty, the subscription is indefinitely paused. type: - string - 'null' format: date-time timeRemaining: description: >- Amount of time between the pause end time and the renewal time in ISO-8601 durations format. By default, this value is computed as the time between the pause and the renewal. Example: A $30 per month subscription on a 30-day month is paused on day 20 of the subscription. There are 10 unused days on the subscription. Therefore, the subscription renews in 10 days after it is resumed. The upcoming invoice does not change the amount for the invoiced period, it remains at $30. If the subscription uses a billing anchor, the renewal time after a pause shift behaves as though the renewal time is moved forward by an [Order API operation](https://www.rebilly.com/catalog/all/orders), and the billing anchor is ignored for that period. For more information, see [Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/concepts/#service-period-anchor-and-billing-timing-and-invoice-time-shift). type: - string - 'null' example: P3600S createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' SubscriptionCancellation: type: object required: - subscriptionId - churnTimePolicy properties: id: type: string description: ID of the cancellation. readOnly: true maxLength: 50 example: sub_cnl_0YVJ5XVQM9CDP8248ZQX0RDMKV subscriptionId: type: string description: ID of the canceled subscription order. maxLength: 50 example: sub_01HRF27SATGE4Z6PBJE6PD8328 proratedInvoiceId: type: - string - 'null' description: ID of the invoice on which the cancellation proration is calculated. readOnly: true maxLength: 50 example: in_0YVF9605RKC62BP14NE2R7V2XT appliedInvoiceId: type: - string - 'null' description: >- ID of the invoice on which the cancellation fees or credits are applied. readOnly: true maxLength: 50 example: in_0YVF9605RKC62BP14NE2R7V2XT canceledBy: description: Specifies who initiated the cancellation. type: string default: customer enum: - merchant - customer - rebilly reason: description: Reason for the cancellation. type: string default: other enum: - did-not-use - did-not-want - missing-features - bugs-or-problems - do-not-remember - risk-warning - contract-expired - too-expensive - other - billing-failure description: description: Description of the cancellation reason in free form. type: string maxLength: 255 prorated: description: >- Specifies if the customer gets a pro-rata credit for the time remaining between `churnTime` and subscription next renewal time. type: boolean default: false status: description: Status of the subscription order. type: string default: confirmed enum: - draft - confirmed - completed - revoked x-enumDescriptions: draft: >- Creates a daft cancellation so that the cancellation and charge can be previewed. confirmed: |- Confirms a subscription cancellation. Sets the subscription to cancel when the `churnTime` is reached. completed: >- Marks a subscription cancellation as completed. This is a read-only status that is set when the `churnTime` is reached. The cancellation may not be changed or deleted when the status is `completed`. revoked: Revokes a subscription cancellation. canceledTime: description: >- Date and time when a subscription is cancelled. By default, this occurs when `status` is `confirmed`, unless `draft` is specified. type: - string - 'null' format: date-time readOnly: true createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' churnTime: description: Date and time when the subscription is deactivated. type: string format: date-time churnTimePolicy: description: >- Specifies when the subscription is to be deactivated. The `churnTimePolicy` takes precedence over the `churnTime` in request. type: - string - 'null' enum: - 'null' - now - at-next-renewal lineItems: description: |- Items to be added to the new invoice. Proration item is generated and added automatically. type: array items: type: object description: Invoice line item. required: - type - unitPriceAmount - unitPriceCurrency - quantity properties: type: description: Type of invoice line item. type: string enum: - debit - credit description: description: Description of the line item. type: string maxLength: 1000 unitPriceAmount: description: Unit price of the line item. type: number format: double example: 49.95 unitPriceCurrency: $ref: '#/components/schemas/CurrencyCode' quantity: description: Quantity of the line item. type: integer example: 1 periodStartTime: description: Date and time when the period begins for this item. type: string format: date-time periodEndTime: description: Date and time when the period ends for this item. type: string format: date-time createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' lineItemSubtotal: description: >- Subtotal of the line items added after the subscription cancellation. readOnly: true type: object properties: amount: type: number description: Subtotal amount of the line items. example: 49.95 currency: $ref: '#/components/schemas/CurrencyCode' _links: $ref: '#/components/schemas/SelfLink' SubscriptionReactivation: type: object required: - subscriptionId properties: id: type: string description: ID of the reactivation. readOnly: true maxLength: 50 example: sub_rct_0YVJ62AF5XCFCA6EBFAAA3Z7E0 subscriptionId: type: string description: ID of the reactivated subscription. maxLength: 50 example: sub_01HRF27SATGE4Z6PBJE6PD8328 cancellationId: type: string description: ID of the related cancellation. readOnly: true maxLength: 50 example: sub_cnl_0YVJ5XVQM9CDP8248ZQX0RDMKV description: description: Description of the reactivation reason in free form. type: - string - 'null' maxLength: 255 effectiveTime: description: |- Date and time when the service period starts, unless the subscription is canceled but still active. If the subscription is still active, the subscription continues for the current service period. If this field is omitted, this value defaults to the current time. type: string format: date-time writeOnly: true renewalTime: description: >- Date and time of the next subscription renewal. If this field is omitted, this value is computed from the `effectiveTime` field. If the subscription is canceled but still active, it is ignored and the next renewal occurs as scheduled. type: string format: date-time paymentInstrumentId: writeOnly: true description: >- ID of the payment instrument. If this field is omitted, the subscription payment instrument remains unchanged. type: - string - 'null' maxLength: 50 example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21 createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' UpcomingInvoiceItem: type: object readOnly: true properties: id: type: string description: ID of the upcoming invoice item. maxLength: 50 example: ii_0YVFDEQS2KCFTBN9HXWJFY55GV isInterim: description: Specifies if the line item is added to an interim invoice. type: boolean description: description: Description of the upcoming invoice item. type: string maxLength: 1000 unitPrice: description: Unit price of the upcoming invoice item. type: number format: double quantity: description: Quantity of the upcoming invoice item. type: integer price: description: Total price of the upcoming invoice item. type: number format: double productId: type: - string - 'null' description: ID of the product. maxLength: 50 example: prod_0YV7DES3WPC5J8JD8QTVNZBZNZ planId: type: - string - 'null' description: ID of the plan. maxLength: 50 example: plan_0YV7DENSVGDBW9S71XZNNYYQ0X subscriptionId: type: string description: ID of the order. maxLength: 50 example: sub_01HRF27SATGE4Z6PBJE6PD8328 periodStartTime: description: Date and time when the billing period starts. type: string format: date-time periodEndTime: description: Date and time when the billing period ends. type: string format: date-time periodNumber: description: >- Billing period number that is associated with the invoice item. For example, an invoice item for a service is included in billing period number 3. The invoice item is only applied to billing period number 3. type: integer createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' tax: description: Invoice item tax. $ref: '#/components/schemas/TaxItem' _links: type: array description: Related links. items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - product - plan - subscription _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. properties: product: type: object plan: type: object UpcomingInvoice: type: object readOnly: true properties: id: description: >- ID of the upcoming invoice, which is persisted in the future renewal invoice. type: string readOnly: true maxLength: 50 example: in_0YVF9605RKC62BP14NE2R7V2XT websiteId: $ref: '#/components/schemas/WebsiteId' subscriptionId: description: ID of the related subscription order. type: string readOnly: true maxLength: 50 example: sub_01HRF27SATGE4Z6PBJE6PD8328 currency: x-sortable: true x-basic: true $ref: '#/components/schemas/CurrencyCode' customerId: x-basic: true allOf: - $ref: '#/components/schemas/CustomerId' revision: description: |- Number of times the upcoming invoice data has changed. Use the revision number when analyzing webhook data to determine if a change should take precedence over the current representation. type: integer organizationId: allOf: - $ref: '#/components/schemas/OrganizationId' items: type: array description: Upcoming invoice items array. items: $ref: '#/components/schemas/UpcomingInvoiceItem' amount: description: Amount of the invoice. type: number x-type: Money x-sortable: true x-basic: true format: double readOnly: true amountDue: description: Amount that is due on the invoice. type: number x-type: Money x-sortable: true format: double readOnly: true subtotalAmount: description: Subtotal amount of the invoice. type: number x-type: Money format: double readOnly: true discountAmount: description: Discount amount that is applied to the invoice. type: number x-type: Money format: double readOnly: true shipping: $ref: '#/components/schemas/Shipping' tax: $ref: '#/components/schemas/Taxes' billingAddress: description: Billing address of the invoice. $ref: '#/components/schemas/ContactObject' deliveryAddress: description: Delivery address of the invoice. $ref: '#/components/schemas/ContactObject' poNumber: description: Purchase order number that is displayed on the invoice. type: - string - 'null' example: PO123456 notes: description: Notes for the customer that are displayed on the invoice. type: string discounts: type: array description: Discounts applied. readOnly: true items: type: object readOnly: true properties: couponId: type: string description: ID of the coupon. maxLength: 50 example: cpn_0YVCNKF81GD778N4YNVGDJK558 redemptionId: description: ID of the redemption. $ref: '#/components/schemas/ResourceId' amount: description: Total amount discounted by this coupon. type: number format: double description: type: string description: Description of the discount. context: $ref: '#/components/schemas/DiscountContext' dueTime: description: Date and time when the invoice is due for payment. type: string x-sortable: true format: date-time issuedTime: description: Date and time when the invoice is issued. x-label: Date Issued x-sortable: true x-basic: true $ref: '#/components/schemas/ServerTimestamp' createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: type: array description: Related links. items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - website - customer - organization - subscription - attachments - leadSource _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. properties: customer: type: object website: type: object organization: type: object leadSource: type: object OrderTimeline: type: object properties: id: type: string description: ID of the timeline message. readOnly: true maxLength: 50 example: tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC type: description: Type of timeline message. type: string readOnly: true enum: - coupon-applied - email-message-sent - invoice-abandoned - invoice-disputed - invoice-issued - invoice-paid - invoice-partially-paid - invoice-partially-refunded - invoice-past-due - invoice-refunded - invoice-reissued - invoice-renewal-payment-declined - invoice-voided - order-activated - order-autopay-changed - order-billing-address-changed - order-billing-anchor-changed - order-canceled - order-churned - order-completed - order-custom-fields-changed - order-delivery-address-changed - order-downgraded - order-items-changed - order-paid-early - order-quantity-changed - order-reactivated - order-recurring-interval-changed - order-renewal-time-changed - order-renewed - order-risk-metadata-changed - order-trial-ended - order-upgraded - order-voided - order-abandoned - quote-accepted - subscription-paused - subscription-pause-created - subscription-pause-modified - subscription-pause-revoked - subscription-resumed - subscription-trial-end-changed - timeline-comment-created triggeredBy: description: Specifies who, or what, triggered the timeline event. type: string readOnly: true enum: - rebilly - app - direct-api message: description: Contents of the timeline message. type: string extraData: $ref: '#/components/schemas/TimelineExtraData' occurredTime: description: Date and time when the timeline message occurred. readOnly: true $ref: '#/components/schemas/ServerTimestamp' _links: $ref: '#/components/schemas/SelfLink' Usage: type: object required: - subscriptionId - planId - quantity properties: id: type: string readOnly: true description: ID of the usage record. maxLength: 50 example: sub_usg_0YVJ636B95DNA9M3B1638HXBCQ subscriptionId: type: string description: ID of the subscription for which a usage is reported. maxLength: 50 example: sub_01HRF27SATGE4Z6PBJE6PD8328 planId: type: string description: ID of the plan for which a usage is reported. maxLength: 50 example: plan_0YV7DENSVGDBW9S71XZNNYYQ0X invoiceId: type: - string - 'null' description: >- ID of the invoice to which usage is applied. This value is populated when the invoice is issued. readOnly: true maxLength: 50 example: in_0YVF9605RKC62BP14NE2R7V2XT invoiceItemId: description: >- ID of the invoice item to which usage is applied. This value is populated when the invoice is issued. readOnly: true type: - string - 'null' maxLength: 50 example: ii_0YVFDEQS2KCFTBN9HXWJFY55GV quantity: description: |- Number of used product units of a plan. Products are the goods and services that your business sells. Plans describe how the customer must pay for products. type: number format: float minimum: 0.01 usageTime: description: >- Date and time, in ISO 8601 format, when a usage occurred. If this value is not provided or is empty, the date and time of the request is used. type: string format: date-time createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' PaymentCardToken: type: object title: Payment card token description: >- Creates a payment card token. A payment card token is a string that represents a customer's payment card details. It can be used once, and expires upon first use or within 30 minutes of token creation. To generate a full payment card token, you must provide the `billingAddress`. If `billingAddress` is not provided, the token can not be used for payments. required: - method - paymentInstrument properties: method: description: Payment method of the token. type: string enum: - payment-card paymentInstrument: description: Payment card instrument details. type: object required: - expMonth - expYear properties: pan: description: |- Primary Account Number (PAN) of the payment card. This value is required to perform a payment. type: string writeOnly: true cvv: description: Card Verification Value (CVV/CVC) of the payment card. type: string writeOnly: true expMonth: description: Expiration month of the payment card. type: integer expYear: description: Expiration year of the payment card. type: integer bin: description: |- Bank Identification Number (BIN) of the payment card. This value is the first 6 digits of the payment card number. type: - string - 'null' format: bin readOnly: true last4: description: >- Last 4 digits of the Primary Account Number (PAN) of the payment card. type: - string - 'null' readOnly: true brand: readOnly: true allOf: - $ref: '#/components/schemas/PaymentCardBrand' billingAddress: description: |- Billing address object. This value is required to perform payments. For payment-card updates, `billingAddress` can be ignored. $ref: '#/components/schemas/ContactObject' id: description: ID of the token. readOnly: true $ref: '#/components/schemas/ResourceId' isUsed: description: Specifies if the token has been used. type: boolean default: false readOnly: true riskMetadata: oneOf: - $ref: '#/components/schemas/RiskMetadata' - type: 'null' leadSource: allOf: - $ref: '#/components/schemas/LeadSource' writeOnly: true createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' usageTime: description: Date and time when the token is used. type: - string - 'null' format: date-time readOnly: true expirationTime: description: Date and time when the token expired. type: - string - 'null' format: date-time readOnly: true _links: $ref: '#/components/schemas/SelfLink' PayPalToken: type: object title: PayPal token required: - method - paymentInstrument properties: method: description: Payment method of the token. type: string enum: - paypal paymentInstrument: description: Paypal instrument details required for express checkout. type: object required: - billingAgreementToken - paypalMerchantId properties: paypalMerchantId: description: ID of the PayPal merchant. type: string billingAgreementToken: description: PayPal billing agreement token. type: string billingAddress: description: Billing address object. oneOf: - $ref: '#/components/schemas/ContactObject' - type: 'null' id: description: ID of the token. readOnly: true $ref: '#/components/schemas/ResourceId' isUsed: description: Specifies if the token is already used. type: boolean default: false readOnly: true riskMetadata: oneOf: - $ref: '#/components/schemas/RiskMetadata' - type: 'null' leadSource: allOf: - $ref: '#/components/schemas/LeadSource' writeOnly: true createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' usageTime: description: Date and time when the token is used. type: - string - 'null' format: date-time readOnly: true expirationTime: description: Date and time when the token expires. type: - string - 'null' format: date-time readOnly: true _links: $ref: '#/components/schemas/SelfLink' BBANInstrument: description: Bank account BBAN instrument. type: object required: - accountNumberType - accountNumber - routingNumber - accountType properties: accountNumberType: description: >- Bank account number type. A valid value is basic bank account number (BBAN) or international bank account number (IBAN). type: string enum: - BBAN accountNumber: description: Customer's bank account number. type: string pattern: ^[0-9]+$ writeOnly: true routingNumber: description: Bank routing number. type: string pattern: ^[0-9]+$ accountType: description: Bank account type. type: string enum: - checking - savings - other bic: description: Bank Identifier Code (BIC). type: string bankName: description: Bank name. type: string last4: description: Last 4 digits of the bank account number. type: string readOnly: true IBANInstrument: description: Bank account IBAN instrument. type: object required: - accountNumberType - accountNumber properties: accountNumberType: description: >- Bank account number type. A valid value is basic bank account number (BBAN) or international bank account number (IBAN). type: string enum: - IBAN accountNumber: description: >- Bank account number. Detailed information about all ISO 13616-compliant national IBAN formats is available in the [SWIFT IBAN Registry](https://www.swift.com/standards/data-standards/iban). type: string writeOnly: true bic: description: Bank Identifier Code (BIC). type: string bankName: description: Bank name. type: string last4: description: Last 4 digits of the bank account number. type: string readOnly: true BankAccountInstrument: type: object description: Bank account BBAN or IBAN instrument. discriminator: propertyName: accountNumberType mapping: BBAN: '#/components/schemas/BBANInstrument' IBAN: '#/components/schemas/IBANInstrument' anyOf: - $ref: '#/components/schemas/BBANInstrument' - $ref: '#/components/schemas/IBANInstrument' BankAccountToken: type: object title: Bank account token required: - method - paymentInstrument - billingAddress properties: method: description: Payment method of the token. type: string enum: - ach - echeck paymentInstrument: $ref: '#/components/schemas/BankAccountInstrument' billingAddress: description: Billing address object. $ref: '#/components/schemas/ContactObject' id: description: ID of the token. readOnly: true $ref: '#/components/schemas/ResourceId' isUsed: description: Specifies if the token is already used. type: boolean default: false readOnly: true riskMetadata: oneOf: - $ref: '#/components/schemas/RiskMetadata' - type: 'null' leadSource: allOf: - $ref: '#/components/schemas/LeadSource' writeOnly: true createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' usageTime: description: Date and time when the token is used. type: - string - 'null' format: date-time readOnly: true expirationTime: description: Date and time when the token expired. type: - string - 'null' format: date-time readOnly: true _links: $ref: '#/components/schemas/SelfLink' DigitalWalletToken: type: object title: Digital wallet token required: - method - paymentInstrument properties: method: description: Payment method of the token. type: string enum: - digital-wallet paymentInstrument: description: Payment instrument details. type: object required: - type - amount - currency - descriptor - payload properties: type: description: Type of digital wallet. type: string enum: - Apple Pay - Google Pay amount: description: Authorized for the digital wallet amount. type: number format: double currency: description: Authorized for the digital wallet currency. $ref: '#/components/schemas/CurrencyCode' descriptor: description: Descriptor for a payment. type: string bin: description: >- Bank Identification Number (BIN) of the payment card. This value is the same as the first 6 digits of the associated Primary Account Number (PAN). type: - string - 'null' format: bin readOnly: true last4: description: >- Last 4 digits of the Primary Account Number (PAN) of the payment card. type: string readOnly: true brand: readOnly: true allOf: - $ref: '#/components/schemas/PaymentCardBrand' expMonth: readOnly: true description: Payment card expiration month. type: integer expYear: readOnly: true description: Payment card expiration year. type: integer payload: writeOnly: true description: |- Digital wallet encoded data. This field may contain the digital wallet billing address. type: object billingAddress: readOnly: true description: Billing address object. $ref: '#/components/schemas/ContactObject' id: description: ID of the token. readOnly: true $ref: '#/components/schemas/ResourceId' isUsed: description: Specifies if the token is already used. type: boolean default: false readOnly: true riskMetadata: oneOf: - $ref: '#/components/schemas/RiskMetadata' - type: 'null' leadSource: allOf: - $ref: '#/components/schemas/LeadSource' writeOnly: true createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' usageTime: description: Date and time when the token is used. type: - string - 'null' format: date-time readOnly: true expirationTime: description: Date and time when the token expired. type: - string - 'null' format: date-time readOnly: true _links: $ref: '#/components/schemas/SelfLink' PlaidAccountToken: type: object title: Plaid account token required: - method - billingAddress - paymentInstrument properties: method: description: Payment method of the token. type: string enum: - plaid-account paymentInstrument: description: Plaid payment instrument details. type: object required: - linkToken - publicToken - accountId properties: linkToken: type: string description: Plaid link token. writeOnly: true publicToken: type: string description: Plaid public token. accountId: type: string description: ID of the Plaid account. billingAddress: description: Billing address object. $ref: '#/components/schemas/ContactObject' id: description: ID of the token. readOnly: true $ref: '#/components/schemas/ResourceId' isUsed: description: Specifies if the token is already used. type: boolean default: false readOnly: true riskMetadata: oneOf: - $ref: '#/components/schemas/RiskMetadata' - type: 'null' leadSource: allOf: - $ref: '#/components/schemas/LeadSource' writeOnly: true createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' usageTime: description: Date and time when the token is used. type: - string - 'null' format: date-time readOnly: true expirationTime: description: Date and time when the token expired. type: - string - 'null' format: date-time readOnly: true _links: $ref: '#/components/schemas/SelfLink' KhelocardCardToken: type: object title: Khelocard card token required: - method - billingAddress - paymentInstrument properties: method: description: Payment method of the token. type: string enum: - Khelocard paymentInstrument: description: Token instrument details. type: object required: - number - cvv - expYear - expMonth properties: number: description: Khelocard card number. type: string writeOnly: true cvv: description: Khelocard Card Verification Value (CVV). type: string writeOnly: true last4: description: Last 4 digits of the Khelocard card number. type: string readOnly: true expMonth: description: Khelocard card expiration month. type: integer expYear: description: Khelocard card expiration year. type: integer billingAddress: description: Billing address object. $ref: '#/components/schemas/ContactObject' id: description: ID of the token. readOnly: true $ref: '#/components/schemas/ResourceId' isUsed: description: Specifies if the token is already used. type: boolean default: false readOnly: true riskMetadata: oneOf: - $ref: '#/components/schemas/RiskMetadata' - type: 'null' leadSource: allOf: - $ref: '#/components/schemas/LeadSource' writeOnly: true createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' usageTime: description: Date and time when the token is used. type: - string - 'null' format: date-time readOnly: true expirationTime: description: Date and time when the token expired. type: - string - 'null' format: date-time readOnly: true _links: $ref: '#/components/schemas/SelfLink' KlarnaToken: type: object title: Klarna token required: - method - paymentInstrument properties: method: description: Payment method of the token. type: string enum: - Klarna paymentInstrument: description: Klarna instrument details required for express checkout. type: object required: - klarnaAuthorizationToken - klarnaSessionId properties: klarnaAuthorizationToken: description: Klarna authorization token. type: string klarnaSessionId: description: ID of the Klarna session. type: string billingAddress: description: Billing address object. oneOf: - $ref: '#/components/schemas/ContactObject' - type: 'null' id: description: ID of the token. readOnly: true $ref: '#/components/schemas/ResourceId' isUsed: description: Specifies if the token is already used. type: boolean default: false readOnly: true riskMetadata: oneOf: - $ref: '#/components/schemas/RiskMetadata' - type: 'null' leadSource: allOf: - $ref: '#/components/schemas/LeadSource' writeOnly: true createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' usageTime: description: Date and time when the token is used. type: - string - 'null' format: date-time readOnly: true expirationTime: description: Date and time when the token expired. type: - string - 'null' format: date-time readOnly: true _links: $ref: '#/components/schemas/SelfLink' AlternativePaymentToken: type: object title: Alternative payment token required: - method - billingAddress properties: method: description: Payment method of the token. type: string allOf: - $ref: '#/components/schemas/AlternativePaymentMethods' - not: enum: - payment-card - paypal - ach - echeck - digital-wallet - plaid-account - Khelocard - Klarna billingAddress: description: Billing address object. $ref: '#/components/schemas/ContactObject' id: description: ID of the token. readOnly: true $ref: '#/components/schemas/ResourceId' isUsed: description: Specifies if the token is already used. type: boolean default: false readOnly: true riskMetadata: oneOf: - $ref: '#/components/schemas/RiskMetadata' - type: 'null' leadSource: allOf: - $ref: '#/components/schemas/LeadSource' writeOnly: true createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' usageTime: description: Date and time when the token is used. type: - string - 'null' format: date-time readOnly: true expirationTime: description: Date and time when the token expired. type: - string - 'null' format: date-time readOnly: true _links: $ref: '#/components/schemas/SelfLink' CompositeToken: type: object discriminator: propertyName: method mapping: payment-card: '#/components/schemas/PaymentCardToken' paypal: '#/components/schemas/PayPalToken' ach: '#/components/schemas/BankAccountToken' echeck: '#/components/schemas/BankAccountToken' digital-wallet: '#/components/schemas/DigitalWalletToken' plaid-account: '#/components/schemas/PlaidAccountToken' Khelocard: '#/components/schemas/KhelocardCardToken' Klarna: '#/components/schemas/KlarnaToken' cash: '#/components/schemas/AlternativePaymentToken' check: '#/components/schemas/AlternativePaymentToken' AdvCash: '#/components/schemas/AlternativePaymentToken' Alfa-click: '#/components/schemas/AlternativePaymentToken' Alipay: '#/components/schemas/AlternativePaymentToken' AstroPay Card: '#/components/schemas/AlternativePaymentToken' AstroPay-GO: '#/components/schemas/AlternativePaymentToken' BankReferenced: '#/components/schemas/AlternativePaymentToken' bank-transfer: '#/components/schemas/AlternativePaymentToken' bank-transfer-2: '#/components/schemas/AlternativePaymentToken' bank-transfer-3: '#/components/schemas/AlternativePaymentToken' bank-transfer-4: '#/components/schemas/AlternativePaymentToken' bank-transfer-5: '#/components/schemas/AlternativePaymentToken' bank-transfer-6: '#/components/schemas/AlternativePaymentToken' bank-transfer-7: '#/components/schemas/AlternativePaymentToken' bank-transfer-8: '#/components/schemas/AlternativePaymentToken' bank-transfer-9: '#/components/schemas/AlternativePaymentToken' Baloto: '#/components/schemas/AlternativePaymentToken' Beeline: '#/components/schemas/AlternativePaymentToken' Belfius-direct-net: '#/components/schemas/AlternativePaymentToken' bitcoin: '#/components/schemas/AlternativePaymentToken' Bizum: '#/components/schemas/AlternativePaymentToken' Boleto: '#/components/schemas/AlternativePaymentToken' cash-deposit: '#/components/schemas/AlternativePaymentToken' CASHlib: '#/components/schemas/AlternativePaymentToken' CashToCode: '#/components/schemas/AlternativePaymentToken' China UnionPay: '#/components/schemas/AlternativePaymentToken' Cleo: '#/components/schemas/AlternativePaymentToken' CODVoucher: '#/components/schemas/AlternativePaymentToken' Conekta-oxxo: '#/components/schemas/AlternativePaymentToken' Cupon-de-pagos: '#/components/schemas/AlternativePaymentToken' cryptocurrency: '#/components/schemas/AlternativePaymentToken' domestic-cards: '#/components/schemas/AlternativePaymentToken' ecoPayz: '#/components/schemas/AlternativePaymentToken' ecoVoucher: '#/components/schemas/AlternativePaymentToken' Efecty: '#/components/schemas/AlternativePaymentToken' EPS: '#/components/schemas/AlternativePaymentToken' ePay.bg: '#/components/schemas/AlternativePaymentToken' eZeeWallet: '#/components/schemas/AlternativePaymentToken' FasterPay: '#/components/schemas/AlternativePaymentToken' Flexepin: '#/components/schemas/AlternativePaymentToken' Giropay: '#/components/schemas/AlternativePaymentToken' Gpaysafe: '#/components/schemas/AlternativePaymentToken' Google Pay: '#/components/schemas/AlternativePaymentToken' iDebit: '#/components/schemas/AlternativePaymentToken' iDEAL: '#/components/schemas/AlternativePaymentToken' ING-homepay: '#/components/schemas/AlternativePaymentToken' INOVAPAY-pin: '#/components/schemas/AlternativePaymentToken' INOVAPAY-wallet: '#/components/schemas/AlternativePaymentToken' InstaDebit: '#/components/schemas/AlternativePaymentToken' instant-bank-transfer: '#/components/schemas/AlternativePaymentToken' InstantPayments: '#/components/schemas/AlternativePaymentToken' Interac: '#/components/schemas/AlternativePaymentToken' Interac-online: '#/components/schemas/AlternativePaymentToken' Interac-eTransfer: '#/components/schemas/AlternativePaymentToken' invoice: '#/components/schemas/AlternativePaymentToken' iWallet: '#/components/schemas/AlternativePaymentToken' Jeton: '#/components/schemas/AlternativePaymentToken' jpay: '#/components/schemas/AlternativePaymentToken' KNOT: '#/components/schemas/AlternativePaymentToken' loonie: '#/components/schemas/AlternativePaymentToken' Matrix: '#/components/schemas/AlternativePaymentToken' MaxiCash: '#/components/schemas/AlternativePaymentToken' Megafon: '#/components/schemas/AlternativePaymentToken' MiFinity-eWallet: '#/components/schemas/AlternativePaymentToken' miscellaneous: '#/components/schemas/AlternativePaymentToken' Bancontact: '#/components/schemas/AlternativePaymentToken' Bancontact-mobile: '#/components/schemas/AlternativePaymentToken' MTS: '#/components/schemas/AlternativePaymentToken' MuchBetter: '#/components/schemas/AlternativePaymentToken' Multibanco: '#/components/schemas/AlternativePaymentToken' Neosurf: '#/components/schemas/AlternativePaymentToken' Netbanking: '#/components/schemas/AlternativePaymentToken' Neteller: '#/components/schemas/AlternativePaymentToken' Nordea-Solo: '#/components/schemas/AlternativePaymentToken' OchaPay: '#/components/schemas/AlternativePaymentToken' online-bank-transfer: '#/components/schemas/AlternativePaymentToken' Onlineueberweisen: '#/components/schemas/AlternativePaymentToken' oriental-wallet: '#/components/schemas/AlternativePaymentToken' OXXO: '#/components/schemas/AlternativePaymentToken' P24: '#/components/schemas/AlternativePaymentToken' Pagadito: '#/components/schemas/AlternativePaymentToken' PagoEffectivo: '#/components/schemas/AlternativePaymentToken' Pagsmile-deposit-express: '#/components/schemas/AlternativePaymentToken' Pagsmile-lottery: '#/components/schemas/AlternativePaymentToken' PayCash: '#/components/schemas/AlternativePaymentToken' Payeer: '#/components/schemas/AlternativePaymentToken' PaymentAsia-crypto: '#/components/schemas/AlternativePaymentToken' Paymero: '#/components/schemas/AlternativePaymentToken' Perfect-money: '#/components/schemas/AlternativePaymentToken' Piastrix: '#/components/schemas/AlternativePaymentToken' PayTabs: '#/components/schemas/AlternativePaymentToken' Paysafecard: '#/components/schemas/AlternativePaymentToken' Paysafecash: '#/components/schemas/AlternativePaymentToken' Pay4Fun: '#/components/schemas/AlternativePaymentToken' Paynote: '#/components/schemas/AlternativePaymentToken' PinPay: '#/components/schemas/AlternativePaymentToken' phone: '#/components/schemas/AlternativePaymentToken' PhonePe: '#/components/schemas/AlternativePaymentToken' POLi: '#/components/schemas/AlternativePaymentToken' PostFinance-card: '#/components/schemas/AlternativePaymentToken' PostFinance-e-finance: '#/components/schemas/AlternativePaymentToken' QIWI: '#/components/schemas/AlternativePaymentToken' QPay: '#/components/schemas/AlternativePaymentToken' QQPay: '#/components/schemas/AlternativePaymentToken' rapyd-checkout: '#/components/schemas/AlternativePaymentToken' Resurs: '#/components/schemas/AlternativePaymentToken' SafetyPay: '#/components/schemas/AlternativePaymentToken' SEPA: '#/components/schemas/AlternativePaymentToken' Skrill: '#/components/schemas/AlternativePaymentToken' Skrill Rapid Transfer: '#/components/schemas/AlternativePaymentToken' SMSVoucher: '#/components/schemas/AlternativePaymentToken' Sofort: '#/components/schemas/AlternativePaymentToken' SparkPay: '#/components/schemas/AlternativePaymentToken' swift-dbt: '#/components/schemas/AlternativePaymentToken' Tele2: '#/components/schemas/AlternativePaymentToken' Terminaly-RF: '#/components/schemas/AlternativePaymentToken' ToditoCash-card: '#/components/schemas/AlternativePaymentToken' Trustly: '#/components/schemas/AlternativePaymentToken' UPayCard: '#/components/schemas/AlternativePaymentToken' UPI: '#/components/schemas/AlternativePaymentToken' USD-coin: '#/components/schemas/AlternativePaymentToken' VCreditos: '#/components/schemas/AlternativePaymentToken' VenusPoint: '#/components/schemas/AlternativePaymentToken' voucher: '#/components/schemas/AlternativePaymentToken' voucher-2: '#/components/schemas/AlternativePaymentToken' voucher-3: '#/components/schemas/AlternativePaymentToken' voucher-4: '#/components/schemas/AlternativePaymentToken' Webmoney: '#/components/schemas/AlternativePaymentToken' Webpay: '#/components/schemas/AlternativePaymentToken' Webpay-2: '#/components/schemas/AlternativePaymentToken' Webpay Card: '#/components/schemas/AlternativePaymentToken' WeChat Pay: '#/components/schemas/AlternativePaymentToken' XPay-P2P: '#/components/schemas/AlternativePaymentToken' XPay-QR: '#/components/schemas/AlternativePaymentToken' Yandex-money: '#/components/schemas/AlternativePaymentToken' Zotapay: '#/components/schemas/AlternativePaymentToken' Zimpler: '#/components/schemas/AlternativePaymentToken' anyOf: - $ref: '#/components/schemas/PaymentCardToken' - $ref: '#/components/schemas/PayPalToken' - $ref: '#/components/schemas/BankAccountToken' - $ref: '#/components/schemas/DigitalWalletToken' - $ref: '#/components/schemas/PlaidAccountToken' - $ref: '#/components/schemas/KhelocardCardToken' - $ref: '#/components/schemas/KlarnaToken' - $ref: '#/components/schemas/AlternativePaymentToken' DigitalWalletValidation: type: object required: - type discriminator: propertyName: type mapping: Apple Pay: '#/components/schemas/ApplePayValidation' properties: type: description: Type of digital wallet to validate. type: string enum: - Apple Pay ApplePayValidation: description: Apple Pay session validation. allOf: - $ref: '#/components/schemas/DigitalWalletValidation' - type: object required: - validationRequest properties: type: type: string validationRequest: description: Validation request. type: object properties: validationUrl: type: string description: Apple Pay SDK URL that is used to perform validation. domainName: type: string description: >- Domain where the client code, such as [FramePay](https://docs.rebilly.com/docs/developer-docs/framepay/), is executed. The domain name must be registered in the Apple Pay console. For more information, see [Register a domain for Apple Pay](./PostDigitalWalletOnboardingApplePay). example: www.example.com displayName: type: string description: Display name of your store. example: My Store writeOnly: true validationResponse: description: Apple Pay SDK validation response. type: object readOnly: true PaymentInstructionToken: type: object title: Payment token required: - token properties: token: description: Token ID of the payment. type: string PaymentInstructionInstrument: type: object title: Payment instrument required: - paymentInstrumentId properties: paymentInstrumentId: type: string description: ID of the payment instrument. maxLength: 50 example: inst_0YVB8KPKNXCBR9EDX7JHSED75N PaymentInstructionMethods: type: object title: Payment Methods properties: methods: type: array description: >- List of available payment methods. Only payment methods with at least one active gateway account are allowed. If not specified all available payment methods are displayed. Customer can choose any of those as well as the payment instrument for them. Additional steps occur via a redirect to `approvalUrl`. items: $ref: '#/components/schemas/PaymentMethod' receivedBy: description: Cash receiver's name. Available only for `cash` payment method. type: string reference: description: Check reference data. Available only for `check` payment method. type: string PaymentInstruction: oneOf: - $ref: '#/components/schemas/PaymentInstructionToken' - $ref: '#/components/schemas/PaymentInstructionInstrument' - $ref: '#/components/schemas/PaymentInstructionMethods' - $ref: '#/components/schemas/PaymentCardCreatePlain' - $ref: '#/components/schemas/BankAccountCreatePlain' TransactionQuery: type: object properties: transactionId: $ref: '#/components/schemas/TransactionId' result: description: Result of the transaction. type: string readOnly: true enum: - abandoned - approved - canceled - declined - unknown status: description: Status of the transaction. type: string readOnly: true enum: - completed - conn-error - disputed - never-sent - offsite - partially-refunded - pending - refunded - sending - suspended - timeout - voided - waiting-approval - waiting-capture - waiting-gateway - waiting-refund amount: description: Amount of the transaction. type: number format: double readOnly: true currency: readOnly: true $ref: '#/components/schemas/CurrencyCode' TransactionUpdate: type: object description: >- Updates the status of a transaction to `completed` with a specified `result` and optional currency and amount values. required: - result properties: result: description: Result of the transaction. type: string enum: - abandoned - approved - canceled - declined amount: description: Amount of the transaction. type: number format: double currency: description: Currency of the transaction. $ref: '#/components/schemas/CurrencyCode' TransactionRefund: type: object required: - amount properties: amount: description: Amount of the refund. type: number format: double description: description: Description of the refund. type: string maxLength: 255 isProcessedOutside: description: Specifies if the refund is processed outside of Rebilly. type: boolean default: false TransactionTimeline: type: object properties: id: type: string description: ID of the timeline message. readOnly: true maxLength: 50 example: tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC type: description: Type of timeline message. type: string readOnly: true enum: - amount-adjusted - blocklist-matched - bump-offer-accepted - bump-offer-presented - bump-offer-rejected - customer-redirected-offsite - customer-returned - dcc-offer-accepted - dcc-offer-forced - dcc-offer-presented - dcc-offer-rejected - dispute-changed - dispute-created - dispute-forfeited - dispute-lost - dispute-responded - dispute-won - gateway-connection-failed - gateway-connection-timed-out - gateway-response-received - offsite-transaction-completed - quickbooks-payment-created - quickbooks-refund-receipt-created - quickbooks-transaction-task-failed - risk-score-changed - timeline-comment-created - transaction-abandoned - transaction-amount-discrepancy-found - transaction-approved - transaction-canceled - transaction-capture-delayed - transaction-captured - transaction-declined - transaction-discrepancy-found - transaction-disputed - transaction-initiated - transaction-payment-method-changed - transaction-process-requested - transaction-processed - transaction-queried - transaction-reconciled - transaction-refunded - transaction-retried - transaction-rules-processed - transaction-scheduled-time-changed - transaction-timeout-resolved - transaction-updated - transaction-voided - transaction-waiting-gateway - transaction-waiting-gateway-completed triggeredBy: description: Specifies who, or what, triggered the timeline message. type: string readOnly: true enum: - rebilly - app - direct-api message: description: Contents of the timeline message. type: string extraData: $ref: '#/components/schemas/TimelineExtraData' occurredTime: description: Date and time when the timeline message occurred. readOnly: true $ref: '#/components/schemas/ServerTimestamp' _links: $ref: '#/components/schemas/SelfLink' FixedFeeFormula: type: object required: - type - currency - amount properties: type: description: Type of fee. type: string enum: - fixed-fee currency: $ref: '#/components/schemas/CurrencyCode' amount: description: Amount of the fee. type: number format: double example: 10 x-type: Money Bips: type: number description: 'Basis points. Example: 100 bips = 1%, 1 bip = 0.01%.' format: integer minimum: 0 maximum: 100000 example: 100 PercentageFeeFormula: type: object required: - type - currency - bips properties: type: description: Type of fee. type: string enum: - percentage currency: $ref: '#/components/schemas/CurrencyCode' bips: $ref: '#/components/schemas/Bips' minAmount: description: >- Minimum fee amount. This value is applied when the calculated fee is less than the required minimum. type: number format: double example: 10 x-type: Money FeeFormula: type: object description: Formula that is used to calculate the fee. discriminator: propertyName: type mapping: fixed-fee: '#/components/schemas/FixedFeeFormula' percentage: '#/components/schemas/PercentageFeeFormula' anyOf: - $ref: '#/components/schemas/FixedFeeFormula' - $ref: '#/components/schemas/PercentageFeeFormula' SettlementPeriod: type: object description: |- Instruction for calculating the settlement time. The settlement time and settlement period anchor are used in conjunction with the transaction processed time, to calculate the time in which the amount settles. discriminator: propertyName: method mapping: date-interval: '#/components/schemas/SchedulingMethodDateInterval' immediately: '#/components/schemas/SchedulingMethodImmediately' anyOf: - $ref: '#/components/schemas/SchedulingMethodDateInterval' - $ref: '#/components/schemas/SchedulingMethodImmediately' SettlementSettings: type: object description: |- Settlement settings. Use these settings to set up settlement accounts. required: - settlementCurrency - settlementPeriod properties: settlementCurrency: description: Default settlement currency for all transactions. $ref: '#/components/schemas/CurrencyCode' settlementPeriod: description: Default settlement period for all transactions. $ref: '#/components/schemas/SettlementPeriod' advancedSettings: description: |- Advanced settlement settings. Use these settings to override either default settlement currency, period, or both for the transactions matched a filter. type: array items: type: object required: - filter properties: filter: type: string description: >- Filter that is based on transaction properties and is used to determine when to apply the settings. minLength: 1 maxLength: 255 example: currency:EUR,GBP settlementCurrency: $ref: '#/components/schemas/CurrencyCode' settlementPeriod: $ref: '#/components/schemas/SettlementPeriod' Fee: type: object required: - type - name - formula properties: id: type: string description: ID of the fee. readOnly: true maxLength: 50 example: fee_01GQT145JX3XBRJ8K812Y3GRE9 type: description: Type of fee. type: string enum: - buy - sell name: type: string description: Name of the fee. minLength: 1 maxLength: 255 example: A gateway fee filter: description: >- Filter that is based on the properties of the transaction and used to determine when to apply the fee. minLength: 1 maxLength: 255 example: type:sale,capture;result:approved type: - string - 'null' formula: $ref: '#/components/schemas/FeeFormula' settlementSettings: description: >- Fee settlement settings. This value overrides the gateway account financial settings of the transaction. oneOf: - $ref: '#/components/schemas/SettlementSettings' - type: 'null' createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' PatchFee: type: object properties: type: description: Type of fee. type: string enum: - buy - sell name: type: string description: Name of the fee. minLength: 1 maxLength: 255 example: A gateway fee filter: description: >- Filter that is based on the properties of the transaction and used to determine when to apply the fee. minLength: 1 maxLength: 255 example: type:sale,capture;result:approved type: - string - 'null' formula: $ref: '#/components/schemas/FeeFormula' settlementSettings: description: >- Fee settlement settings. This value overrides the gateway account financial settings of the transaction. oneOf: - $ref: '#/components/schemas/SettlementSettings' - type: 'null' AllowedIps: description: |- List of IP addresses that are permitted access. Private subnets are prohibited. To remove restrictions, set this value to `null`. type: - array - 'null' items: type: string format: ip example: - 153.12.32.33 - 201.54.122.0/24 - 76.*.*.* - 2001:0db8:abcd:0012:0000:0000:0000:ffff - 2001:db8:abcd:12::0/64 ApiKey: type: object description: API secret Key. required: - description properties: id: type: string readOnly: true description: ID of the API key. maxLength: 50 example: api_key_0YV7JQMY6ED2FBE58BMFHBWBZH description: description: API key description. type: string type: description: Type of API key. type: string default: secret enum: - secret - publishable acl: description: >- Specify access control list here if creating a restricted API key. Send all matching permission with an empty scope to allow all permissions. $ref: '#/components/schemas/Acl' allowedIps: $ref: '#/components/schemas/AllowedIps' apiUser: description: API user name. type: string readOnly: true secretKey: description: API secret key's value. type: string readOnly: true createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' ChargeTransaction: type: object required: - type properties: id: type: string description: ID of the balance transaction. readOnly: true maxLength: 50 example: btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP type: description: Type of balance transaction. type: string readOnly: true enum: - charge parentId: description: >- ID of the parent entry if one exists. Some types of transactions relate to parent transactions. For example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`. type: - string - 'null' maxLength: 50 example: btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP transactionId: description: ID of the related transaction. $ref: '#/components/schemas/TransactionId' settlementCurrency: $ref: '#/components/schemas/CurrencyCode' settlementAmount: x-type: Money x-currency-field: settlementCurrency x-sortable: true x-basic: true description: Amount of the settlement. type: - number - 'null' format: double settlementTime: description: Date and time of the expected settlement. $ref: '#/components/schemas/ServerTimestamp' settlementRate: description: |- If the settlement currency does not match the transaction currency. This field displays the exchange rate of the settlement. type: - number - 'null' format: double createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' RefundTransaction: type: object required: - type properties: id: type: string description: ID of the balance transaction. readOnly: true maxLength: 50 example: btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP type: description: Type of balance transaction. type: string readOnly: true enum: - refund parentId: description: >- ID of the parent entry if one exists. Some types of transactions relate to parent transactions. For example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`. type: - string - 'null' maxLength: 50 example: btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP transactionId: description: ID of the related transaction. $ref: '#/components/schemas/TransactionId' settlementCurrency: $ref: '#/components/schemas/CurrencyCode' settlementAmount: x-type: Money x-currency-field: settlementCurrency x-sortable: true x-basic: true description: Amount of the settlement. type: - number - 'null' format: double settlementTime: description: Date and time of the expected settlement. $ref: '#/components/schemas/ServerTimestamp' settlementRate: description: |- If the settlement currency does not match the transaction currency. This field displays the exchange rate of the settlement. type: - number - 'null' format: double createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' BuyFeeTransaction: type: object required: - type properties: id: type: string description: ID of the balance transaction. readOnly: true maxLength: 50 example: btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP type: description: Type of balance transaction. type: string readOnly: true enum: - buy-fee fee: type: object properties: name: description: Name of the fee. type: string parentId: description: >- ID of the parent entry if one exists. Some types of transactions relate to parent transactions. For example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`. type: - string - 'null' maxLength: 50 example: btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP transactionId: description: ID of the related transaction. $ref: '#/components/schemas/TransactionId' settlementCurrency: $ref: '#/components/schemas/CurrencyCode' settlementAmount: x-type: Money x-currency-field: settlementCurrency x-sortable: true x-basic: true description: Amount of the settlement. type: - number - 'null' format: double settlementTime: description: Date and time of the expected settlement. $ref: '#/components/schemas/ServerTimestamp' settlementRate: description: |- If the settlement currency does not match the transaction currency. This field displays the exchange rate of the settlement. type: - number - 'null' format: double createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' SellFeeTransaction: type: object required: - type properties: id: type: string description: ID of the balance transaction. readOnly: true maxLength: 50 example: btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP type: description: Type of balance transaction. type: string readOnly: true enum: - sell-fee fee: type: object properties: name: description: Name of the fee. type: string parentId: description: >- ID of the parent entry if one exists. Some types of transactions relate to parent transactions. For example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`. type: - string - 'null' maxLength: 50 example: btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP transactionId: description: ID of the related transaction. $ref: '#/components/schemas/TransactionId' settlementCurrency: $ref: '#/components/schemas/CurrencyCode' settlementAmount: x-type: Money x-currency-field: settlementCurrency x-sortable: true x-basic: true description: Amount of the settlement. type: - number - 'null' format: double settlementTime: description: Date and time of the expected settlement. $ref: '#/components/schemas/ServerTimestamp' settlementRate: description: |- If the settlement currency does not match the transaction currency. This field displays the exchange rate of the settlement. type: - number - 'null' format: double createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' RiskReserveTransaction: type: object required: - type properties: id: type: string description: ID of the balance transaction. readOnly: true maxLength: 50 example: btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP type: description: Type of balance transaction. type: string readOnly: true enum: - risk-reserve riskReserve: type: object properties: releaseTime: description: Time of risk reserve release. type: - string - 'null' format: date-time readOnly: true parentId: description: >- ID of the parent entry if one exists. Some types of transactions relate to parent transactions. For example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`. type: string maxLength: 50 example: btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP transactionId: description: ID of the related transaction. $ref: '#/components/schemas/TransactionId' settlementCurrency: $ref: '#/components/schemas/CurrencyCode' settlementAmount: x-type: Money x-currency-field: settlementCurrency x-sortable: true x-basic: true description: Amount of the settlement. type: - number - 'null' format: double settlementTime: description: Date and time of the expected settlement. $ref: '#/components/schemas/ServerTimestamp' settlementRate: description: |- If the settlement currency does not match the transaction currency. This field displays the exchange rate of the settlement. type: - number - 'null' format: double createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' RiskReserveReleaseTransaction: type: object required: - type properties: id: type: string description: ID of the balance transaction. readOnly: true maxLength: 50 example: btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP type: description: Type of balance transaction. type: string readOnly: true enum: - risk-reserve-release parentId: description: >- ID of the parent entry if one exists. Some types of transactions relate to parent transactions. For example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`. type: string maxLength: 50 example: btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP transactionId: description: ID of the related transaction. $ref: '#/components/schemas/TransactionId' settlementCurrency: $ref: '#/components/schemas/CurrencyCode' settlementAmount: x-type: Money x-currency-field: settlementCurrency x-sortable: true x-basic: true description: Amount of the settlement. type: - number - 'null' format: double settlementTime: description: Date and time of the expected settlement. $ref: '#/components/schemas/ServerTimestamp' settlementRate: description: |- If the settlement currency does not match the transaction currency. This field displays the exchange rate of the settlement. type: - number - 'null' format: double createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' ReverseTransaction: type: object required: - type properties: id: type: string description: ID of the balance transaction. readOnly: true maxLength: 50 example: btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP type: description: Type of balance transaction. type: string readOnly: true enum: - reverse parentId: description: >- ID of the parent entry if one exists. Some types of transactions relate to parent transactions. For example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`. type: string maxLength: 50 example: btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP transactionId: description: ID of the related transaction. $ref: '#/components/schemas/TransactionId' settlementCurrency: $ref: '#/components/schemas/CurrencyCode' settlementAmount: x-type: Money x-currency-field: settlementCurrency x-sortable: true x-basic: true description: Amount of the settlement. type: - number - 'null' format: double settlementTime: description: Date and time of the expected settlement. $ref: '#/components/schemas/ServerTimestamp' settlementRate: description: |- If the settlement currency does not match the transaction currency. This field displays the exchange rate of the settlement. type: - number - 'null' format: double createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' BalanceTransaction: type: object title: Balance transaction discriminator: propertyName: type mapping: charge: '#/components/schemas/ChargeTransaction' refund: '#/components/schemas/RefundTransaction' buy-fee: '#/components/schemas/BuyFeeTransaction' sell-fee: '#/components/schemas/SellFeeTransaction' risk-reserve: '#/components/schemas/RiskReserveTransaction' risk-reserve-release: '#/components/schemas/RiskReserveReleaseTransaction' reverse: '#/components/schemas/ReverseTransaction' oneOf: - $ref: '#/components/schemas/ChargeTransaction' - $ref: '#/components/schemas/RefundTransaction' - $ref: '#/components/schemas/BuyFeeTransaction' - $ref: '#/components/schemas/SellFeeTransaction' - $ref: '#/components/schemas/RiskReserveTransaction' - $ref: '#/components/schemas/RiskReserveReleaseTransaction' - $ref: '#/components/schemas/ReverseTransaction' BillingPortal: type: object required: - websiteId - slug - name properties: id: type: string description: ID of the billing portal. readOnly: true maxLength: 50 example: bill_prt_0YV7K5TYV5D1P9ZNKDT39KZC3C websiteId: $ref: '#/components/schemas/WebsiteId' slug: description: >- Path segment that is appended to the billing portal URL to help make it human-readable. Example: `https://example.com/billing-portal/{slug}`. type: string minLength: 5 maxLength: 100 name: description: >- Billing portal name. This name is for internal use and helps you to organize and differentiate billing portals. This value is not displayed to your customers. type: string customDomain: description: |- Custom domain for the billing portal. The default domain is: `portal.secure-payments.app`. type: - string - 'null' maxLength: 255 features: description: Features that can be enabled for the billing portal. type: object properties: authenticateWithPassword: description: Specifies if a customer can authenticate with a password. type: boolean default: true orderCancel: description: Specifies if a customer can cancel an order. type: boolean default: true orderAddressEdit: description: Specifies if a customer can change an order address. type: boolean default: true paymentInstrumentAdd: description: Specifies if a customer can add a new payment instrument. type: boolean default: true paymentInstrumentUpdate: description: Specifies if a customer can update their payment instruments. type: boolean default: true paymentInstrumentDeactivate: description: Specifies if a customer can disable their payment instruments. type: boolean default: true customization: description: Visual customization options for the billing portal. type: object properties: logoId: type: - string - 'null' description: File ID of the billing portal logo. maxLength: 50 example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21 colors: description: Various colors used in the billing portal. type: object properties: primary: description: Primary color for the billing portal in hexadecimal format. type: string maxLength: 6 default: 0044d4 secondary: description: >- Secondary color for the billing portal in hexadecimal format. type: string maxLength: 6 default: ffffff links: description: URLs that are displayed in the billing portal. type: object properties: refundPolicy: description: Website refund policy URL. type: - string - 'null' format: url privacyPolicy: description: Website privacy policy URL. type: - string - 'null' format: url termsOfService: description: Website terms of service URL. type: - string - 'null' format: url status: description: |- Status of the billing portal. If the status is `inactive`, the billing portal URL results in a 404 error. type: string enum: - active - inactive default: active createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' BroadcastMessage: type: object required: - startSendingTime - messages properties: id: type: string description: ID of the broadcast message. readOnly: true maxLength: 50 example: mail_bcst_0YV8XW5EXWDVEAP64XP8CY2X40 filter: type: - string - 'null' description: >- Use this filter to select customers during broadcast message processing. This field uses the same syntax as the `query` filter, but without the `filter=` prefix. Examples: `firstName:John`, `firstName:John;lastName:Doe`. > **Important**: Do not URL encode the filter value. example: firstName:John;lastName:Doe title: type: string description: Title of the message. This title displays in reports. messages: type: array description: List of messages. minItems: 1 items: type: object properties: id: type: string format: uuid description: ID of the message. version: type: string description: >- Version number of the message. Use this field to distinguish between multiple messages by name and version number. If there are no versions, this field is empty. weight: type: integer description: >- Weight distribution value that is assigned to a template for a split test. Each template in a split test can be assigned a weight. The higher the weight value, the more likely the message template is used. The split test algorithm does not assess locale when making a weighted template selection. minimum: 0 maximum: 100 example: 75 default: 100 templates: description: >- Split test templates. Use split tests to determine which content is most effective. Split tests send variations of the same message to different customers or leads. You can then send the winning message to the remaining customers or leads. type: array minItems: 1 items: type: object properties: from: type: string description: >- Email address of the sender. > **Important:** This value must be a verified email address. To verify an email address: 1. [Create an email delivery setting](https://www.rebilly.com/catalog/all/email-delivery-settings/postemaildeliverysetting/). In the response, you receive the email and a token. 1. [Verify the email delivery](https://www.rebilly.com/catalog/all/email-delivery-settings/putemaildeliverysettingsverification/) by passing the token as the path parameter. maxLength: 254 example: example@example.com subject: type: string description: >- Subject of the message. The use of template placeholders is permitted for this field. maxLength: 998 example: Demonstration subject text: type: string description: >- Text body of the message. To use content from the `html` field, leave this field empty. The use of template placeholders is permitted for this field. example: Demonstration text html: type: string description: >- HTML body of the message. To use content from the `text` field, leave this field empty. The use of template placeholders is permitted for this field. example:

Demonstration text

locale: type: string description: >- Language locale identifier in [RFC 5646](https://tools.ietf.org/html/rfc5646) format. example: fr-FR required: - from - subject - text - html - locale required: - templates splitTestStartTime: readOnly: true type: - string - 'null' format: date-time description: Date and time when the split test messages are scheduled to send. startSendingTime: type: string format: date-time description: Date and time when the message is scheduled to send. status: readOnly: true type: string description: Status of the broadcast message. enum: - draft - sending - sent - archived createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' DepositRequest: type: object required: - websiteId - customerId - currency properties: id: type: string description: ID of the deposit request. readOnly: true maxLength: 50 example: dep_req_0YVJ65BSGYC3EAT58SEX8KY6J7 websiteId: description: >- Website ID of the deposit. This value specifies the website with which the deposit is associated. type: string maxLength: 50 example: web_0YV7DE4Z26DQSA1AC92FBJ7SEG customerId: $ref: '#/components/schemas/CustomerId' transactionId: type: - string - 'null' description: ID of the transaction that is used in the deposit request. deprecated: true readOnly: true maxLength: 50 example: txn_0YVDTQJ8YWDGQACV2N2N5SPWQ0 transactionIds: type: array description: >- List of transaction IDs that are associated with the deposit request. This list includes transactions that are created from the deposit request. There is a maximum of one `approved` transaction in the list. items: type: string maxLength: 50 status: description: Status of the request. type: string readOnly: true enum: - created - pending - initiated - attempted - completed - expired x-enumDescriptions: created: >- Request is created, but it has not been visited by a customer. This is a temporary state. pending: >- Request has been visited by a customer, but no funds have been deposited yet. This is a temporary state. initiated: >- A funds deposit transaction has been initiated. This is a temporary state. attempted: >- A funds deposit transaction was attempted and declined. This is a temporary state. completed: >- A funds deposit transaction has been approved and completed. This is a permanent state. expired: >- Request expired without an approved deposit transaction. This is a permanent state. currency: $ref: '#/components/schemas/CurrencyCode' amounts: type: array description: >- List of available deposit amounts. If `amounts` is not specified when a deposit is created, amounts are determined from the chosen strategy. For more information, see the [`strategyId` property](https://www.rebilly.com/catalog/all/deposits/postdepositrequest#deposits/postdepositrequest/t=request&path=strategyid). items: type: number format: double minimum: 0.01 customAmount: type: - object - 'null' description: >- Custom amount restrictions. If this value is `null`, custom amounts are prohibited. If `customAmount` is not specified when a deposit request is created, amount restrictions are determined from the chosen strategy. For more information, see the [`strategyId` property](https://www.rebilly.com/catalog/all/deposits/postdepositrequest#deposits/postdepositrequest/t=request&path=strategyid). required: - minimum - multipleOf - maximum properties: minimum: description: Minimum custom amount. type: number format: double minimum: 0.01 multipleOf: description: >- Multiple by which the custom amount increases. For example, if `minimum` is equal to 5.30, and `multipleOf` is 0.50, the valid custom amount is 5.30, 5.80, 6.30, 6.80 and so on until the `maximum` value is reached. A valid custom amount must be equal to `minimum` + X * `multipleOf`, where X is any non negative integer. type: number format: double minimum: 0.01 maximum: description: >- Maximum custom amount. This value must be equal to `minimum` + X * `multipleOf`, where X is any positive integer. type: number format: double minimum: 0.01 redirectUrl: description: >- URL to redirect the customer to when a deposit is completed. The default value is the website URL. type: string format: uri expirationTime: description: >- Date and time at which the deposit request expires. The default expiration time is one hour from the time the request is created. type: string format: date-time propertiesSchema: readOnly: true description: >- Defines properties the user can complete when they use the hosted deposit form. This field accepts [JSON-schema](https://json-schema.org/) drafts 4, 6, and 7. type: - object - 'null' example: type: object properties: email: type: string max: type: integer minimum: 0 exclusiveMaximum: 100 required: - email properties: readOnly: true description: >- Properties that are available for the user to complete when they use the hosted deposit form. Use this object to describe fields that are rendered and completed on the hosted deposit form. type: - object - 'null' additionalProperties: type: string example: email: email@example.com max: '33' notificationUrl: description: >- URL where a server-to-server POST notification is sent. This notification is sent when the transaction result is finalized after a timeout or an offsite interaction. Do not interpret this notification as a confirmation, complete a `GET` request to confirm the result of the transaction. To ensure the request is not reattempted, when the result is confirmed, respond with a `2xx` HTTP status code. The following placeholders are available to use in this URI: `{id}` and `{result}`. These placeholders are replaced the with the transaction ID and result accordingly. type: - string - 'null' format: uri customFields: description: >- Custom fields related to the deposit request. Custom field values are copied to created transactions if matching custom fields (name, type) exist. $ref: '#/components/schemas/ResourceCustomFields' createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - deposit - transactions _embedded: type: object description: Embedded objects that are requested by the `expand` query parameter. readOnly: true properties: customer: type: object website: type: object transactions: type: array maxItems: 10 description: Most recent associated transactions. PostDepositRequest: type: object required: - websiteId - customerId - currency properties: websiteId: description: >- Website ID of the deposit. This value specifies the website with which the deposit is associated. type: string maxLength: 50 example: web_0YV7DE4Z26DQSA1AC92FBJ7SEG customerId: $ref: '#/components/schemas/CustomerId' strategyId: description: >- ID of a strategy to be applied for this request for `amounts` and `customAmount`. If this field is not specified, a randomly selected strategy with a matching `filter` value is applied for empty `amounts` and `customAmount`. If there is no matching strategy, the default strategy with the following parameters is applied for empty `amounts` and `customAmount`: ```yaml amounts: calculator: absolute baseAmount: 10 increments: [10, 20] adjustBaseToLastDeposit: true customAmount: minimum: 1 multipleOf: 1 maximum: 10000 ``` For more information, see [Create a deposit strategy](https://www.rebilly.com/catalog/all/deposits/postdepositstrategy). type: - string - 'null' maxLength: 50 example: dep_str_0YVJ64MAHTDPA97H8S7R5MYR1M currency: $ref: '#/components/schemas/CurrencyCode' amounts: type: - array - 'null' description: >- List of available deposit amounts. If `amounts` is not specified when a deposit request is created, amounts are determined from the chosen strategy. For more information, see the [`strategyId` property](https://www.rebilly.com/catalog/all/deposits/postdepositrequest#deposits/postdepositrequest/t=request&path=strategyid). items: type: number format: double minimum: 0.01 amountLimits: type: - object - 'null' description: >- Deposit amount limit information. Set optional minimum and maximum deposit amounts. Limits override `amounts` and `customAmount` values. If this value is `null`, deposit amount limits are not set. minProperties: 1 properties: minimum: description: Minimum deposit amount. type: - number - 'null' format: double default: 0 minimum: 0 maximum: description: Maximum deposit amount. type: - number - 'null' format: double minimum: 0 customAmount: type: - object - 'null' description: >- Custom amount restrictions. If this value is `null`, custom amounts are prohibited. If `customAmount` is not specified when a deposit request is created, amount restrictions are determined from the chosen strategy. For more information, see the [`strategyId` property](https://www.rebilly.com/catalog/all/deposits/postdepositrequest#deposits/postdepositrequest/t=request&path=strategyid). required: - minimum - multipleOf - maximum properties: minimum: description: Minimum custom amount. type: number format: double minimum: 0.01 multipleOf: description: >- Multiple by which the custom amount increases. For example, if `minimum` is equal to 5.30, and `multipleOf` is 0.50, the valid custom amount is 5.30, 5.80, 6.30, 6.80 and so on until the `maximum` value is reached. A valid custom amount must be equal to `minimum` + X * `multipleOf`, where X is any non negative integer. type: number format: double minimum: 0.01 maximum: description: >- Maximum custom amount. This value must be equal to `minimum` + X * `multipleOf`, where X is any positive integer. type: number format: double minimum: 0.01 redirectUrl: description: >- URL to redirect the customer to when a deposit is completed. The default value is the website URL. type: - string - 'null' format: uri expirationTime: description: >- Date and time at which the deposit request expires. The default expiration time is one hour after the time the request is created. type: - string - 'null' format: date-time customPropertySetId: description: >- ID of a custom property set to apply to the request `propertiesSchema`. type: - string - 'null' maxLength: 50 example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21 notificationUrl: description: >- URL where a server-to-server `POST` notification is sent. This notification is sent when the transaction result is finalized after a timeout or an offsite interaction. Do not interpret this notification as a confirmation, complete a `GET` request to confirm the result of the transaction. To ensure the request is not reattempted, when the result is confirmed, respond with a `2xx` HTTP status code. The following placeholders are available to use in this URI: `{id}` and `{result}`. These placeholders are replaced the with the transaction ID and result accordingly. type: - string - 'null' format: uri DepositStrategy: type: object required: - name - amounts - customAmount properties: id: type: string description: ID of the deposit strategy. readOnly: true maxLength: 50 example: dep_str_0YVJ64MAHTDPA97H8S7R5MYR1M name: type: string description: Name of the strategy. filter: type: string description: >- Filter that uses deposit request properties to determine if a deposit strategy is applicable for the request. If this field is empty, the strategy is applicable for any request. default: '' example: depositRequest.currency:USD amounts: type: object description: Deposit strategy amounts configuration. required: - calculator - baseAmount - increments properties: calculator: type: string description: >- Deposit amounts calculator. This field specifies if amounts are calculated using an absolute or percentage calculation. Amounts are specified in `baseAmount`, and increments are specified in `increments`. Example: `baseAmount: 10` and `increments: [20, 50, 100]`. - If the calculator is set to `absolute`: the amounts displayed to the customer are `[10, 30, 60, 110]`. - If the calculator is set to `percent`: the amounts displayed to the customer are `[10, 12, 15, 20]`. enum: - absolute - percent baseAmount: type: number format: double minimum: 0.01 description: First amount that is displayed to customer. increments: type: array description: >- List of incremental amounts that are displayed to customer. For more information, see the [`calculator` property](https://www.rebilly.com/catalog/all/deposits/postdepositstrategy#deposits/postdepositstrategy/t=request&path=amounts/calculator). items: type: number format: double minimum: 0.01 adjustBaseToLastDeposit: type: boolean default: false description: >- Specifies if the base amount must be adjusted based on the last deposit. If this value is `true`, the `baseAmount` is changed to the last successful deposit amount made using [Create a deposit request](https://www.rebilly.com/catalog/all/deposits/postdepositrequest). If the customer has no successful deposits, `baseAmount` is not adjusted. customAmount: type: - object - 'null' description: >- Custom amount restrictions. If this value is `null`, custom amounts are prohibited. If `customAmount` is not specified when a deposit request is created, amount restrictions are determined from the chosen strategy. For more information, see the [`strategyId` property](https://www.rebilly.com/catalog/all/deposits/postdepositrequest#deposits/postdepositrequest/t=request&path=strategyid). required: - minimum - multipleOf - maximum properties: minimum: description: Minimum custom amount. type: number format: double minimum: 0.01 multipleOf: description: >- Multiple by which the custom amount increases. For example, if `minimum` is equal to 5.30, and `multipleOf` is 0.50, the valid custom amount is 5.30, 5.80, 6.30, 6.80 and so on until the `maximum` value is reached. A valid custom amount must be equal to `minimum` + X * `multipleOf`, where X is any non negative integer. type: number format: double minimum: 0.01 maximum: description: >- Maximum custom amount. This value must be equal to `minimum` + X * `multipleOf`, where X is any positive integer. type: number format: double minimum: 0.01 createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' DepositCustomPropertySet: type: object required: - name - properties properties: id: type: string description: ID of the deposit property set. readOnly: true maxLength: 50 example: dep_prop_0YVJ640MB4CXVB8KXBRW3B79R9 name: type: string description: Name of the custom property set. properties: description: >- Defines properties the user can complete when they use the hosted deposit form. This field accepts [JSON-schema](https://json-schema.org/) drafts 4, 6, and 7. Accepted properties types are: `string`, `number`, `integer`, `array`, and `enum`. For more information, see [Configure custom hosted deposit properties](https://www.rebilly.com/docs/dev-docs/configure-custom-hosted-deposit-properties/). type: object example: type: object properties: email: type: string max: type: integer minimum: 0 exclusiveMaximum: 100 required: - email createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' CheckoutFormFixedPlan: title: Fixed quantity type: object required: - planId - type - quantity properties: planId: type: string description: ID of the plan. maxLength: 50 example: plan_0YV7DENSVGDBW9S71XZNNYYQ0X type: description: |- Type of plan. If this value is set to `fixed`, customers cannot choose the plan quantity. If this value is set to `variable`, customers can choose the plan quantity. type: string enum: - fixed quantity: description: Quantity of the plan. type: integer minimum: 1 CheckoutFormVariablePlan: title: Variable quantity type: object required: - planId - type - quantity properties: planId: type: string description: ID of the plan. maxLength: 50 example: plan_0YV7DENSVGDBW9S71XZNNYYQ0X type: description: |- Type of plan. If this value is set to `variable`, customers can choose the plan quantity. If this value is set to `fixed`, customers cannot choose the plan quantity. type: string enum: - variable quantity: description: Default plan quantity. type: integer minimum: description: Minimum plan quantity. type: integer minimum: 1 default: 1 multipleOf: description: Multiple by which the plan quantity increases. type: integer minimum: 1 default: 1 maximum: description: Maximum plan quantity. type: integer minimum: 1 default: 100 CheckoutFormPlan: type: object discriminator: propertyName: type mapping: fixed: '#/components/schemas/CheckoutFormFixedPlan' variable: '#/components/schemas/CheckoutFormVariablePlan' oneOf: - $ref: '#/components/schemas/CheckoutFormFixedPlan' - $ref: '#/components/schemas/CheckoutFormVariablePlan' CheckoutForm: type: object required: - name - websiteId - plans properties: id: type: string description: ID of the checkout form. readOnly: true maxLength: 50 example: chkt_frm_0YV8XZ6174C2MBS5011SAZNMBP websiteId: $ref: '#/components/schemas/WebsiteId' customDomain: description: Custom domain for the checkout form. type: - string - 'null' maxLength: 255 plans: type: array description: >- List of plans that are applied to a customer order by default. Plans describe how the customer must pay for products. For more information, see [Plans](https://www.rebilly.com/docs/dev-docs/api/plans/). minItems: 1 items: $ref: '#/components/schemas/CheckoutFormPlan' addonPlans: type: array description: >- List of add-on plans that are displayed to the customer on the payment screen. Add-ons are plans that the customer has not already subscribed to. The customer selects whether to add an add-on plan to their current order. default: [] items: $ref: '#/components/schemas/CheckoutFormPlan' bumpPlans: type: array description: >- List of bump plans that are displayed to the customer on the payment screen. Use bump plans to offer purchase bonuses, discounts, and deals to the customer. The customer selects whether to purchase bump plans, or to use the plans that are specified in their current order. default: [] items: $ref: '#/components/schemas/CheckoutFormPlan' accountsEnabled: description: >- Specifies if the account is enabled. If this value is `true`, the customer can sign-up and sign-in using the checkout form. type: boolean default: false couponsEnabled: description: >- Specifies if coupons are enabled in the checkout form. If this value is `true`, the customer can use coupons in the checkout form. Use coupons to reward customers, generate sales, or to test new pricing strategies. type: boolean default: false purchaseLimit: description: >- Limits the number of purchases that can be made using a specific checkout form. If a purchase limit value is set, each purchase decreases this value. When the purchases limit value reaches zero, the checkout form becomes inactive. type: - integer - 'null' minimum: 0 default: null paymentMethods: description: |- List of available payment methods. Payment methods must have at least one active gateway account. If not specified, all available payment methods are displayed. type: array items: $ref: '#/components/schemas/PaymentMethod' customization: description: Visual customization options for the checkout form. type: object properties: logoId: description: ID of the linked file object. type: - string - 'null' maxLength: 50 example: file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N summary: description: Summary text. type: - string - 'null' buttonText: description: >- Button text. Use the `{{amount}}` placeholder to display the checkout form total. type: string default: Pay {{amount}} colors: description: Primary color used in the checkout form and button text. type: object properties: primary: description: Primary color for the checkout form in hexadecimal format. type: string maxLength: 6 default: 0044d4 buttonText: description: >- Button text color for the checkout form in hexadecimal format. type: string maxLength: 6 default: ffffff links: description: URLs that are displayed on the checkout form. type: object properties: refundPolicy: description: Website refund policy URL. type: - string - 'null' format: url privacyPolicy: description: Website privacy policy URL. type: - string - 'null' format: url termsOfService: description: Website terms of service URL. type: - string - 'null' format: url tracking: description: Tracking system IDs. type: object properties: googleAnalytics: description: Google Analytics tracking ID. type: - string - 'null' example: UA-XXXXX-YY googleTagManager: description: Google Tag Manager tracking ID. type: - string - 'null' example: GTM-XXXXX gtagJs: description: >- Google Analytics tracking ID. This value is used by Google Global Site Tag (gtag.js) service. type: - string - 'null' example: UA-XXXXX-YY facebookPixel: description: Facebook Pixel tracking ID. type: - string - 'null' example: '1234567890' segmentAnalytics: description: Segment Analytics tracking ID. type: - string - 'null' example: '1234567890' heapIo: description: Heap.io tracking ID. type: - string - 'null' example: '1234567890' requiredAdditionalFields: description: List of required fields. type: array items: type: string example: - information.companyName - information.phoneNumber name: description: >- Name of the checkout form. This name value is for internal display, and is not visible to your customers. Use this name to locate and organize your checkout forms. type: string status: description: |- Status of the checkout form. If the `status` value is `inactive`, the checkout form URL produces a 404 error. type: string enum: - active - inactive default: active createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - preview SmtpAuthorizationNone: type: object required: - type properties: type: type: string enum: - none default: none SmtpAuthorizationCramMd5: type: object properties: username: description: Authentication username. type: string password: description: Authentication password. type: string format: password type: type: string enum: - cram-md5 default: none required: - username - password - type SmtpAuthorizationLogin: type: object properties: username: description: Authentication username. type: string password: description: Authentication password. type: string format: password type: type: string enum: - login default: none required: - username - password - type SmtpAuthorizationPlain: type: object properties: username: description: Authentication username. type: string password: description: Authentication password. type: string format: password type: type: string enum: - plain default: none required: - username - password - type SmtpAuthorization: type: object description: Authentication type and details. discriminator: propertyName: type mapping: none: '#/components/schemas/SmtpAuthorizationNone' cram-md5: '#/components/schemas/SmtpAuthorizationCramMd5' login: '#/components/schemas/SmtpAuthorizationLogin' plain: '#/components/schemas/SmtpAuthorizationPlain' oneOf: - $ref: '#/components/schemas/SmtpAuthorizationNone' - $ref: '#/components/schemas/SmtpAuthorizationCramMd5' - $ref: '#/components/schemas/SmtpAuthorizationLogin' - $ref: '#/components/schemas/SmtpAuthorizationPlain' SmtpCredential: type: object description: SMTP credential. required: - host - type properties: id: type: string description: ID of the credential. readOnly: true maxLength: 36 example: crd_0YV9Y706QGCB39FQD380G1ZHZH hash: deprecated: true type: string description: ID of the credential. Use `id` field instead. readOnly: true maxLength: 36 example: crd_0YV9Y706QGCB39FQD380G1ZHZH status: description: Status of the credential. type: string enum: - active - inactive - deactivated x-enumDescriptions: active: Credential is active and can be used. inactive: >- Credential is temporarily inactivated and cannot be used until reactivated. deactivated: Credential is permanently deactivated and cannot be reactivated. deactivationTime: description: Date and time when the credential is deactivated. type: - string - 'null' format: date-time readOnly: true type: description: Type of credential. type: string readOnly: true enum: - smtp host: type: string description: SMTP host name. port: type: integer description: SMTP port value. minimum: 1 maximum: 65535 default: 25 encryption: type: string description: Encryption value. enum: - none - tls - ssl default: none auth: $ref: '#/components/schemas/SmtpAuthorization' _links: $ref: '#/components/schemas/SelfLink' WebhookAuthorizationNone: type: object properties: type: type: string description: Type of authorization. enum: - none default: none required: - type WebhookAuthorizationBasic: type: object properties: type: type: string description: Type of authorization. enum: - basic default: none username: description: Authentication username. type: string password: description: Authentication password. type: string format: password required: - username - password - type WebhookAuthorizationDigest: type: object properties: type: type: string description: Type of authorization. enum: - digest default: none username: description: Authentication username. type: string password: description: Authentication password. type: string format: password required: - username - password - type WebhookAuthorizationOAuth1: type: object properties: type: type: string description: Type of authorization. enum: - oauth1 default: none consumerKey: description: Consumer key. type: string consumerSecret: description: Customer secret. type: string token: description: Authentication token. type: string tokenSecret: description: Secret token. type: string required: - consumerKey - consumerSecret - token - tokenSecret - type WebhookAuthorization: type: object description: Authentication type and details. discriminator: propertyName: type mapping: none: '#/components/schemas/WebhookAuthorizationNone' basic: '#/components/schemas/WebhookAuthorizationBasic' digest: '#/components/schemas/WebhookAuthorizationDigest' oauth1: '#/components/schemas/WebhookAuthorizationOAuth1' oneOf: - $ref: '#/components/schemas/WebhookAuthorizationNone' - $ref: '#/components/schemas/WebhookAuthorizationBasic' - $ref: '#/components/schemas/WebhookAuthorizationDigest' - $ref: '#/components/schemas/WebhookAuthorizationOAuth1' WebhookCredential: type: object description: Webhook credential. properties: id: type: string description: ID of the credential. readOnly: true maxLength: 36 example: crd_0YV9Y706QGCB39FQD380G1ZHZH hash: deprecated: true type: string description: ID of the credential. Use `id` field instead. readOnly: true maxLength: 36 example: crd_0YV9Y706QGCB39FQD380G1ZHZH status: description: Status of the credential. type: string enum: - active - inactive - deactivated x-enumDescriptions: active: Credential is active and can be used. inactive: >- Credential is temporarily inactivated and cannot be used until reactivated. deactivated: Credential is permanently deactivated and cannot be reactivated. deactivationTime: description: Date and time when the credential is deactivated. type: - string - 'null' format: date-time readOnly: true type: description: Type of credential. type: string readOnly: true enum: - webhook host: type: string description: Name of the host. pattern: ^[A-Za-z0-9-.]+$ example: app-prod.example.com auth: $ref: '#/components/schemas/WebhookAuthorization' required: - host - type ExperianCredential: type: object description: >- Experian integration provides identity verification. For more information, see [Experian integration](https://www.rebilly.com/docs/automations/experian-integration/#experian-integration). required: - username - password - hmacKey - publicKey - type properties: id: type: string description: ID of the credential. readOnly: true maxLength: 36 example: crd_0YV9Y706QGCB39FQD380G1ZHZH hash: deprecated: true type: string description: ID of the credential. Use `id` field instead. readOnly: true maxLength: 36 example: crd_0YV9Y706QGCB39FQD380G1ZHZH status: description: Status of the credential. type: string enum: - active - inactive - deactivated x-enumDescriptions: active: Credential is active and can be used. inactive: >- Credential is temporarily inactivated and cannot be used until reactivated. deactivated: Credential is permanently deactivated and cannot be reactivated. deactivationTime: description: Date and time when the credential is deactivated. type: - string - 'null' format: date-time readOnly: true type: description: Type of credential. type: string readOnly: true enum: - experian username: type: string description: Username of the Experian account. password: type: string description: Password of the Experian account. format: password hmacKey: type: string description: >- HMAC key that is used to generate the signature for Experian requests. format: password example: PxOclToLSxW4oAB5N5HSdfoslyEWuvfkLjfHeNG2aZY~ publicKey: type: string description: >- HMAC public key that is included in the signature for Experian requests. example: 8831AA5552FE10CD _links: $ref: '#/components/schemas/SelfLink' MailgunCredential: type: object description: Mailgun credential. required: - emailFrom - apiKey - domain - type properties: id: type: string description: ID of the credential. readOnly: true maxLength: 36 example: crd_0YV9Y706QGCB39FQD380G1ZHZH hash: deprecated: true type: string description: ID of the credential. Use `id` field instead. readOnly: true maxLength: 36 example: crd_0YV9Y706QGCB39FQD380G1ZHZH status: description: Status of the credential. type: string enum: - active - inactive - deactivated x-enumDescriptions: active: Credential is active and can be used. inactive: >- Credential is temporarily inactivated and cannot be used until reactivated. deactivated: Credential is permanently deactivated and cannot be reactivated. deactivationTime: description: Date and time when the credential is deactivated. type: - string - 'null' format: date-time readOnly: true type: description: Type of credential. type: string readOnly: true enum: - mailgun emailFrom: type: string format: email description: Address from which emails are sent. apiKey: type: string description: Mailgun API key. domain: type: string description: Mailgun domain. _links: $ref: '#/components/schemas/SelfLink' OAuth2Credential: type: object description: OAuth2 credential. required: - code - scopes - service - type properties: id: type: string description: ID of the credential. readOnly: true maxLength: 36 example: crd_0YV9Y706QGCB39FQD380G1ZHZH hash: deprecated: true type: string description: ID of the credential. Use `id` field instead. readOnly: true maxLength: 36 example: crd_0YV9Y706QGCB39FQD380G1ZHZH status: description: Status of the credential. type: string enum: - active - inactive - deactivated x-enumDescriptions: active: Credential is active and can be used. inactive: >- Credential is temporarily inactivated and cannot be used until reactivated. deactivated: Credential is permanently deactivated and cannot be reactivated. deactivationTime: description: Date and time when the credential is deactivated. type: - string - 'null' format: date-time readOnly: true type: description: Type of credential. type: string readOnly: true enum: - oauth2 service: description: Name of the service to which the OAuth2 credential relates. type: string enum: - google-sheets - keap-infusionsoft - intuit-quickbooks code: description: OAuth2 code provided by the authentication server. type: string example: 2/smAHUUr9jOxw_IOp47Y_dH1r2Y accessToken: description: OAuth2 access token. readOnly: true type: string example: >- zw34.PltIPtJZHmEgZS9R4RoGpzaRrJd5MYjZIONQ2MjWSCj7N7Iqp9BXXFIbkhDRfAPs6cB1pKtTjLUgb3ofzgHUprJfnRiMDTnB_yPMK7vtgobCX4SUs7fhrR6bdApq refreshToken: description: OAuth2 refresh token. readOnly: true type: string example: 2/4DPERp2EiySF6JUIOTS4jM5f0JmLG2gPcpGaWYTGU94 scopes: description: List of URLs that are granted OAuth2 access. type: array items: type: string example: - https://www.googleapis.com/auth/drive.metadata.readonly _links: $ref: '#/components/schemas/SelfLink' PostmarkCredential: type: object description: Postmark credential. required: - serverApiToken - type properties: id: type: string description: ID of the credential. readOnly: true maxLength: 36 example: crd_0YV9Y706QGCB39FQD380G1ZHZH hash: deprecated: true type: string description: ID of the credential. Use `id` field instead. readOnly: true maxLength: 36 example: crd_0YV9Y706QGCB39FQD380G1ZHZH status: description: Status of the credential. type: string enum: - active - inactive - deactivated x-enumDescriptions: active: Credential is active and can be used. inactive: >- Credential is temporarily inactivated and cannot be used until reactivated. deactivated: Credential is permanently deactivated and cannot be reactivated. deactivationTime: description: Date and time when the credential is deactivated. type: - string - 'null' format: date-time readOnly: true type: description: Type of credential. type: string readOnly: true enum: - postmark serverApiToken: type: string description: Postmark server API token. example: dd0508z9-2291-6794-3376-z0a70g12eqm9 _links: $ref: '#/components/schemas/SelfLink' SendGridCredential: type: object description: SendGrid credential. required: - apiKey - type properties: id: type: string description: ID of the credential. readOnly: true maxLength: 36 example: crd_0YV9Y706QGCB39FQD380G1ZHZH hash: deprecated: true type: string description: ID of the credential. Use `id` field instead. readOnly: true maxLength: 36 example: crd_0YV9Y706QGCB39FQD380G1ZHZH status: description: Status of the credential. type: string enum: - active - inactive - deactivated x-enumDescriptions: active: Credential is active and can be used. inactive: >- Credential is temporarily inactivated and cannot be used until reactivated. deactivated: Credential is permanently deactivated and cannot be reactivated. deactivationTime: description: Date and time when the credential is deactivated. type: - string - 'null' format: date-time readOnly: true type: description: Type of credential. type: string readOnly: true enum: - sendgrid apiKey: type: string description: SendGrid API key. example: >- SO.WFbRlSWUQJSb40eny4RuZQ.7liHLZ4l1jaPCgbu02b-aGH-bo4RB8z9fK3aUd1heeL _links: $ref: '#/components/schemas/SelfLink' SESCredential: type: object description: Amazon Web Services (AWS) Simple Email Service (SES) credential. required: - key - secret - region - type properties: id: type: string description: ID of the credential. readOnly: true maxLength: 36 example: crd_0YV9Y706QGCB39FQD380G1ZHZH hash: deprecated: true type: string description: ID of the credential. Use `id` field instead. readOnly: true maxLength: 36 example: crd_0YV9Y706QGCB39FQD380G1ZHZH status: description: Status of the credential. type: string enum: - active - inactive - deactivated x-enumDescriptions: active: Credential is active and can be used. inactive: >- Credential is temporarily inactivated and cannot be used until reactivated. deactivated: Credential is permanently deactivated and cannot be reactivated. deactivationTime: description: Date and time when the credential is deactivated. type: - string - 'null' format: date-time readOnly: true type: description: Type of credential. type: string readOnly: true enum: - aws-ses key: type: string description: ID of the AWS access key. example: BWITYO4UARGDLMFY6UDP secret: type: string description: Secret AWS access key. example: 8D34yYHOK9+yM7pDnNUO3UTO/5b8Wy/PGNyzTRmG region: type: string description: AWS region name. example: us-west-2 configurationSetName: type: string description: Name of configuration set from which emails are sent. example: SpecialConfigurationSet _links: $ref: '#/components/schemas/SelfLink' TaxJarCredential: type: object description: >- TaxJar integration enables you to calculate taxes and create transactions for the Sales Tax AutoFile feature in your TaxJar account. For more information, see [TaxJar integration](https://www.rebilly.com/docs/automations/tax-jar-integration/#taxjar-integration). required: - apiToken - type properties: id: type: string description: ID of the credential. readOnly: true maxLength: 36 example: crd_0YV9Y706QGCB39FQD380G1ZHZH hash: deprecated: true type: string description: ID of the credential. Use `id` field instead. readOnly: true maxLength: 36 example: crd_0YV9Y706QGCB39FQD380G1ZHZH status: description: Status of the credential. type: string enum: - active - inactive - deactivated x-enumDescriptions: active: Credential is active and can be used. inactive: >- Credential is temporarily inactivated and cannot be used until reactivated. deactivated: Credential is permanently deactivated and cannot be reactivated. deactivationTime: description: Date and time when the credential is deactivated. type: - string - 'null' format: date-time readOnly: true type: description: Type of credential. type: string readOnly: true enum: - taxjar apiToken: type: string description: TaxJar API token. format: password example: 0ab15e3c1cc608b6f592fbddaddeb8f2 omitFromAddress: type: boolean description: >- Specifies if `from_` address fields must be omitted in TaxJar request. For more information, see [TaxJar API guide](https://developers.taxjar.com/api/guides/#when-to-use-from_-address-information). default: false example: false _links: $ref: '#/components/schemas/SelfLink' AvalaraCredential: type: object description: >- Avalara integration enables you to calculate taxes and create transactions in your Avalara account. required: - licenseKey - accountId - type properties: id: type: string description: ID of the credential. readOnly: true maxLength: 36 example: crd_0YV9Y706QGCB39FQD380G1ZHZH hash: deprecated: true type: string description: ID of the credential. Use `id` field instead. readOnly: true maxLength: 36 example: crd_0YV9Y706QGCB39FQD380G1ZHZH status: description: Status of the credential. type: string enum: - active - inactive - deactivated x-enumDescriptions: active: Credential is active and can be used. inactive: >- Credential is temporarily inactivated and cannot be used until reactivated. deactivated: Credential is permanently deactivated and cannot be reactivated. deactivationTime: description: Date and time when the credential is deactivated. type: - string - 'null' format: date-time readOnly: true type: description: Type of credential. type: string readOnly: true enum: - avalara licenseKey: type: string description: Avalara license key. format: password example: 0ab15e3c1cc608b6f592fbddaddeb8f2 accountId: type: string description: ID of the Avalara account. example: a1b2c3d4e5f6 _links: $ref: '#/components/schemas/SelfLink' PlaidCredential: type: object description: >- Plaid integration provides customer bank credential verification, and simplifies the process of providing credentials for your customers. For more information, see [Plaid integration](https://www.rebilly.com/docs/automations/plaid-integration/). required: - clientId - secretToken - type properties: id: type: string description: ID of the credential. readOnly: true maxLength: 36 example: crd_0YV9Y706QGCB39FQD380G1ZHZH hash: deprecated: true type: string description: ID of the credential. Use `id` field instead. readOnly: true maxLength: 36 example: crd_0YV9Y706QGCB39FQD380G1ZHZH status: description: Status of the credential. type: string enum: - active - inactive - deactivated x-enumDescriptions: active: Credential is active and can be used. inactive: >- Credential is temporarily inactivated and cannot be used until reactivated. deactivated: Credential is permanently deactivated and cannot be reactivated. deactivationTime: description: Date and time when the credential is deactivated. type: - string - 'null' format: date-time readOnly: true type: description: Type of credential. type: string readOnly: true enum: - plaid websiteId: type: string description: |- ID of the website that is assigned to the Plaid account. If this value is not set, credentials are for all websites. maxLength: 50 example: web_0YV7DE4Z26DQSA1AC92FBJ7SEG clientId: type: string description: ID of the Plaid client. example: 5efc712byyf502zz11f9bexx secretToken: type: string description: Plaid secret token. format: password example: d184cfdgdb4597dfsa9365f59356b useStripe: type: boolean description: |- Specifies if a Stripe integration is enabled for the Plaid account. This setting enables the creation of Stripe bank account tokens. default: false example: true _links: $ref: '#/components/schemas/SelfLink' ServiceCredential: discriminator: propertyName: type mapping: smtp: '#/components/schemas/SmtpCredential' webhook: '#/components/schemas/WebhookCredential' experian: '#/components/schemas/ExperianCredential' mailgun: '#/components/schemas/MailgunCredential' oauth2: '#/components/schemas/OAuth2Credential' postmark: '#/components/schemas/PostmarkCredential' sendgrid: '#/components/schemas/SendGridCredential' aws-ses: '#/components/schemas/SESCredential' taxjar: '#/components/schemas/TaxJarCredential' avalara: '#/components/schemas/AvalaraCredential' plaid: '#/components/schemas/PlaidCredential' oneOf: - $ref: '#/components/schemas/SmtpCredential' - $ref: '#/components/schemas/WebhookCredential' - $ref: '#/components/schemas/ExperianCredential' - $ref: '#/components/schemas/MailgunCredential' - $ref: '#/components/schemas/OAuth2Credential' - $ref: '#/components/schemas/PostmarkCredential' - $ref: '#/components/schemas/SendGridCredential' - $ref: '#/components/schemas/SESCredential' - $ref: '#/components/schemas/TaxJarCredential' - $ref: '#/components/schemas/AvalaraCredential' - $ref: '#/components/schemas/PlaidCredential' PatchServiceCredential: type: object required: - status properties: status: description: Status of the credential. type: string enum: - active - inactive - deactivated x-enumDescriptions: active: Credential is active and can be used. inactive: >- Credential is temporarily inactivated and cannot be used until reactivated. deactivated: Credential is permanently deactivated and cannot be reactivated. PatchPlaidCredential: type: object description: Plaid credential. properties: status: description: Status of the credential. type: string enum: - active - inactive - deactivated x-enumDescriptions: active: Credential is active and can be used. inactive: >- Credential is temporarily inactivated and cannot be used until reactivated. deactivated: Credential is permanently deactivated and cannot be reactivated. websiteId: type: string description: |- ID of the website that is assigned to the Plaid account. If this value is not set, credentials are for all websites. maxLength: 50 example: web_0YV7DE4Z26DQSA1AC92FBJ7SEG clientId: type: string description: ID of the Plaid client. example: 5efc712byyf502zz11f9bexx secretToken: type: string description: Plaid secret token. format: password example: d184cfdgdb4597dfsa9365f59356b useStripe: type: boolean description: |- Specifies if a Stripe integration is enabled for the Plaid account. This setting enables the creation of Stripe bank account tokens. default: false example: true PatchTaxJarCredential: type: object description: TaxJar credential. required: - status properties: status: description: Status of the credential. type: string enum: - active - inactive - deactivated x-enumDescriptions: active: Credential is active and can be used. inactive: >- Credential is temporarily inactivated and cannot be used until reactivated. deactivated: Credential is permanently deactivated and cannot be reactivated. omitFromAddress: type: boolean description: >- Specifies if `from_` address fields must be omitted in TaxJar request. For more information, see [TaxJar API guide](https://developers.taxjar.com/api/guides/#when-to-use-from_-address-information). example: false GoogleSpreadsheet: type: object properties: id: description: ID of the Google Spreadsheet. readOnly: true type: string example: 2ytkMntAC2Ke7aIgpaOBjz9IORRlNRjwFqO7KvyNam3B name: readOnly: true description: Name of the Google Spreadsheet. type: string example: Spreadsheet 1 CustomDomain: type: object required: - domain properties: id: description: ID of the custom domain. type: string maxLength: 255 readOnly: true domain: description: Fully qualified domain name. type: string maxLength: 255 isVerified: description: True if the domain is verified by Rebilly. type: boolean readOnly: true createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' EmailDeliverySetting: type: object required: - from - name properties: id: type: string description: ID of the email delivery setting. readOnly: true maxLength: 50 example: mail_dst_0YVCNQV8PSCERAJ7N1V4WWPZN2 from: description: >- Email address of the sender. > **Important:** This email address must be unique within your account. type: string format: email maxLength: 254 example: from-example@rebilly.com name: description: Name of the sender. type: string example: John Doe status: description: Status of the email message. readOnly: true type: string enum: - pending - verified credentialId: type: - string - 'null' description: ID of the SMTP or Email Service Provider (ESP) credential. example: b120c2ca-6c2b-4690-9dff-3b0d87852dc7 provider: readOnly: true description: Email service provider name. type: string enum: - rebilly - smtp - aws-ses - mailgun - postmark - sendgrid example: rebilly isDefault: type: boolean description: Specifies if the email delivery setting is used by default. default: false createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' EmailMessage: type: object required: - from - to - subject - text - html properties: id: type: string description: ID of the email message. readOnly: true maxLength: 50 example: mail_msg_0YVCNR8ZRBCVMAX28DP4XRFZVA status: description: Status of the email message. type: string enum: - draft - outbox - sending - sent - failed default: draft metadata: description: Metadata associated with the email message. type: - object - 'null' additionalProperties: type: string example: eventType: subscription-canceled credentialHash: type: - string - 'null' description: ID of the SMTP or Email Service Provider (ESP) credential. example: b120c2ca-6c2b-4690-9dff-3b0d87852dc7 from: description: Email address of the sender. type: string format: email maxLength: 254 example: from-example@rebilly.com to: description: List of email addresses to which the email message is sent. type: array minItems: 1 items: type: string format: email maxLength: 254 example: - to-example@rebilly.com cc: description: List of CC email addresses to which the email message is sent. type: array items: type: string format: email maxLength: 254 example: - cc-example@rebilly.com bcc: description: List of BCC email addresses to which the email message is sent. type: array items: type: string format: email maxLength: 254 example: - cc-example@rebilly.com subject: description: Subject of the email message. type: string maxLength: 998 example: Welcome dear customer! text: description: Body of the email message in plain text. type: string example: Email message text body html: description: Body of the email message in HTML format. type: string example:

Email message html body

attachments: description: Attachments of the email message. type: array items: type: object required: - resourceType - resourceId properties: resourceType: description: Type of attachment resource. type: string example: invoice resourceId: type: string description: ID of the attachment resource. maxLength: 50 example: att_0YV7J787J0DW0918MQQMDHWA7M responseCode: type: - integer - 'null' description: >- Status code returned by a mail service after an attempt to send email. readOnly: true example: 250 responseBody: type: - string - 'null' description: >- Body of response returned by a mail service after an attempt to send email. readOnly: true initiatedTime: type: - string - 'null' description: Date and time when the email is initiated. format: date-time readOnly: true sentTime: type: - string - 'null' description: Date and time when the email is sent. format: date-time readOnly: true createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' EventType: type: string description: Type of Rebilly event. readOnly: true enum: - account-password-reset-requested - account-verification-requested - aml-list-possibly-matched - application-instance-disabled - application-instance-enabled - balance-transaction-settled - coupon-application-removed - coupon-applied - coupon-expiration-modified - coupon-expired - coupon-issued - coupon-modified - coupon-redeemed - coupon-redemption-canceled - customer-created - customer-one-time-password-requested - customer-updated - dispute-created - dispute-modified - experian-check-performed - gateway-account-downtime-ended - gateway-account-downtime-started - gateway-account-limit-reached - gateway-account-onboarding-completed - gateway-account-onboarding-failed - gateway-account-requested - hard-usage-limit-reached - invoice-issued - invoice-modified - invoice-paid - invoice-partially-paid - invoice-partially-refunded - invoice-past-due - invoice-past-due-reminder - invoice-refunded - invoice-revenue-recognized - invoice-tax-calculation-failed - invoice-voided - kyc-document-accepted - kyc-document-modified - kyc-document-rejected - kyc-request-fulfilled - nsf-response-received - order-abandon-reminder - order-abandoned - order-completed - payment-card-created - payment-card-expiration-reminder - payment-card-expired - payment-instrument-modified - payout-request-created - payout-request-modified - quote-accepted - quote-canceled - quote-created - quote-expired - quote-issued - quote-recalled - quote-rejected - quote-updated - ready-to-pay-requested - renewal-invoice-issued - renewal-invoice-payment-canceled - renewal-invoice-payment-declined - risk-score-changed - soft-usage-limit-reached - subscription-activated - subscription-canceled - subscription-churned - subscription-created - subscription-downgraded - subscription-items-changed - subscription-modified - subscription-pause-created - subscription-pause-modified - subscription-pause-revoked - subscription-paused - subscription-reactivated - subscription-renewal-reminder - subscription-renewed - subscription-resumed - subscription-trial-converted - subscription-trial-end-changed - subscription-trial-end-reminder - subscription-upgraded - transaction-amount-discrepancy-found - transaction-declined - transaction-discrepancy-found - transaction-process-requested - transaction-processed - order-delinquency-reached EmailNotification: type: object description: Email notification event. readOnly: true properties: eventType: $ref: '#/components/schemas/EventType' count: type: integer readOnly: true description: Total number of binds with `send-email` actions per event. notifications: readOnly: true type: array description: List of notifications. items: type: object properties: labels: description: Labels of the notification. type: array items: type: string title: type: string description: Title of the notification. _links: $ref: '#/components/schemas/SelfLink' SystemEvent: type: object description: Application event. readOnly: true properties: eventType: $ref: '#/components/schemas/EventType' title: description: Title of the system event. type: string description: description: Description of the system event. type: string category: description: Category of system event. type: string enum: - billing - payments rulesCount: description: >- Total number of rules associated with the system event. A rule is a configuration of an event and one or more actions. A rule can be configured to stop subsequent rules in the event list from being executed. type: integer readOnly: true bindsCount: description: |- Total number of binds associated with the system event. A bind is a configuration of an event and one or more actions. type: integer readOnly: true _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - history - rules RuleAction: type: object discriminator: propertyName: name mapping: abandon-scheduled-payments: '#/components/schemas/RuleActionAbandonScheduledPayments' add-risk-score: '#/components/schemas/RuleActionAddRiskScore' adjust-ready-to-pay: '#/components/schemas/RuleActionAdjustReadyToPay' adjust-ready-to-payout: '#/components/schemas/RuleActionAdjustReadyToPayout' blocklist: '#/components/schemas/RuleActionAddBlockList' cancel-scheduled-payments: '#/components/schemas/RuleActionCancelScheduledPayments' create-intuit-quickbooks-balance-transaction-entry: >- #/components/schemas/RuleActionCreateIntuitQuickbooksBalanceTransactionEntry create-intuit-quickbooks-invoice: '#/components/schemas/RuleActionCreateIntuitQuickbooksInvoice' create-intuit-quickbooks-payment: '#/components/schemas/RuleActionCreateIntuitQuickbooksPayment' create-intuit-quickbooks-refund-receipt: '#/components/schemas/RuleActionCreateIntuitQuickbooksRefundReceipt' create-intuit-quickbooks-revenue-recognition-entry: >- #/components/schemas/RuleActionCreateIntuitQuickbooksRevenueRecognitionEntry create-keap-infusionsoft-order: '#/components/schemas/RuleActionCreateInfusionsoftOrder' create-keap-infusionsoft-payment: '#/components/schemas/RuleActionCreateInfusionsoftPayment' decline-transaction: '#/components/schemas/RuleActionDeclineTransaction' check-ontario-restriction: '#/components/schemas/RuleActionCheckOntarioRestriction' display-message: '#/components/schemas/RuleActionDisplayMessage' display-other-choices: '#/components/schemas/RuleActionDisplayOtherChoices' guess-payment-card-expiration: '#/components/schemas/RuleActionGuessPaymentCardExpiration' offer-purchase-bump: '#/components/schemas/RuleActionOfferPurchaseBump' perform-experian-check: '#/components/schemas/RuleActionPerformExperianCheck' pick-gateway-account: '#/components/schemas/RuleActionPickGatewayAccount' remove-reminder: '#/components/schemas/RuleActionRemoveReminder' request-kyc: '#/components/schemas/RuleActionRequestKyc' reset-reminder: '#/components/schemas/RuleActionResetReminder' schedule-invoice-retry: '#/components/schemas/RuleActionScheduleInvoiceRetry' schedule-payment: '#/components/schemas/RuleActionSchedulePayment' schedule-reminder: '#/components/schemas/RuleActionScheduleReminder' send-email: '#/components/schemas/RuleActionSendEmail' stop-subscriptions: '#/components/schemas/RuleActionStopSubscriptions' tag-or-untag-customer: '#/components/schemas/RuleActionTagOrUntagCustomer' update-intuit-quickbooks-invoice: '#/components/schemas/RuleActionUpdateIntuitQuickbooksInvoice' void-intuit-quickbooks-invoice: '#/components/schemas/RuleActionVoidIntuitQuickbooksInvoice' properties: name: type: string description: Name of the action. enum: - abandon-scheduled-payments - add-risk-score - adjust-ready-to-pay - blocklist - cancel-scheduled-payments - create-intuit-quickbooks-balance-transaction-entry - create-intuit-quickbooks-invoice - create-intuit-quickbooks-payment - create-intuit-quickbooks-refund-receipt - create-intuit-quickbooks-revenue-recognition-entry - create-keap-infusionsoft-order - create-keap-infusionsoft-payment - decline-transaction - check-ontario-restriction - display-message - display-other-choices - guess-payment-card-expiration - offer-purchase-bump - perform-experian-check - pick-gateway-account - remove-reminder - request-kyc - reset-reminder - schedule-invoice-retry - schedule-payment - schedule-reminder - send-email - stop-subscriptions - tag-or-untag-customer - update-intuit-quickbooks-invoice - void-intuit-quickbooks-invoice status: description: Status of the action. type: string default: active enum: - active - inactive required: - name RuleActionAbandonScheduledPayments: description: >- Abandon scheduled payments for an order that exceeds the configured delinquency period. allOf: - $ref: '#/components/schemas/RuleAction' RuleActionAddRiskScore: allOf: - $ref: '#/components/schemas/RuleAction' - type: object description: Add risk score. properties: score: type: integer default: 0 AdjustReadyToPayPaymentCard: type: object title: Payment card properties: paymentMethod: type: string enum: - payment-card feature: type: - string - 'null' description: Name of the feature. enum: - Apple Pay - Google Pay AdjustReadyToPayAch: type: object title: ACH properties: paymentMethod: type: string enum: - ach feature: type: - string - 'null' description: Feature name. enum: - Plaid AdjustReadyToPayPaypal: type: object title: PayPal properties: paymentMethod: type: string enum: - paypal feature: type: - string - 'null' description: Feature name. enum: - PayPal billing agreement AdjustReadyToPayGeneric: type: object title: Generic properties: paymentMethod: description: Payment method of the payment instrument. allOf: - $ref: '#/components/schemas/AlternativePaymentMethods' - not: enum: - paypal feature: type: - string - 'null' AdjustPaymentMethod: type: object required: - paymentMethod - feature discriminator: propertyName: paymentMethod mapping: payment-card: '#/components/schemas/AdjustReadyToPayPaymentCard' ach: '#/components/schemas/AdjustReadyToPayAch' paypal: '#/components/schemas/AdjustReadyToPayPaypal' cash: '#/components/schemas/AdjustReadyToPayGeneric' check: '#/components/schemas/AdjustReadyToPayGeneric' AdvCash: '#/components/schemas/AdjustReadyToPayGeneric' Alfa-click: '#/components/schemas/AdjustReadyToPayGeneric' Alipay: '#/components/schemas/AdjustReadyToPayGeneric' AstroPay Card: '#/components/schemas/AdjustReadyToPayGeneric' AstroPay-GO: '#/components/schemas/AdjustReadyToPayGeneric' BankReferenced: '#/components/schemas/AdjustReadyToPayGeneric' bank-transfer: '#/components/schemas/AdjustReadyToPayGeneric' bank-transfer-2: '#/components/schemas/AdjustReadyToPayGeneric' bank-transfer-3: '#/components/schemas/AdjustReadyToPayGeneric' bank-transfer-4: '#/components/schemas/AdjustReadyToPayGeneric' bank-transfer-5: '#/components/schemas/AdjustReadyToPayGeneric' bank-transfer-6: '#/components/schemas/AdjustReadyToPayGeneric' bank-transfer-7: '#/components/schemas/AdjustReadyToPayGeneric' bank-transfer-8: '#/components/schemas/AdjustReadyToPayGeneric' bank-transfer-9: '#/components/schemas/AdjustReadyToPayGeneric' Baloto: '#/components/schemas/AdjustReadyToPayGeneric' Beeline: '#/components/schemas/AdjustReadyToPayGeneric' Belfius-direct-net: '#/components/schemas/AdjustReadyToPayGeneric' bitcoin: '#/components/schemas/AdjustReadyToPayGeneric' Bizum: '#/components/schemas/AdjustReadyToPayGeneric' Boleto: '#/components/schemas/AdjustReadyToPayGeneric' cash-deposit: '#/components/schemas/AdjustReadyToPayGeneric' CASHlib: '#/components/schemas/AdjustReadyToPayGeneric' CashToCode: '#/components/schemas/AdjustReadyToPayGeneric' China UnionPay: '#/components/schemas/AdjustReadyToPayGeneric' Cleo: '#/components/schemas/AdjustReadyToPayGeneric' CODVoucher: '#/components/schemas/AdjustReadyToPayGeneric' Conekta-oxxo: '#/components/schemas/AdjustReadyToPayGeneric' Cupon-de-pagos: '#/components/schemas/AdjustReadyToPayGeneric' cryptocurrency: '#/components/schemas/AdjustReadyToPayGeneric' domestic-cards: '#/components/schemas/AdjustReadyToPayGeneric' echeck: '#/components/schemas/AdjustReadyToPayGeneric' ecoPayz: '#/components/schemas/AdjustReadyToPayGeneric' ecoVoucher: '#/components/schemas/AdjustReadyToPayGeneric' Efecty: '#/components/schemas/AdjustReadyToPayGeneric' EPS: '#/components/schemas/AdjustReadyToPayGeneric' ePay.bg: '#/components/schemas/AdjustReadyToPayGeneric' eZeeWallet: '#/components/schemas/AdjustReadyToPayGeneric' FasterPay: '#/components/schemas/AdjustReadyToPayGeneric' Flexepin: '#/components/schemas/AdjustReadyToPayGeneric' Giropay: '#/components/schemas/AdjustReadyToPayGeneric' Gpaysafe: '#/components/schemas/AdjustReadyToPayGeneric' Google Pay: '#/components/schemas/AdjustReadyToPayGeneric' iDebit: '#/components/schemas/AdjustReadyToPayGeneric' iDEAL: '#/components/schemas/AdjustReadyToPayGeneric' ING-homepay: '#/components/schemas/AdjustReadyToPayGeneric' INOVAPAY-pin: '#/components/schemas/AdjustReadyToPayGeneric' INOVAPAY-wallet: '#/components/schemas/AdjustReadyToPayGeneric' InstaDebit: '#/components/schemas/AdjustReadyToPayGeneric' instant-bank-transfer: '#/components/schemas/AdjustReadyToPayGeneric' InstantPayments: '#/components/schemas/AdjustReadyToPayGeneric' Interac: '#/components/schemas/AdjustReadyToPayGeneric' Interac-online: '#/components/schemas/AdjustReadyToPayGeneric' Interac-eTransfer: '#/components/schemas/AdjustReadyToPayGeneric' invoice: '#/components/schemas/AdjustReadyToPayGeneric' iWallet: '#/components/schemas/AdjustReadyToPayGeneric' Jeton: '#/components/schemas/AdjustReadyToPayGeneric' jpay: '#/components/schemas/AdjustReadyToPayGeneric' Khelocard: '#/components/schemas/AdjustReadyToPayGeneric' Klarna: '#/components/schemas/AdjustReadyToPayGeneric' KNOT: '#/components/schemas/AdjustReadyToPayGeneric' loonie: '#/components/schemas/AdjustReadyToPayGeneric' Matrix: '#/components/schemas/AdjustReadyToPayGeneric' MaxiCash: '#/components/schemas/AdjustReadyToPayGeneric' Megafon: '#/components/schemas/AdjustReadyToPayGeneric' MiFinity-eWallet: '#/components/schemas/AdjustReadyToPayGeneric' miscellaneous: '#/components/schemas/AdjustReadyToPayGeneric' Bancontact: '#/components/schemas/AdjustReadyToPayGeneric' Bancontact-mobile: '#/components/schemas/AdjustReadyToPayGeneric' MTS: '#/components/schemas/AdjustReadyToPayGeneric' MuchBetter: '#/components/schemas/AdjustReadyToPayGeneric' Multibanco: '#/components/schemas/AdjustReadyToPayGeneric' Neosurf: '#/components/schemas/AdjustReadyToPayGeneric' Netbanking: '#/components/schemas/AdjustReadyToPayGeneric' Neteller: '#/components/schemas/AdjustReadyToPayGeneric' Nordea-Solo: '#/components/schemas/AdjustReadyToPayGeneric' OchaPay: '#/components/schemas/AdjustReadyToPayGeneric' online-bank-transfer: '#/components/schemas/AdjustReadyToPayGeneric' Onlineueberweisen: '#/components/schemas/AdjustReadyToPayGeneric' oriental-wallet: '#/components/schemas/AdjustReadyToPayGeneric' OXXO: '#/components/schemas/AdjustReadyToPayGeneric' P24: '#/components/schemas/AdjustReadyToPayGeneric' Pagadito: '#/components/schemas/AdjustReadyToPayGeneric' PagoEffectivo: '#/components/schemas/AdjustReadyToPayGeneric' Pagsmile-deposit-express: '#/components/schemas/AdjustReadyToPayGeneric' Pagsmile-lottery: '#/components/schemas/AdjustReadyToPayGeneric' PayCash: '#/components/schemas/AdjustReadyToPayGeneric' Payeer: '#/components/schemas/AdjustReadyToPayGeneric' PaymentAsia-crypto: '#/components/schemas/AdjustReadyToPayGeneric' Paymero: '#/components/schemas/AdjustReadyToPayGeneric' Perfect-money: '#/components/schemas/AdjustReadyToPayGeneric' Piastrix: '#/components/schemas/AdjustReadyToPayGeneric' plaid-account: '#/components/schemas/AdjustReadyToPayGeneric' PayTabs: '#/components/schemas/AdjustReadyToPayGeneric' Paysafecard: '#/components/schemas/AdjustReadyToPayGeneric' Paysafecash: '#/components/schemas/AdjustReadyToPayGeneric' Pay4Fun: '#/components/schemas/AdjustReadyToPayGeneric' Paynote: '#/components/schemas/AdjustReadyToPayGeneric' PinPay: '#/components/schemas/AdjustReadyToPayGeneric' phone: '#/components/schemas/AdjustReadyToPayGeneric' PhonePe: '#/components/schemas/AdjustReadyToPayGeneric' POLi: '#/components/schemas/AdjustReadyToPayGeneric' PostFinance-card: '#/components/schemas/AdjustReadyToPayGeneric' PostFinance-e-finance: '#/components/schemas/AdjustReadyToPayGeneric' QIWI: '#/components/schemas/AdjustReadyToPayGeneric' QPay: '#/components/schemas/AdjustReadyToPayGeneric' QQPay: '#/components/schemas/AdjustReadyToPayGeneric' rapyd-checkout: '#/components/schemas/AdjustReadyToPayGeneric' Resurs: '#/components/schemas/AdjustReadyToPayGeneric' SafetyPay: '#/components/schemas/AdjustReadyToPayGeneric' SEPA: '#/components/schemas/AdjustReadyToPayGeneric' Skrill: '#/components/schemas/AdjustReadyToPayGeneric' Skrill Rapid Transfer: '#/components/schemas/AdjustReadyToPayGeneric' SMSVoucher: '#/components/schemas/AdjustReadyToPayGeneric' Sofort: '#/components/schemas/AdjustReadyToPayGeneric' SparkPay: '#/components/schemas/AdjustReadyToPayGeneric' swift-dbt: '#/components/schemas/AdjustReadyToPayGeneric' Tele2: '#/components/schemas/AdjustReadyToPayGeneric' Terminaly-RF: '#/components/schemas/AdjustReadyToPayGeneric' ToditoCash-card: '#/components/schemas/AdjustReadyToPayGeneric' Trustly: '#/components/schemas/AdjustReadyToPayGeneric' UPayCard: '#/components/schemas/AdjustReadyToPayGeneric' UPI: '#/components/schemas/AdjustReadyToPayGeneric' USD-coin: '#/components/schemas/AdjustReadyToPayGeneric' VCreditos: '#/components/schemas/AdjustReadyToPayGeneric' VenusPoint: '#/components/schemas/AdjustReadyToPayGeneric' voucher: '#/components/schemas/AdjustReadyToPayGeneric' voucher-2: '#/components/schemas/AdjustReadyToPayGeneric' voucher-3: '#/components/schemas/AdjustReadyToPayGeneric' voucher-4: '#/components/schemas/AdjustReadyToPayGeneric' Webmoney: '#/components/schemas/AdjustReadyToPayGeneric' Webpay: '#/components/schemas/AdjustReadyToPayGeneric' Webpay-2: '#/components/schemas/AdjustReadyToPayGeneric' Webpay Card: '#/components/schemas/AdjustReadyToPayGeneric' WeChat Pay: '#/components/schemas/AdjustReadyToPayGeneric' XPay-P2P: '#/components/schemas/AdjustReadyToPayGeneric' XPay-QR: '#/components/schemas/AdjustReadyToPayGeneric' Yandex-money: '#/components/schemas/AdjustReadyToPayGeneric' Zotapay: '#/components/schemas/AdjustReadyToPayGeneric' Zimpler: '#/components/schemas/AdjustReadyToPayGeneric' anyOf: - $ref: '#/components/schemas/AdjustReadyToPayPaymentCard' - $ref: '#/components/schemas/AdjustReadyToPayAch' - $ref: '#/components/schemas/AdjustReadyToPayPaypal' - $ref: '#/components/schemas/AdjustReadyToPayGeneric' RuleActionAdjustReadyToPay: allOf: - $ref: '#/components/schemas/RuleAction' - type: object description: Adjust ready to pay. properties: prioritizeActivePaymentInstruments: type: boolean default: false description: >- If set as `true`, the payment methods associated to the customer's active payment instruments are displayed at the top of the list. paymentMethods: type: array description: >- Ordered list of payment methods allowed. If empty, then no payment methods are allowed. items: $ref: '#/components/schemas/AdjustPaymentMethod' AdjustReadyToPayoutGeneric: type: object title: Generic properties: paymentMethod: description: Payment method of the payment instrument. $ref: '#/components/schemas/AlternativePaymentMethods' AdjustReadyToPayoutPaymentMethod: type: object required: - paymentMethod - feature discriminator: propertyName: paymentMethod mapping: payment-card: '#/components/schemas/AdjustReadyToPayoutGeneric' ach: '#/components/schemas/AdjustReadyToPayoutGeneric' paypal: '#/components/schemas/AdjustReadyToPayoutGeneric' cash: '#/components/schemas/AdjustReadyToPayoutGeneric' check: '#/components/schemas/AdjustReadyToPayoutGeneric' AdvCash: '#/components/schemas/AdjustReadyToPayoutGeneric' Alfa-click: '#/components/schemas/AdjustReadyToPayoutGeneric' Alipay: '#/components/schemas/AdjustReadyToPayoutGeneric' AstroPay Card: '#/components/schemas/AdjustReadyToPayoutGeneric' AstroPay-GO: '#/components/schemas/AdjustReadyToPayoutGeneric' BankReferenced: '#/components/schemas/AdjustReadyToPayoutGeneric' bank-transfer: '#/components/schemas/AdjustReadyToPayoutGeneric' bank-transfer-2: '#/components/schemas/AdjustReadyToPayoutGeneric' bank-transfer-3: '#/components/schemas/AdjustReadyToPayoutGeneric' bank-transfer-4: '#/components/schemas/AdjustReadyToPayoutGeneric' bank-transfer-5: '#/components/schemas/AdjustReadyToPayoutGeneric' bank-transfer-6: '#/components/schemas/AdjustReadyToPayoutGeneric' bank-transfer-7: '#/components/schemas/AdjustReadyToPayoutGeneric' bank-transfer-8: '#/components/schemas/AdjustReadyToPayoutGeneric' bank-transfer-9: '#/components/schemas/AdjustReadyToPayoutGeneric' Baloto: '#/components/schemas/AdjustReadyToPayoutGeneric' Beeline: '#/components/schemas/AdjustReadyToPayoutGeneric' Belfius-direct-net: '#/components/schemas/AdjustReadyToPayoutGeneric' bitcoin: '#/components/schemas/AdjustReadyToPayoutGeneric' Bizum: '#/components/schemas/AdjustReadyToPayoutGeneric' Boleto: '#/components/schemas/AdjustReadyToPayoutGeneric' cash-deposit: '#/components/schemas/AdjustReadyToPayoutGeneric' CASHlib: '#/components/schemas/AdjustReadyToPayoutGeneric' CashToCode: '#/components/schemas/AdjustReadyToPayoutGeneric' China UnionPay: '#/components/schemas/AdjustReadyToPayoutGeneric' Cleo: '#/components/schemas/AdjustReadyToPayoutGeneric' CODVoucher: '#/components/schemas/AdjustReadyToPayoutGeneric' Conekta-oxxo: '#/components/schemas/AdjustReadyToPayoutGeneric' Cupon-de-pagos: '#/components/schemas/AdjustReadyToPayoutGeneric' cryptocurrency: '#/components/schemas/AdjustReadyToPayoutGeneric' domestic-cards: '#/components/schemas/AdjustReadyToPayoutGeneric' echeck: '#/components/schemas/AdjustReadyToPayoutGeneric' ecoPayz: '#/components/schemas/AdjustReadyToPayoutGeneric' ecoVoucher: '#/components/schemas/AdjustReadyToPayoutGeneric' Efecty: '#/components/schemas/AdjustReadyToPayoutGeneric' EPS: '#/components/schemas/AdjustReadyToPayoutGeneric' ePay.bg: '#/components/schemas/AdjustReadyToPayoutGeneric' eZeeWallet: '#/components/schemas/AdjustReadyToPayoutGeneric' FasterPay: '#/components/schemas/AdjustReadyToPayoutGeneric' Flexepin: '#/components/schemas/AdjustReadyToPayoutGeneric' Giropay: '#/components/schemas/AdjustReadyToPayoutGeneric' Gpaysafe: '#/components/schemas/AdjustReadyToPayoutGeneric' Google Pay: '#/components/schemas/AdjustReadyToPayoutGeneric' iDebit: '#/components/schemas/AdjustReadyToPayoutGeneric' iDEAL: '#/components/schemas/AdjustReadyToPayoutGeneric' ING-homepay: '#/components/schemas/AdjustReadyToPayoutGeneric' INOVAPAY-pin: '#/components/schemas/AdjustReadyToPayoutGeneric' INOVAPAY-wallet: '#/components/schemas/AdjustReadyToPayoutGeneric' InstaDebit: '#/components/schemas/AdjustReadyToPayoutGeneric' instant-bank-transfer: '#/components/schemas/AdjustReadyToPayoutGeneric' InstantPayments: '#/components/schemas/AdjustReadyToPayoutGeneric' Interac: '#/components/schemas/AdjustReadyToPayoutGeneric' Interac-online: '#/components/schemas/AdjustReadyToPayoutGeneric' Interac-eTransfer: '#/components/schemas/AdjustReadyToPayoutGeneric' invoice: '#/components/schemas/AdjustReadyToPayoutGeneric' iWallet: '#/components/schemas/AdjustReadyToPayoutGeneric' Jeton: '#/components/schemas/AdjustReadyToPayoutGeneric' jpay: '#/components/schemas/AdjustReadyToPayoutGeneric' Khelocard: '#/components/schemas/AdjustReadyToPayoutGeneric' Klarna: '#/components/schemas/AdjustReadyToPayoutGeneric' KNOT: '#/components/schemas/AdjustReadyToPayoutGeneric' loonie: '#/components/schemas/AdjustReadyToPayoutGeneric' Matrix: '#/components/schemas/AdjustReadyToPayoutGeneric' MaxiCash: '#/components/schemas/AdjustReadyToPayoutGeneric' Megafon: '#/components/schemas/AdjustReadyToPayoutGeneric' MiFinity-eWallet: '#/components/schemas/AdjustReadyToPayoutGeneric' miscellaneous: '#/components/schemas/AdjustReadyToPayoutGeneric' Bancontact: '#/components/schemas/AdjustReadyToPayoutGeneric' Bancontact-mobile: '#/components/schemas/AdjustReadyToPayoutGeneric' MTS: '#/components/schemas/AdjustReadyToPayoutGeneric' MuchBetter: '#/components/schemas/AdjustReadyToPayoutGeneric' Multibanco: '#/components/schemas/AdjustReadyToPayoutGeneric' Neosurf: '#/components/schemas/AdjustReadyToPayoutGeneric' Netbanking: '#/components/schemas/AdjustReadyToPayoutGeneric' Neteller: '#/components/schemas/AdjustReadyToPayoutGeneric' Nordea-Solo: '#/components/schemas/AdjustReadyToPayoutGeneric' OchaPay: '#/components/schemas/AdjustReadyToPayoutGeneric' online-bank-transfer: '#/components/schemas/AdjustReadyToPayoutGeneric' Onlineueberweisen: '#/components/schemas/AdjustReadyToPayoutGeneric' oriental-wallet: '#/components/schemas/AdjustReadyToPayoutGeneric' OXXO: '#/components/schemas/AdjustReadyToPayoutGeneric' P24: '#/components/schemas/AdjustReadyToPayoutGeneric' Pagadito: '#/components/schemas/AdjustReadyToPayoutGeneric' PagoEffectivo: '#/components/schemas/AdjustReadyToPayoutGeneric' Pagsmile-deposit-express: '#/components/schemas/AdjustReadyToPayoutGeneric' Pagsmile-lottery: '#/components/schemas/AdjustReadyToPayoutGeneric' PayCash: '#/components/schemas/AdjustReadyToPayoutGeneric' Payeer: '#/components/schemas/AdjustReadyToPayoutGeneric' PaymentAsia-crypto: '#/components/schemas/AdjustReadyToPayoutGeneric' Paymero: '#/components/schemas/AdjustReadyToPayoutGeneric' Perfect-money: '#/components/schemas/AdjustReadyToPayoutGeneric' Piastrix: '#/components/schemas/AdjustReadyToPayoutGeneric' plaid-account: '#/components/schemas/AdjustReadyToPayoutGeneric' PayTabs: '#/components/schemas/AdjustReadyToPayoutGeneric' Paysafecard: '#/components/schemas/AdjustReadyToPayoutGeneric' Paysafecash: '#/components/schemas/AdjustReadyToPayoutGeneric' Pay4Fun: '#/components/schemas/AdjustReadyToPayoutGeneric' Paynote: '#/components/schemas/AdjustReadyToPayoutGeneric' PinPay: '#/components/schemas/AdjustReadyToPayoutGeneric' phone: '#/components/schemas/AdjustReadyToPayoutGeneric' PhonePe: '#/components/schemas/AdjustReadyToPayoutGeneric' POLi: '#/components/schemas/AdjustReadyToPayoutGeneric' PostFinance-card: '#/components/schemas/AdjustReadyToPayoutGeneric' PostFinance-e-finance: '#/components/schemas/AdjustReadyToPayoutGeneric' QIWI: '#/components/schemas/AdjustReadyToPayoutGeneric' QPay: '#/components/schemas/AdjustReadyToPayoutGeneric' QQPay: '#/components/schemas/AdjustReadyToPayoutGeneric' rapyd-checkout: '#/components/schemas/AdjustReadyToPayoutGeneric' Resurs: '#/components/schemas/AdjustReadyToPayoutGeneric' SafetyPay: '#/components/schemas/AdjustReadyToPayoutGeneric' SEPA: '#/components/schemas/AdjustReadyToPayoutGeneric' Skrill: '#/components/schemas/AdjustReadyToPayoutGeneric' Skrill Rapid Transfer: '#/components/schemas/AdjustReadyToPayoutGeneric' SMSVoucher: '#/components/schemas/AdjustReadyToPayoutGeneric' Sofort: '#/components/schemas/AdjustReadyToPayoutGeneric' SparkPay: '#/components/schemas/AdjustReadyToPayoutGeneric' swift-dbt: '#/components/schemas/AdjustReadyToPayoutGeneric' Tele2: '#/components/schemas/AdjustReadyToPayoutGeneric' Terminaly-RF: '#/components/schemas/AdjustReadyToPayoutGeneric' ToditoCash-card: '#/components/schemas/AdjustReadyToPayoutGeneric' Trustly: '#/components/schemas/AdjustReadyToPayoutGeneric' UPayCard: '#/components/schemas/AdjustReadyToPayoutGeneric' UPI: '#/components/schemas/AdjustReadyToPayoutGeneric' USD-coin: '#/components/schemas/AdjustReadyToPayoutGeneric' VCreditos: '#/components/schemas/AdjustReadyToPayoutGeneric' VenusPoint: '#/components/schemas/AdjustReadyToPayoutGeneric' voucher: '#/components/schemas/AdjustReadyToPayoutGeneric' voucher-2: '#/components/schemas/AdjustReadyToPayoutGeneric' voucher-3: '#/components/schemas/AdjustReadyToPayoutGeneric' voucher-4: '#/components/schemas/AdjustReadyToPayoutGeneric' Webmoney: '#/components/schemas/AdjustReadyToPayoutGeneric' Webpay: '#/components/schemas/AdjustReadyToPayoutGeneric' Webpay-2: '#/components/schemas/AdjustReadyToPayoutGeneric' Webpay Card: '#/components/schemas/AdjustReadyToPayoutGeneric' WeChat Pay: '#/components/schemas/AdjustReadyToPayoutGeneric' XPay-P2P: '#/components/schemas/AdjustReadyToPayoutGeneric' XPay-QR: '#/components/schemas/AdjustReadyToPayoutGeneric' Yandex-money: '#/components/schemas/AdjustReadyToPayoutGeneric' Zotapay: '#/components/schemas/AdjustReadyToPayoutGeneric' Zimpler: '#/components/schemas/AdjustReadyToPayoutGeneric' anyOf: - $ref: '#/components/schemas/AdjustReadyToPayoutGeneric' RuleActionAdjustReadyToPayout: allOf: - $ref: '#/components/schemas/RuleAction' - type: object description: Adjust ready to payout. properties: prioritizeActivePaymentInstruments: type: boolean default: false description: >- Specifies if payment methods, that are associated with the customer's active payment instruments, are displayed at the top of the list. paymentMethods: type: array description: >- Ordered list of allowed payment methods. If this field is empty, no payment methods are allowed. items: $ref: '#/components/schemas/AdjustReadyToPayoutPaymentMethod' RuleActionAddBlockList: description: Add customer data to blocklist. allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: type: type: string enum: - customer-id - email - fingerprint - ip-address - payment-card ttl: type: integer description: >- Blocklist TTL. Defaults to zero, meaning blocklist record won't expire ever. default: 0 required: - type RuleActionCancelScheduledPayments: allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: skipStartedServicePeriod: type: boolean description: Skip invoices with started service period. default: false RuleActionCreateIntuitQuickbooksBalanceTransactionEntry: description: Create an Intuit QuickBooks balance transaction entry. allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: debitAccount: description: ID of the debit QuickBooks account. type: string creditAccount: description: ID of the credit QuickBooks account. type: string description: description: >- QuickBooks balance transaction entry description. For example, `Balance transaction of type {{ balanceTransaction.type }} for transaction #{{ transaction.id }}`. type: string credentialHash: type: string description: ID of the OAuth2 credential. required: - credentialHash - debitAccount - creditAccount - description RuleActionUpdateIntuitQuickbooksInvoice: description: Update an Intuit QuickBooks invoice. allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: unearnedRevenueAccount: description: ID of the unearned revenue QuickBooks account. type: string taxesAccount: description: >- ID of the taxes QuickBooks account. If supplied taxes are represented as separate line items instead of integrated tax field. type: - string - 'null' discountsAccount: description: |- ID of the discounts QuickBooks account. If not set `unearnedRevenueAccount` is used for discounts. type: - string - 'null' department: description: ID of the QuickBooks department. type: - string - 'null' template: type: object properties: itemName: description: Name of the line item. type: string default: >- {{ item.plan.id | default: item.product.id | default: item.description }} itemDescription: description: Description of the line item. type: string default: '{{ item.product.description | default: item.description }}' itemSku: description: SKU of the line item. type: string default: >- {{ item.plan.id | default: item.product.id | default: item.id }} itemLineDescription: description: Description of the line item. type: string default: >- {{ item.plan.id | default: item.product.id | default: item.description }}{% if item.periodStartTime and item.periodEndTime %} ({{ item.periodStartTime | datetime: "M jS, Y" }} – {{ item.periodEndTime | datetime: "M jS, Y" }}){% endif %} taxName: description: >- Name of the tax item name. This value is used when the `taxesAccount` field is configured. type: string default: '{{ tax.description }}' taxDescription: description: Description of the tax item. type: string default: >- {{ tax.description }} This value is used when the `taxesAccount` field is configured. taxSku: description: SKU of the tax item. type: string default: tax taxLineDescription: description: >- Description of the tax line. This value is used when the `taxesAccount` field is configured. type: string default: >- {{ tax.description }}{% if item %} for {{ item.plan.id | default: item.description }}{% if item.periodStartTime and item.periodEndTime %} ({{ item.periodStartTime | datetime: "M jS, Y" }} – {{ item.periodEndTime | datetime: "M jS, Y" }}){% else %} for multiple items{% endif %}{% endif %} credentialHash: type: string description: ID of the OAuth2 credential. required: - credentialHash - customerDisplayName - unearnedRevenueAccount RuleActionCreateIntuitQuickbooksInvoice: description: Create an Intuit QuickBooks invoice. allOf: - $ref: '#/components/schemas/RuleActionUpdateIntuitQuickbooksInvoice' - type: object properties: customerDisplayName: description: >- Customer display name in QuickBooks. Duplicate names are mapped to a single QuickBooks customer. Event placeholders could be used as follows: - Organization name: `{{ invoice.customer.primaryAddress.organization }}`; - Full customer name: `{{ invoice.customer.firstName }} {{ invoice.customer.lastName }}`; - Customer ID: `{{ invoice.customer.id }}`. type: string required: - customerDisplayName RuleActionCreateIntuitQuickbooksPayment: description: Create an Intuit QuickBooks payment. allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: depositAccount: description: ID of the deposit QuickBooks account. type: string credentialHash: type: string description: ID of the OAuth2 credential. required: - credentialHash - depositAccount RuleActionCreateIntuitQuickbooksRefundReceipt: description: Create an Intuit QuickBooks refund receipt. allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: depositAccount: description: ID of the deposit QuickBooks account. type: string department: description: ID of the QuickBooks department. type: - string - 'null' credentialHash: type: string description: ID of the OAuth2 credential. required: - credentialHash - depositAccount RuleActionCreateIntuitQuickbooksRevenueRecognitionEntry: description: Create an Intuit QuickBooks revenue recognition entry. allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: debitAccount: description: ID of the debit QuickBooks account. type: string creditAccount: description: ID of the credit QuickBooks account. type: string description: description: >- QuickBooks revenue recognition entry description. For example, `Revenue recognition for invoice #{{ invoice.id }} item #{{ item.id }} – {{ item.description }}`. type: string credentialHash: type: string description: ID of the OAuth2 credential. required: - credentialHash - debitAccount - creditAccount - description RuleActionCreateInfusionsoftOrder: description: Create a Keap Infusionsoft order along with a contact. allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: contactBody: description: >- List of contact attributes used during Keap Infusionsoft creation process. type: object properties: email_addresses: description: >- Contact email addresses used during Keap Infusionsoft creation process. type: array minItems: 1 items: type: object properties: email: description: >- Contact email address used during Keap Infusionsoft creation process. type: string example: '{{ invoice.customer.email }}' field: description: >- Contact email field type used during Keap Infusionsoft creation process. type: string enum: - EMAIL1 - EMAIL2 - EMAIL3 example: EMAIL1 phone_numbers: description: >- Contact phone numbers used during Keap Infusionsoft creation process. type: array minItems: 1 items: type: object properties: number: description: >- Contact phone number used during Keap Infusionsoft creation process. type: string example: '{{ invoice.customer.customFields.phoneNumber }}' field: description: >- Contact phone field type used during Keap Infusionsoft creation process. type: string enum: - PHONE1 - PHONE2 - PHONE3 - PHONE4 - PHONE5 example: PHONE1 orderBody: description: >- List of order attributes used during Keap Infusionsoft creation process except `contact_id`. type: object properties: order_date: description: Order date used during Keap Infusionsoft creation process. type: string example: '{{ invoice.issuedTime }}' order_title: description: Order title used during Keap Infusionsoft creation process. type: string example: '{{ invoice.id }}' order_type: description: >- Order type that used during Keap Infusionsoft creation process. type: string enum: - Offline - Online example: Offline required: - order_date - order_title - order_type credentialHash: type: string description: ID of the OAuth2 credential. required: - credentialHash - contactBody - orderBody RuleActionCreateInfusionsoftPayment: description: Create a Keap Infusionsoft payment. allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: paymentBody: description: >- List of payment attributes used during Keap Infusionsoft creation process. type: object credentialHash: type: string description: ID of the OAuth2 credential. required: - credentialHash RuleActionDeclineTransaction: description: Decline transaction. allOf: - $ref: '#/components/schemas/RuleAction' RuleActionCheckOntarioRestriction: description: Decline transaction not conforming Ontario's restrictions. allOf: - $ref: '#/components/schemas/RuleAction' RuleActionDisplayMessage: description: Display message. allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: messages: type: array minItems: 1 items: type: object properties: langIso: description: Language in ISO 639-1 code format. type: string content: type: string required: - langIso - content required: - messages RuleActionDisplayOtherChoices: description: Display other choices. allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: choices: type: array minItems: 1 items: type: object properties: langIso: description: Language in ISO 639-1 code format. type: string content: type: string required: - langIso - content required: - choices RuleActionGuessPaymentCardExpiration: allOf: - $ref: '#/components/schemas/RuleAction' RuleActionOfferPurchaseBump: description: Offer purchase bump. allOf: - $ref: '#/components/schemas/RuleAction' - type: object required: - bumpOffers properties: bumpOffers: type: array minItems: 1 items: type: object required: - name - weight - offers - choices properties: name: type: string description: |- Name of the bump offer version. This field is useful when measuring split tests. weight: description: Weight of the bump offer. type: integer minimum: 0 offers: type: array minItems: 1 items: $ref: '#/components/schemas/PurchaseBumpOffer' choices: type: array minItems: 1 items: type: object required: - langIso - content properties: langIso: $ref: '#/components/schemas/LanguageIsoCode' content: type: string RuleActionPerformExperianCheck: description: Perform Experian ProveID check on the customer. allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: experianCredentialHash: description: Hash of the Experian credential to use for performing the check. type: string example: 58816e40-387e-4834-982f-fa1855a75f64 tagOnApprove: description: >- Tag ID that should be used to tag the customer when the identity matches Experian records. type: string tagOnReject: description: >- Tag ID that should be used to tag the customer when the identity doesn't match Experian records. type: string tagOnUnknown: description: >- Tag ID that should be used to tag the customer when the identity is not found in Experian records or further analysis needed. type: string required: - experianCredentialHash GatewayAccountPickInstruction: type: object discriminator: propertyName: method mapping: gateway-account-weights: '#/components/schemas/PickInstructionGatewayAccountWeights' gateway-acquirer-weights: '#/components/schemas/PickInstructionGatewayAcquirerWeights' properties: strategy: type: string enum: - weighted-random - round-robin description: >- Controls the picking strategy for gateway accounts. The weighted-random strategy picks based on weighted-random every time. The round-robin strategy tries a weighted-random different gateway account for consecutive attempts from same payment instrument. default: weighted-random method: type: string enum: - gateway-account-weights - gateway-acquirer-weights required: - method PickInstructionGatewayAccountWeights: allOf: - $ref: '#/components/schemas/GatewayAccountPickInstruction' - type: object properties: weightedList: type: array uniqueItems: true minimum: 0 items: type: object properties: gatewayAccountId: type: string description: Unique resource ID. maxLength: 50 example: gw_acc_0YVCXMF26DDNKAERE5NW727S34 weight: type: integer minimum: 0 required: - gatewayAccountId - weight example: - gatewayAccountId: my_gateway_account_1 weight: 80 - gatewayAccountId: my_gateway_account_2 weight: 20 required: - weightedList PickInstructionGatewayAcquirerWeights: allOf: - $ref: '#/components/schemas/GatewayAccountPickInstruction' - type: object properties: weightedList: type: array uniqueItems: true minimum: 0 items: type: object properties: gatewayName: $ref: '#/components/schemas/GatewayName' acquirerName: $ref: '#/components/schemas/AcquirerName' weight: type: integer minimum: 0 required: - gatewayName - acquirerName - weight example: - gatewayName: TestProcessor acquirerName: AIB weight: 80 - gatewayName: TestProcessor acquirerName: B+S weight: 20 required: - weightedList RuleActionPickGatewayAccount: allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: pickInstruction: $ref: '#/components/schemas/GatewayAccountPickInstruction' required: - pickInstruction RuleActionRemoveReminder: allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: role: type: string enum: - all - renewal - trial-end description: >- Role of Reminder (available only on Order events, other events should use `all`). required: - role RuleActionRequestKyc: description: Request KYC page to verify customer identity. allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: documents: type: array description: Documents to request from the customer. minItems: 1 items: $ref: '#/components/schemas/KycRequestDocument' excludePolicy: type: string description: Specifies who should be excluded from the verification. enum: - customers-with-accepted-document - customers-with-document - none default: customers-with-accepted-document isMandatory: type: boolean description: Is the verification mandatory. default: true promptPolicy: type: string description: When to prompt, before or after processing the transaction. enum: - before-transaction-process - after-transaction-process default: before-transaction-process rejectedBeforeTransactionProcessPolicy: type: string description: >- What to do if verification is before transaction processing, and is rejected. enum: - process-transaction - decline - use-alternate-gateway default: decline alternateGatewayAccountIfRejected: type: string description: >- Gateway account to use if use-alternate-gateway is selected for rejectedBeforeTransactionProcessPolicy. rejectedAfterTransactionProcessPolicy: type: string description: >- What to do if verification is after transaction processing, and is rejected. enum: - proceed default: proceed optionalPolicy: type: string description: What to do if verification is optional. enum: - allow-bypass - allow-use-alternate-gateway default: allow-bypass alternateGatewayAccountIfOptional: type: string description: >- Gateway account to use if allow-use-alternate-gateway is selected for optionalPolicy. bypassCurrencyToDisplay: description: >- Currency three letter code to display on the bypass link, if optional. type: string default: USD required: - documents - excludePolicy - isMandatory - promptPolicy - rejectedBeforeTransactionProcessPolicy - rejectedAfterTransactionProcessPolicy - optionalPolicy RuleActionResetReminder: allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: role: type: string enum: - all - renewal - trial-end description: >- Role of Reminder (available only on Order events, other events should use `all`). required: - role RuleActionScheduleInvoiceRetry: description: Schedule an invoice retry. allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: attempts: type: array description: Describes the retry instruction. minItems: 1 items: type: object properties: scheduleInstruction: $ref: '#/components/schemas/InvoiceRetryScheduleInstruction' amountAdjustmentInstruction: $ref: >- #/components/schemas/InvoiceRetryAmountAdjustmentInstruction tryBackupInstruments: description: >- Specifies whether to use backup payment instruments on an invoice payment retry. type: boolean default: false required: - scheduleInstruction afterAttemptPolicies: description: Policy on the attempt finishes. type: array items: type: string enum: - change-subscription-renewal-time afterRetryEndPolicies: description: Policy on the retry ends. type: array items: type: string enum: - abandon-invoice - cancel-subscription overrideRetryInstruction: description: Specifies whether to replace the existing retry. type: boolean required: - attempts - afterAttemptPolicies - afterRetryEndPolicies - overrideRetryInstruction SchedulingMethodAuto: type: object required: - method properties: method: type: string enum: - auto ScheduleInstruction: type: object description: Specifies when the instruction is performed. discriminator: propertyName: method mapping: auto: '#/components/schemas/SchedulingMethodAuto' date-interval: '#/components/schemas/SchedulingMethodDateInterval' day-of-month: '#/components/schemas/SchedulingMethodDayOfMonth' day-of-week: '#/components/schemas/SchedulingMethodDayOfWeek' immediately: '#/components/schemas/SchedulingMethodImmediately' intelligent: '#/components/schemas/SchedulingMethodIntelligent' anyOf: - $ref: '#/components/schemas/SchedulingMethodAuto' - $ref: '#/components/schemas/SchedulingMethodDateInterval' - $ref: '#/components/schemas/SchedulingMethodDayOfMonth' - $ref: '#/components/schemas/SchedulingMethodDayOfWeek' - $ref: '#/components/schemas/SchedulingMethodImmediately' - $ref: '#/components/schemas/SchedulingMethodIntelligent' RuleActionSchedulePayment: allOf: - $ref: '#/components/schemas/RuleAction' - type: object description: Calculation instruction of scheduled time for payment. properties: scheduleInstruction: $ref: '#/components/schemas/ScheduleInstruction' amountPolicy: type: string enum: - invoice-amount-due required: - scheduleInstruction - amountPolicy ReminderScheduleInstruction: type: object description: Calculation instruction of the scheduled time. discriminator: propertyName: method mapping: date-interval: '#/components/schemas/SchedulingMethodDateInterval' day-of-month: '#/components/schemas/SchedulingMethodDayOfMonth' day-of-week: '#/components/schemas/SchedulingMethodDayOfWeek' anyOf: - $ref: '#/components/schemas/SchedulingMethodDateInterval' - $ref: '#/components/schemas/SchedulingMethodDayOfMonth' - $ref: '#/components/schemas/SchedulingMethodDayOfWeek' RuleActionScheduleReminder: allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: role: type: string enum: - all - renewal - trial-end description: >- Specifies the types of events that the reminder is applicable to. The `renewal` and `trial-end` options are only available for order events. Other events must use the `all` option. schedule: type: object description: Collection of schedule instructions. properties: instructions: type: array items: $ref: '#/components/schemas/ReminderScheduleInstruction' chronology: type: string enum: - before - after required: - instructions - chronology required: - role RulesEmailNotification: type: object properties: id: type: string format: uuid description: ID of the message. version: type: string description: >- Version number of the message. Use this field to distinguish between multiple messages by name and version number. If there are no versions, this field is empty. weight: type: integer description: >- Weight distribution value that is assigned to a template for a split test. Each template in a split test can be assigned a weight. The higher the weight value, the more likely the message template is used. The split test algorithm does not assess locale when making a weighted template selection. minimum: 0 maximum: 100 example: 75 default: 100 templates: description: >- Array of message templates with language locale identifiers in [RFC 5646](https://tools.ietf.org/html/rfc5646) format. A language is selected based on the customer's locale. If no locale is configured for the customer, `en-US` (US English) is used. If no template is available in the customer's locale, a template locale is selected using a closest match algorithm. If your email message templates are localized into more than one language, set a customer locale. Invalid placeholders render as empty strings. For example, `Hello {{invalid.placeholder}}!` is rendered as `Hello !`. type: array minItems: 1 items: type: object required: - locale - subject - text - html - from - to properties: locale: type: string description: >- Language locale identifier in [RFC 5646](https://tools.ietf.org/html/rfc5646) format. example: fr-FR from: type: string description: >- Email address of the sender. > **Important:** This value must be a verified email address. To verify an email address: 1. [Create an email delivery setting](https://www.rebilly.com/catalog/all/email-delivery-settings/postemaildeliverysetting/). In the response, you receive the email and a token. 1. [Verify the email delivery](https://www.rebilly.com/catalog/all/email-delivery-settings/putemaildeliverysettingsverification/) by passing the token as the path parameter. Template placeholders are permitted. If a placeholder does not resolve to a verified `from` address, the default verified `from` address is used. maxLength: 254 example: example@example.com to: type: array description: |- List of email addresses to which the email message is sent. Template placeholders are permitted. If a placeholder does not resolve to an email address, the address is not added. minItems: 1 items: type: string maxLength: 254 example: '{{ invoice.customer.email }}' cc: type: array description: |- List of CC email addresses to which the email message is sent. Template placeholders are permitted. If a placeholder does not resolve to an email address, the address is not added. items: type: string maxLength: 254 example: '{{ invoice.customer.email }}' bcc: type: array description: >- List of BCC email addresses to which the email message is sent. Template placeholders are permitted. If a placeholder does not resolve to an email address, the address is not added. items: type: string maxLength: 254 example: '{{ invoice.customer.email }}' subject: type: string description: |- Subject of the message. The use of template placeholders is permitted for this field. maxLength: 998 example: Demonstration subject text: type: string description: |- Text body of the message. To use content from the `html` field, leave this field empty. The use of template placeholders is permitted for this field. example: Demonstration text html: type: string description: |- HTML body of the message. To use content from the `text` field, leave this field empty. The use of template placeholders is permitted for this field. example:

Demonstration text

editor: type: string description: >- Source of the message. This value is required for the email editor. This value is not used for sending emails. It is used by the editor to reproduce the message for future updates. example:
Demonstration text
attachments: description: Attachments of the email message. type: array items: type: object required: - resourceType - resourceId properties: resourceType: type: string description: Type of the attachment resource. example: customer resourceId: type: string description: |- ID of the attachment resource. Template placeholders are permitted. maxLength: 50 example: cus_0YV7DDSDD1C8DA64KHH2W33CPF example: locale: fr-FR from: example@example.com to: - '{{ invoice.customer.email }}' subject: Sujet de démonstration text: Texte de démonstration html:

Texte de démonstration

editor:
Texte de démonstration
required: - templates RuleActionSendEmail: allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: id: type: string format: uuid description: ID of the action. title: type: string description: Title of the messages (this title appears in reports). emails: type: array description: List of messages. minItems: 1 items: $ref: '#/components/schemas/RulesEmailNotification' splitTestStartTime: type: string format: date-time description: Split test start time. required: - emails RuleActionStopSubscriptions: description: Stop active subscriptions. allOf: - $ref: '#/components/schemas/RuleAction' RuleActionTagOrUntagCustomer: description: Tag or untag a customer with a specified list of tags. allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: addingTags: description: List of tag ID customer should be tagged with. type: array maxItems: 1000 items: type: string removingTags: description: List of tag ID customer should be untagged from. type: array maxItems: 1000 items: type: string required: - addingTags - removingTags RuleActionVoidIntuitQuickbooksInvoice: description: Void an Intuit QuickBooks invoice. allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: credentialHash: type: string description: ID of the OAuth2 credential. required: - credentialHash - customerDisplayName - unearnedRevenueAccount Bind: type: object description: Rule information. properties: id: description: ID of the rule. $ref: '#/components/schemas/ResourceId' name: description: Name of the rule. type: string labels: description: Labels of the rule. type: array uniqueItems: true example: - test-rule - category:foo items: type: string pattern: '[a-zA-Z][a-zA-Z0-9:-]*' status: description: Status of the rule. type: string default: active enum: - active - inactive filter: description: >- Filters the collection items. This field requires a special format. Use `,` for multiple allowed values. Use `;` for multiple fields. For more information, see [Using filter with collections](https://www.rebilly.com/docs/dev-docs/search-filters). type: string actions: description: Actions that execute when an event occurs. type: array uniqueItems: true items: $ref: '#/components/schemas/RuleAction' required: - name - actions Rule: type: object allOf: - $ref: '#/components/schemas/Bind' - type: object properties: final: description: >- Specifies if the rule stops subsequent rules in the event list from being executed. type: boolean default: true RuleSet: type: object description: Ruleset for a specific event. properties: version: description: Version of the ruleset. type: integer readOnly: true binds: type: array description: |- Binds always execute, regardless of rule based events. A bind is a configuration of an event and one or more actions. items: $ref: '#/components/schemas/Bind' rules: type: array description: >- Rules can be configured to stop subsequent rules in the event list from being executed. A rule is a configuration of an event and one or more actions. items: $ref: '#/components/schemas/Rule' createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' required: - rules RulesEngineTimeline: type: object properties: id: type: string description: ID of the timeline message. readOnly: true maxLength: 50 example: tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC type: description: Type of timeline message. type: string readOnly: true enum: - timeline-comment-created - ruleset-created - ruleset-changed triggeredBy: description: Specifies who, or what, triggered the timeline event. type: string readOnly: true enum: - rebilly - app - direct-api message: description: Contents of the timeline message. type: string extraData: $ref: '#/components/schemas/TimelineExtraData' occurredTime: description: Date and time when the timeline message occurred. readOnly: true $ref: '#/components/schemas/ServerTimestamp' _links: $ref: '#/components/schemas/SelfLink' RuleSetHistoryItem: type: object description: Version of ruleset. readOnly: true properties: version: description: Version of the ruleset. type: integer createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - history - rules RuleSetVersion: type: object description: Version of ruleset. readOnly: true properties: version: description: Version of the ruleset. type: integer binds: type: array description: |- Binds always execute, regardless of rule based events. A bind is a configuration of an event and one or more actions. items: $ref: '#/components/schemas/Bind' rules: type: array description: >- Rules can be configured to stop subsequent rules in the event list from being executed. A rule is a configuration of an event and one or more actions. items: $ref: '#/components/schemas/Rule' createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: $ref: '#/components/schemas/SelfLink' RuleSetDraft: type: object description: Draft ruleset for specific event. properties: id: type: string readOnly: true description: ID of the draft rule set. maxLength: 50 example: rule_dft_0YVDN3FN43CEQ8CQ93Y0H00ZQ7 baseVersion: type: integer minimum: 0 description: >- Ruleset version on which the draft ruleset is based. Generally, a draft ruleset is cloned from an existing ruleset. Use this field to determine if the active ruleset changed since the draft creation. `0` denotes a draft ruleset that is not created from an existing ruleset. The value of this field is informational only, it is not assigned to the active ruleset. binds: type: array description: |- Binds always execute, regardless of rule based events. A rule is a configuration of an event and one or more actions. items: $ref: '#/components/schemas/Bind' rules: type: array description: >- Rule can be configured to stop subsequent rules in the event list from being executed. A rule is a configuration of an event and one or more actions. items: $ref: '#/components/schemas/Rule' author: description: Author of the draft. readOnly: true type: object properties: id: description: Author's user ID. type: string $ref: '#/components/schemas/ResourceId' name: description: Author's first and last name. type: string name: type: string description: Name of the draft. description: type: string description: Detailed description of the drafted ruleset. createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - user required: - rules - name - baseVersion ForgotPassword: type: object required: - email properties: email: description: Email address to which a reset password link is sent. type: string format: email GatewayAccount: description: Gateway account details. type: object required: - gatewayName - method - acceptedCurrencies discriminator: propertyName: gatewayName mapping: A1Gateway: '#/components/schemas/A1Gateway' ACI: '#/components/schemas/ACI' Adyen: '#/components/schemas/Adyen' Aircash: '#/components/schemas/Aircash' Airpay: '#/components/schemas/Airpay' Airwallex: '#/components/schemas/Airwallex' AmazonPay: '#/components/schemas/AmazonPay' AmexVPC: '#/components/schemas/AmexVPC' ApcoPay: '#/components/schemas/ApcoPay' AsiaPaymentGateway: '#/components/schemas/AsiaPaymentGateway' AstroPayCard: '#/components/schemas/AstroPayCard' AuthorizeNet: '#/components/schemas/AuthorizeNet' Awepay: '#/components/schemas/Awepay' Bambora: '#/components/schemas/Bambora' BankSEND: '#/components/schemas/BankSEND' BitPay: '#/components/schemas/BitPay' BlueSnap: '#/components/schemas/BlueSnap' BraintreePayments: '#/components/schemas/BraintreePayments' Buckaroo: '#/components/schemas/Buckaroo' BVNK: '#/components/schemas/BVNK' CASHlib: '#/components/schemas/CASHlib' CODVoucher: '#/components/schemas/CODVoucher' Coinbase: '#/components/schemas/Coinbase' CoinGate: '#/components/schemas/CoinGate' CoinPayments: '#/components/schemas/CoinPayments' Cardknox: '#/components/schemas/Cardknox' Cashflows: '#/components/schemas/Cashflows' Cashterminal: '#/components/schemas/Cashterminal' CashToCode: '#/components/schemas/CashToCode' CauriPayment: '#/components/schemas/CauriPayment' Cayan: '#/components/schemas/Cayan' CCAvenue: '#/components/schemas/CCAvenue' Chase: '#/components/schemas/Chase' CheckoutCom: '#/components/schemas/CheckoutCom' Chillstock: '#/components/schemas/Chillstock' Circle: '#/components/schemas/Circle' Citadel: '#/components/schemas/Citadel' Clearhaus: '#/components/schemas/Clearhaus' Cleo: '#/components/schemas/Cleo' Conekta: '#/components/schemas/Conekta' Coppr: '#/components/schemas/Coppr' Credorax: '#/components/schemas/Credorax' Cryptonator: '#/components/schemas/Cryptonator' CyberSource: '#/components/schemas/CyberSource' DataCash: '#/components/schemas/DataCash' Dengi: '#/components/schemas/Dengi' Dimoco: '#/components/schemas/Dimoco' dLocal: '#/components/schemas/dLocal' Dragonphoenix: '#/components/schemas/Dragonphoenix' Dropayment: '#/components/schemas/Dropayment' Directa24: '#/components/schemas/Directa24' EasyPayDirect: '#/components/schemas/EasyPayDirect' EBANX: '#/components/schemas/EBANX' EPG: '#/components/schemas/EPG' EPro: '#/components/schemas/EPro' EcorePay: '#/components/schemas/EcorePay' Elavon: '#/components/schemas/Elavon' EMS: '#/components/schemas/EMS' ePay: '#/components/schemas/ePay' Euteller: '#/components/schemas/Euteller' Ezeebill: '#/components/schemas/Ezeebill' eZeeWallet: '#/components/schemas/eZeeWallet' ezyEFT: '#/components/schemas/ezyEFT' FinTecSystems: '#/components/schemas/FinTecSystems' Finrax: '#/components/schemas/Finrax' Flexepin: '#/components/schemas/Flexepin' Forte: '#/components/schemas/Forte' FundSend: '#/components/schemas/FundSend' GET: '#/components/schemas/GET' Gigadat: '#/components/schemas/Gigadat' GlobalOne: '#/components/schemas/GlobalOne' Gooney: '#/components/schemas/Gooney' Gpaysafe: '#/components/schemas/Gpaysafe' Greenbox: '#/components/schemas/Greenbox' HiPay: '#/components/schemas/HiPay' ICEPAY: '#/components/schemas/ICEPAY' INOVAPAY: '#/components/schemas/INOVAPAY' Ilixium: '#/components/schemas/Ilixium' Ingenico: '#/components/schemas/Ingenico' Inovio: '#/components/schemas/Inovio' InstaDebit: '#/components/schemas/InstaDebit' Intuit: '#/components/schemas/Intuit' IpayOptions: '#/components/schemas/IpayOptions' JetPay: '#/components/schemas/JetPay' Jeton: '#/components/schemas/Jeton' JPMOrbital: '#/components/schemas/JPMOrbital' Khelocard: '#/components/schemas/Khelocard' Klarna: '#/components/schemas/Klarna' Konnektive: '#/components/schemas/Konnektive' LaCore: '#/components/schemas/LaCore' loonie: '#/components/schemas/loonie' LPG: '#/components/schemas/LPG' MaxiCash: '#/components/schemas/MaxiCash' MercadoPago: '#/components/schemas/MercadoPago' MiFinity: '#/components/schemas/MiFinity' MobilePay: '#/components/schemas/MobilePay' Moneris: '#/components/schemas/Moneris' Monolo: '#/components/schemas/Monolo' MtaPay: '#/components/schemas/MtaPay' MuchBetter: '#/components/schemas/MuchBetter' MuchBetterGateway: '#/components/schemas/MuchBetterGateway' MyFatoorah: '#/components/schemas/MyFatoorah' Neosurf: '#/components/schemas/Neosurf' NMI: '#/components/schemas/NMI' Netbanking: '#/components/schemas/Netbanking' Neteller: '#/components/schemas/Neteller' NGenius: '#/components/schemas/NGenius' NinjaWallet: '#/components/schemas/NinjaWallet' NordikCoin: '#/components/schemas/NordikCoin' NOWPayments: '#/components/schemas/NOWPayments' NuaPay: '#/components/schemas/NuaPay' OchaPay: '#/components/schemas/OchaPay' Onlineueberweisen: '#/components/schemas/Onlineueberweisen' OnRamp: '#/components/schemas/OnRamp' Orbital: '#/components/schemas/Orbital' Pagadito: '#/components/schemas/Pagadito' Pagsmile: '#/components/schemas/Pagsmile' Panamerican: '#/components/schemas/Panamerican' PandaGateway: '#/components/schemas/PandaGateway' ParamountCommerce: '#/components/schemas/ParamountCommerce' ParamountEft: '#/components/schemas/ParamountEft' ParamountInterac: '#/components/schemas/ParamountInterac' Pay4Fun: '#/components/schemas/Pay4Fun' PayCash: '#/components/schemas/PayCash' PayClub: '#/components/schemas/PayClub' PayEcards: '#/components/schemas/PayEcards' Paynote: '#/components/schemas/Paynote' PayPal: '#/components/schemas/PayPal' Payeezy: '#/components/schemas/Payeezy' Payflow: '#/components/schemas/Payflow' PaymentAsia: '#/components/schemas/PaymentAsia' PaymenTechnologies: '#/components/schemas/PaymenTechnologies' PaymentsOS: '#/components/schemas/PaymentsOS' Paymero: '#/components/schemas/Paymero' Payper: '#/components/schemas/Payper' Payr: '#/components/schemas/Payr' PayRedeem: '#/components/schemas/PayRedeem' PayRetailers: '#/components/schemas/PayRetailers' Paysafe: '#/components/schemas/Paysafe' Paysafecard: '#/components/schemas/Paysafecard' Paysafecash: '#/components/schemas/Paysafecash' PayTabs: '#/components/schemas/PayTabs' PayU: '#/components/schemas/PayU' PayULatam: '#/components/schemas/PayULatam' Payvision: '#/components/schemas/Payvision' PharosPayments: '#/components/schemas/PharosPayments' Piastrix: '#/components/schemas/Piastrix' Pin4Pay: '#/components/schemas/Pin4Pay' Plugnpay: '#/components/schemas/Plugnpay' PostFinance: '#/components/schemas/PostFinance' PSiGate: '#/components/schemas/PSiGate' PPRO: '#/components/schemas/PPRO' Prosa: '#/components/schemas/Prosa' Rapyd: '#/components/schemas/Rapyd' RPN: '#/components/schemas/RPN' Realex: '#/components/schemas/Realex' Realtime: '#/components/schemas/Realtime' Redsys: '#/components/schemas/Redsys' Rotessa: '#/components/schemas/Rotessa' Safecharge: '#/components/schemas/Safecharge' SaltarPay: '#/components/schemas/SaltarPay' SMSVoucher: '#/components/schemas/SMSVoucher' Sofort: '#/components/schemas/Sofort' Sagepay: '#/components/schemas/Sagepay' SeamlessChex: '#/components/schemas/SeamlessChex' SecureTrading: '#/components/schemas/SecureTrading' SecurionPay: '#/components/schemas/SecurionPay' Skrill: '#/components/schemas/Skrill' SmartInvoice: '#/components/schemas/SmartInvoice' SparkPay: '#/components/schemas/SparkPay' StaticGateway: '#/components/schemas/StaticGateway' STPMexico: '#/components/schemas/STPMexico' Stripe: '#/components/schemas/Stripe' Telr: '#/components/schemas/Telr' TestProcessor: '#/components/schemas/TestProcessor' ToditoCash: '#/components/schemas/ToditoCash' Truevo: '#/components/schemas/Truevo' TrustsPay: '#/components/schemas/TrustsPay' Trustly: '#/components/schemas/Trustly' TWINT: '#/components/schemas/TWINT' Unlimit: '#/components/schemas/Unlimit' UPayCard: '#/components/schemas/UPayCard' USAePay: '#/components/schemas/USAePay' VantivLitle: '#/components/schemas/VantivLitle' VCreditos: '#/components/schemas/VCreditos' VegaWallet: '#/components/schemas/VegaWallet' Wallet88: '#/components/schemas/Wallet88' Walpay: '#/components/schemas/Walpay' WesternUnion: '#/components/schemas/WesternUnion' Wirecard: '#/components/schemas/Wirecard' WorldlineAtosFrankfurt: '#/components/schemas/WorldlineAtosFrankfurt' Worldpay: '#/components/schemas/Worldpay' Zotapay: '#/components/schemas/Zotapay' eMerchantPay: '#/components/schemas/eMerchantPay' ecoPayz: '#/components/schemas/ecoPayz' iCanPay: '#/components/schemas/iCanPay' iCheque: '#/components/schemas/iCheque' iDebit: '#/components/schemas/iDebit' vegaaH: '#/components/schemas/vegaaH' XPay: '#/components/schemas/XPay' Zimpler: '#/components/schemas/Zimpler' properties: id: type: string description: ID of the payment gateway account. readOnly: true maxLength: 50 example: gw_acc_0YVCXMF26DDNKAERE5NW727S34 gatewayName: $ref: '#/components/schemas/GatewayName' acquirerName: default: Other allOf: - $ref: '#/components/schemas/AcquirerName' method: $ref: '#/components/schemas/PaymentMethod' acceptedCurrencies: description: Accepted currencies. An array of ISO 4217 currency codes. type: array items: type: string paymentCardSchemes: description: Accepted payment card brands. type: array items: $ref: '#/components/schemas/PaymentCardBrand' status: description: Status of the gateway account. readOnly: true type: string enum: - active - inactive - pending - closed merchantCategoryCode: description: Merchant category code of the payment gateway account. type: string pattern: ^[0-9]{4}$ default: '0000' dccMarkup: description: Dynamic currency conversion markup in basis points. type: - integer - 'null' minimum: -10000 maximum: 10000 dccForceCurrency: type: - string - 'null' description: >- Forces Dynamic Currency Conversion (DCC) to the specified currency on each sale. To disable forced DCC, leave this field empty. dccForceRounding: type: boolean default: false description: >- Specifies that DCC quote amounts must be rounded half up to the nearest whole number. descriptor: description: Gateway account descriptor value. type: - string - 'null' cityField: description: >- Gateway account city field. This value is also known as a line 2 descriptor. type: - string - 'null' excludedDccQuoteCurrencies: description: Excluded Dynamic Currency Conversion (DCC) quote currencies. type: array items: type: string monthlyLimit: description: >- Monthly limit on the amount money that the gateway account can process. type: - number - 'null' format: double minimum: 0 approvalWindowTtl: description: >- Allotted time, in seconds, in which an offsite transaction must be approved before it is automatically `abandoned`. type: integer default: 3600 minimum: 300 maximum: 16777215 reconciliationWindowEnabled: description: >- Specifies that if a transaction is not reconciled within the `reconciliationWindowTtl` time, the transaction is marked as `abandoned`. type: boolean default: false reconciliationWindowTtl: description: >- Allotted time, in seconds, in which a reconciliation must occur before it is automatically `abandoned`. type: - integer - 'null' minimum: 300 maximum: 16777215 threeDSecure: description: Specifies if a gateway account allows 3D Secure. type: boolean default: false dynamicDescriptor: description: Specifies if a gateway allows dynamic descriptors. type: boolean default: false digitalWallets: $ref: '#/components/schemas/DigitalWallets' isDown: description: Specifies if a gateway is in a downtime period. type: boolean readOnly: true additionalFilters: description: >- Additional filters used to determine if the gateway account can be selected to process a transaction. For example, the filter may place a maximum amount value on transaction. If a transaction exceeds this value, the gateway account is not used. For more information see, [Using filters](https://www.rebilly.com/docs/dev-docs/search-filters). type: - string - 'null' example: amount:1..100;bin:411111,444433 timeout: description: Gateway account request timeout, in seconds. type: - integer - 'null' minimum: 10 maximum: 120 token: description: Gateway account token. type: - string - 'null' readOnly: true example: TwiX3f92k4AiBE27BzTbQ38hHjicBz_w sticky: description: >- Specifies if all future payments by the customer's payment instrument are processed by this gateway account. For more information, see [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts). type: boolean default: true setupInstruction: type: string default: do-nothing description: >- Creates zero, one, or more child transactions such as `authorize` and `void`. The transactions are linked to the `setup` transaction by the `parentTransactionId` relationship. enum: - authorize - authorize-and-void - sca - do-nothing x-enumDescriptions: authorize: >- Creates an `authorize` transaction in the amount and currency of the request. authorize-and-void: >- Creates an `authorize` transaction followed by a `void`, if the `authorize` is approved. If the request amount is $0, then a $1 authorize is created. Otherwise the request amount is used. sca: >- Uses Strong Customer Authentication (SCA) without an `authorize` transaction. SCA includes 3DS, and specific wallet behavior, such as setting up a billing agreement with PayPal. do-nothing: |- Does nothing except return an approved `setup` transaction. This is the default behavior. readyToPayoutInstruction: type: string default: none description: >- Defines the mode of gateway payout behaviour for the [Ready to payout](https://www.rebilly.com/catalog/all/storefront-purchases/storefrontpostreadytopayout) operation. enum: - all - covered-payout - approved-payment - none x-enumDescriptions: all: Payout any amount from this gateway. covered-payout: >- Payout from this gateway if it previously processed a payment for the same, or a greater, amount. approved-payment: >- Payout any amount from this gateway if it processed an earlier payment. The customer must have a previously approved transaction, in the same currency, on this gateway. none: >- Do not allow any payouts with this gateway. This is the default value, merchants must opt into payouts. customFields: $ref: '#/components/schemas/ResourceCustomFields' createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: $ref: '#/components/schemas/UpdatedTime' organizationId: deprecated: true readOnly: true allOf: - $ref: '#/components/schemas/OrganizationId' _links: type: array description: Related links. readOnly: true items: type: object properties: href: description: Link URL. type: string rel: description: Type of link. type: string enum: - self - onBoardingUrl - dynamicIpnUrl - staticIpnUrl A1Gateway: description: A1Gateway gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: A1Gateway credentials object. properties: accountId: type: string description: ID of the A1Gateway account. password: type: string description: A1Gateway password. format: password writeOnly: true required: - accountId - password ThreeDSecureIO3dsServer: description: ThreeDSecureIO 3DS Server. type: object required: - name - acquirerMerchantIdVisa - acquirerMerchantIdMastercard - merchantName - merchantAcquirerBinVisa - merchantAcquirerBinMastercard - merchantCountry - merchantUrl - transactionType properties: name: type: string description: Merchant plug-in name. enum: - ThreeDSecureIO3dsServer acquirerMerchantIdVisa: type: string description: Merchant ID (MID) of the Visa acquirer. maxLength: 35 acquirerMerchantIdMastercard: type: string description: Merchant ID (MID) of the Mastercard acquirer. maxLength: 35 acquirerMerchantIdAmex: type: string description: Merchant ID (MID) of the American Express acquirer. maxLength: 35 acquirerMerchantIdDiscover: type: string description: Merchant ID (MID) of the Discover/Diners acquirer. maxLength: 35 acquirerMerchantIdJcb: type: string description: Merchant ID (MID) of the JCB acquirer. maxLength: 35 merchantName: type: string description: Name of the merchant. maxLength: 40 merchantAcquirerBinVisa: type: string description: BIN of the Visa acquirer. minLength: 6 maxLength: 11 merchantAcquirerBinMastercard: type: string description: BIN of the Mastercard acquirer. minLength: 6 maxLength: 11 merchantAcquirerBinAmex: type: string description: BIN of the American Express acquirer. minLength: 6 maxLength: 11 merchantAcquirerBinDiscover: type: string description: BIN of the Discover/Diners acquirer. minLength: 6 maxLength: 11 merchantAcquirerBinJcb: type: string description: BIN of the JCB acquirer. minLength: 6 maxLength: 11 merchantCountry: type: string description: Merchant country in ISO Alpha-2 code format. maxLength: 2 example: US merchantUrl: type: string description: URL of the merchant's website. maxLength: 2048 transactionType: type: string enum: - '01' - '03' - '10' - '11' - '28' description: Identifies the type of transaction that is being authenticated. x-enumDescriptions: '1': Goods/Service purchase. '3': Check acceptance. '10': Account funding. '11': Quasi-Cash transaction. Indicates the type of 3RI request. '28': Prepaid activation and load. declineNotEnrolled: type: boolean description: >- Specifies whether to decline transactions if a payment card is not enrolled. default: false use3dsForMerchantInitiated: type: boolean description: Specifies whether to use 3DS for merchant initiated transactions. default: false threeRIInd: type: string enum: - '01' - '02' - '03' - '04' - '05' - '06' - '07' - '08' - '09' - '10' - '11' description: |- Indicates the type of 3RI request. Values 06 - 11 are only supported in 3DS 2.2.0. x-enumDescriptions: '10': Whitelist status check. '11': Other payment. '01': Recurring transaction. '02': Instalment transaction. '03': Add card. '04': Maintain card information. '05': Account verification. '06': Split/delayed shipment. '07': Top-up. '08': Mail order. '09': Telephone order. ACI: description: ACI gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: ACI credentials object. properties: entityId: type: string accessToken: type: string format: password writeOnly: true required: - entityId - accessToken settings: type: object description: ACI settings object. properties: url: type: string description: ACI custom server URL. threeDSecureServer: $ref: '#/components/schemas/ThreeDSecureIO3dsServer' Adyen: description: Adyen gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials - settings properties: credentials: type: object description: Adyen credentials object. properties: merchantAccount: type: string description: Adyen merchant account. apiKey: type: string description: Adyen API key. format: password writeOnly: true required: - merchantAccount - apiKey settings: type: object description: Adyen settings object. properties: store: type: string description: >- E-commerce or point-of-sale store that is processing the payment. minLength: 1 maxLength: 16 url: type: string description: Adyen post URL. splitPayments: type: array description: Adyen split payments. items: type: object properties: percentage: description: Percentage of the transaction amount. type: number format: double minimum: 0 maximum: 100 example: 0.5 commissionAmount: description: Fixed commission amount in minor units. type: number format: integer example: 100 currency: $ref: '#/components/schemas/CurrencyCode' account: description: >- ID of the balance account where the split amount is sent. type: string merchantCountry: description: >- Two-letter ISO 3166 alpha-2 code of the merchant's country. type: string example: US type: description: Account type of the split payment. type: string enum: - BalanceAccount - Commission - Remainder - PaymentFee totalTaxRate: type: number format: double description: >- Total tax percentage as a decimal. Use this field to calculate the total tax amount to send with level 2 enhanced scheme data. example: 5.5 minimum: 0.01 maximum: 100 enableMoto: type: boolean description: Specifies whether to use Mail Order Telephone Order (MOTO). default: false example: false required: - url threeDSecureServer: $ref: '#/components/schemas/ThreeDSecureIO3dsServer' Aircash: description: Aircash gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Aircash credentials object. properties: partnerId: type: string description: ID of the Aircash partner. privateKey: writeOnly: true type: string description: Private key of the Aircash partner. format: password x-multiline: true privateKeyPassword: writeOnly: true type: string description: Private key password of the Aircash partner. format: password required: - partnerId - privateKey - privateKeyPassword Airpay: description: Airpay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Airpay credentials object. properties: username: type: string description: Airpay username. merchantId: type: string description: ID of the Airpay merchant. password: writeOnly: true type: string description: Airpay password. format: password apiKey: type: string description: Airpay API key. format: password writeOnly: true required: - username - merchantId - password - apiKey Airwallex: description: Airwallex gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Airwallex credentials object. properties: clientId: type: string description: Airwallex client ID. apiKey: type: string description: Airwallex API key. format: password writeOnly: true required: - clientId - apiKey threeDSecureServer: $ref: '#/components/schemas/ThreeDSecureIO3dsServer' AmazonPay: description: AmazonPay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantId: type: string description: ID of the AmazonPay merchant. storeId: type: string description: ID of the AmazonPay store. publicKeyId: type: string description: ID of the AmazonPay public key. privateKey: description: ID of the AmazonPay private key. type: string format: password x-multiline: true writeOnly: true required: - privateKey - storeId - publicKeyId - merchantId AmexVPC: description: AmexVPC gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials - settings properties: credentials: type: object description: AmexVPC credentials object. properties: merchantId: type: string description: ID of the AmexVPC merchant. accessCode: type: string description: AmexVPC access Code. format: password writeOnly: true user: type: string description: >- AmexVPC account user. This field is used for refund, void, and capture transactions. password: type: string description: >- AmexVPC account password. This field is used for refund, void, and capture transactions. format: password writeOnly: true required: - merchantId - accessCode - user - password settings: type: object description: AmexVPC settings object. properties: url: type: string description: Virtual payment client URL. required: - url ApcoPay: description: ApcoPay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: ApcoPay credentials object. properties: profileID: type: string description: ID of the ApcoPay profile. secretWord: type: string description: ApcoPay secret word. format: password writeOnly: true MerchantID: type: string description: ID of the ApcoPay merchant. MerchantPassword: type: string description: ApcoPay merchant password. format: password writeOnly: true required: - profileID - secretWord - MerchantID - MerchantPassword settings: type: object properties: method: type: string description: ApcoPay method. enum: - AFTERPAY - BANCONTACT - CREDITCLICK - FLEXEPIN - IDEAL - JPAY - OCTAPAY - ONLINEUBERWEISEN - ORIENTALWALLET - VENUSPOINT - ZIMPLER required: - method AsiaPaymentGateway: description: AsiaPaymentGateway gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: AsiaPaymentGateway credentials object. properties: merchantNumber: type: string description: AsiaPaymentGateway merchant number. secretKey: type: string description: AsiaPaymentGateway secret key for hash. format: password writeOnly: true required: - merchantNumber - secretKey settings: type: object properties: use3DSEndpoint: type: boolean description: Specifies whether to use a 3DS endpoint. AstroPayCard: description: AstroPay Card gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: AstroPay Card credentials object. properties: x_login: type: string description: AstroPay Card login. x_tran_key: type: string description: AstroPay Card transaction key. format: password writeOnly: true secret_key: type: string description: AstroPay Card secret key. format: password writeOnly: true api_key: type: string description: OneTouch Astropay API key. format: password writeOnly: true required: - x_login - x_tran_key - secret_key settings: type: object description: AstroPay Card settings object. properties: oneTouchApi: type: boolean description: Specifies whether to use a OneTouch AstroPay API. default: false useOneTouchSdk: type: boolean description: Specifies whether to use the OneTouch AstroPay SDK. default: false merchantName: type: string description: Displayed merchant name for AstroPay OneTouch. merchantLogoUrl: type: string description: Displayed merchant logo for AstroPay OneTouch. AuthorizeNet: description: AuthorizeNet gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: apiLoginId: type: string description: ID of the AuthorizeNet API login. transactionKey: description: AuthorizeNet transaction key. type: string format: password writeOnly: true required: - apiLoginId - transactionKey Awepay: description: Awepay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Awepay credentials object. properties: sid: type: string description: ID of the Awepay site. rcode: type: string description: Awepay rcode. format: password writeOnly: true secretKey: type: string description: Awepay secret key for the P2P REST API. format: password writeOnly: true required: - sid - rcode settings: type: object description: Awepay setting. properties: useP2pRest: type: boolean description: Specifies whether to use the P2P REST API. Bambora: description: Bambora gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantId: type: string description: ID of the Bambora merchant. apiPasscode: type: string description: Bambora API passcode. format: password writeOnly: true required: - merchantId - apiPasscode BankSEND: description: BankSEND gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: BankSEND credentials object. properties: merchantId: description: ID of the BankSEND merchant. type: string merchantToken: type: string format: password description: BankSEND merchant token. writeOnly: true required: - merchantId - merchantToken BitPay: description: BitPay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: BitPay credentials object. properties: token: type: string description: BitPay merchant API token. format: password writeOnly: true required: - token BlueSnap: description: BlueSnap gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: BlueSnap credentials object. properties: username: type: string description: API username of the BlueSnap merchant. merchantId: type: string description: ID of the BlueSnap merchant. password: type: string description: API password of the BlueSnap merchant. format: password writeOnly: true dataProtectionKey: type: string description: Data protection key of the BlueSnap merchant. format: password writeOnly: true required: - username - password settings: type: object properties: enableMoto: type: boolean description: Specifies whether to use Mail Order Telephone Order (MOTO). default: false salesTaxAmount: type: number format: double description: Sales tax amount as a decimal to send with level 2/3 data. example: 0.06 metadataCustomField: type: string description: >- Rebilly custom field to use for sending transaction metadata. threeDSecureServer: $ref: '#/components/schemas/ThreeDSecureIO3dsServer' BraintreePayments: description: BraintreePayments gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: publicKey: type: string description: BraintreePayments public key. privateKey: type: string description: BraintreePayments private key. format: password writeOnly: true merchantId: type: string description: ID of the BraintreePayments merchant. format: password writeOnly: true merchantAccountId: type: string description: ID of the BraintreePayments merchant account. format: password writeOnly: true required: - publicKey - privateKey - merchantId - merchantAccountId Buckaroo: description: Buckaroo gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Buckaroo credentials object. properties: schemeKey: type: string description: Scheme key. websiteKey: type: string description: Website key. secretKey: description: Secret key. type: string format: password required: - websiteKey - secretKey BVNK: description: BVNK gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: BVNK credentials object. properties: merchantId: type: string description: Merchant ID of the BVNK merchant. hawkAuthId: type: string description: HAWK auth ID. format: password writeOnly: true hawkAuthKey: type: string description: HAWK auth key. format: password writeOnly: true required: - merchantId - hawkAuthId - hawkAuthKey settings: type: object description: BVNK settings object. properties: payoutCurrency: type: string description: Cryptocurrency of the payout. payoutNetwork: type: string description: Blockchain network to use for the payout. CASHlib: description: CASHlib gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: CASHlib credentials object. properties: apiKey: type: string description: CASHlib API key. format: password writeOnly: true merchantId: type: string description: ID of the CASHlib merchant. required: - apiKey - merchantId CODVoucher: description: CODVoucher gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: CODVoucher credentials object. properties: apiKey: type: string description: CODVoucher API key. format: password writeOnly: true apiSecret: type: string description: CODVoucher API secret. format: password writeOnly: true required: - apiKey - apiSecret AmountAdjustmentTolerance: type: integer description: Tolerance percentage for the settled amount. minimum: 0 maximum: 5 example: 5 Coinbase: description: Coinbase gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Coinbase credentials object. properties: apiKey: type: string format: password writeOnly: true required: - apiKey settings: type: object description: Coinbase settings object. required: - tolerancePercentage properties: tolerancePercentage: $ref: '#/components/schemas/AmountAdjustmentTolerance' CoinGate: description: CoinGate gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials - settings properties: credentials: type: object properties: authToken: type: string format: password description: Authentication token. writeOnly: true required: - authToken settings: type: object properties: targetCurrency: description: |- Currency to which the received cryptocurrency is converted. This field defaults to the transaction currency. type: string minLength: 3 maxLength: 3 example: USD tolerancePercentage: $ref: '#/components/schemas/AmountAdjustmentTolerance' adjustAmount: type: boolean description: >- Specifies whether to adjust the amount that is received from the downstream gateway. default: false example: false CoinPayments: description: CoinPayments gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: CoinPayments credentials object. required: - publicKey - privateKey - ipnSecret properties: publicKey: type: string description: CoinPayments public key. privateKey: type: string format: password description: CoinPayments private key. writeOnly: true ipnSecret: type: string format: password description: CoinPayments IPN secret. writeOnly: true merchantId: type: string format: password description: ID of the CoinPayments merchant. writeOnly: true settings: type: object properties: useCallbackAddress: type: boolean description: Specifies whether to use a callback address payment type. Cardknox: description: Cardknox gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: xKey: type: string description: Cardknox xKey. format: password writeOnly: true required: - xKey Cashflows: description: Cashflows gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: authenticationId: type: string description: ID of the Cashflows authentication. authPassword: type: string description: ID of the Cashflows authentication password. format: password writeOnly: true required: - authPassword - authId Cashterminal: description: Cashterminal gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: secretKey: description: Cashterminal secret key. type: string format: password writeOnly: true required: - secretKey CashToCode: description: CashToCode gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: CashToCode credentials object. properties: cashToCodeUsername: type: string description: CashToCode credentials username. cashToCodePassword: type: string description: CashToCode credentials password. format: password writeOnly: true merchantUsername: type: string description: Merchant credentials username. merchantPassword: type: string description: Merchant credentials password. format: password writeOnly: true mid: type: string description: CashToCode Merchant Identifier Number (MID) or brand name. required: - cashToCodeUsername - cashToCodePassword - merchantUsername - merchantPassword settings: type: object properties: baseUrl: type: string description: Base API URL. skipAmountSelection: type: boolean description: Specifies whether to skip the amount selection screen. default: false amounts: type: array description: Amounts for which transactions are processed. items: type: number format: double minimum: 0 CauriPayment: description: CauriPayment gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: CauriPayment credentials object. properties: publicKey: type: string description: CauriPayment merchant public key. privateKey: type: string description: CauriPayment merchant private key. format: password writeOnly: true required: - publicKey - privateKey Cayan: description: Cayan gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantSiteId: type: string description: ID of the Cayan merchant site. merchantName: type: string description: Cayan merchant name. merchantKey: type: string description: Cayan merchant key. format: password writeOnly: true required: - merchantSiteId - merchantName - merchantKey CCAvenue: description: CCAvenue gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: CCAvenue credentials object. properties: merchantId: type: string description: ID of the CCAvenue merchant. accessCode: type: string description: CCAvenue access code. format: password writeOnly: true workingKey: type: string description: CCAvenue working key. format: password writeOnly: true required: - merchantId - accessCode - workingKey settings: type: object properties: useStandingInstructionApi: description: Specifies whether to use the Standing Instruction API. type: boolean default: false Chase: description: Chase gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: username: type: string description: Chase NetConnect username. password: type: string description: Chase NetConnect password. format: password writeOnly: true coNumber: type: string description: Chase CO number used for delimited file reports. divisionId: type: string description: ID of the Chase division. partialAuth: type: boolean description: Specifies whether to support partial authentications. default: false required: - username - password - coNumber - divisionId - partialAuth CheckoutCom: description: Checkout.com gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Checkout.com credentials object. properties: secretKey: type: string format: password description: Checkout.com secret API key. writeOnly: true required: - secretKey settings: type: object properties: markAsWaitingGatewayOnPendingPayout: type: boolean description: >- Specifies whether to mark pending payouts as 'waiting-gateway/unknown' instead of 'approved'. default: false subEntityIdWebsiteCustomField: type: string description: >- Name of the website custom field that contains the sub-entity ID. processingChannelId: type: string description: Checkout.com processing channel ID. threeDSecureServer: $ref: '#/components/schemas/ThreeDSecureIO3dsServer' Chillstock: description: Chillstock gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Chillstock credentials object. properties: merchantId: type: string description: Merchant ID (MID). privateKey: type: string description: Chillstock private key. format: password x-multiline: true writeOnly: true required: - merchantId - privateKey settings: type: object properties: sandbox: type: boolean description: Specifies if the gateway account is forced to sandbox mode. default: false Circle: description: Circle gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Circle credentials object. properties: apiKey: type: string format: password description: Circle API key. writeOnly: true required: - apiKey Citadel: description: Citadel gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Citadel credentials object. properties: storeName: type: string description: Citadel store name. storeId: type: string description: ID of the Citadel store. username: type: string description: Citadel username. password: type: string description: Citadel password. format: password writeOnly: true required: - storeName - storeId - username - password Clearhaus: description: Clearhaus gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: apiKey: type: string description: Clearhaus API key. format: password writeOnly: true required: - apiKey Cleo: description: Cleo gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Cleo credentials object. properties: accessToken: type: string description: Cleo access token. format: password writeOnly: true required: - accessToken Conekta: description: Conekta gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Conekta credentials object. properties: apiKey: type: string description: Conekta private API key. format: password writeOnly: true required: - apiKey settings: type: object description: Conekta settings object. properties: baseUrl: type: string description: Base API URL. Coppr: description: Coppr gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Coppr credentials object. properties: organizationId: type: string description: ID of the Coppr organization. apiKey: type: string description: Coppr API key. format: password writeOnly: true required: - organizationId - apiKey settings: type: object description: Coppr settings object. properties: rebillyPublishableKey: type: string description: >- Rebilly publishable API key. If this value is provided, a payment token is created for each transaction. To obtain an API key, see [Manage API keys](https://www.rebilly.com/docs/dev-docs/api-keys/#manage-api-keys). Credorax: description: Credorax gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantId: type: string description: ID of the Credorax merchant. merchantMd5Signature: type: string description: Credorax MD5 signature. format: password writeOnly: true required: - merchantId - merchantMd5Signature Cryptonator: description: Cryptonator gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Cryptonator credentials object. properties: merchant_id: type: string description: ID of the Cryptonator merchant. secret: type: string description: Cryptonator secret. format: password writeOnly: true required: - merchant_id - secret CyberSource: description: CyberSource gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: CyberSource credentials object. properties: accessKey: type: string description: CyberSource access key. profileId: type: string description: ID of the CyberSource profile. secretKey: type: string description: CyberSource secret key. format: password writeOnly: true required: - accessKey - profileId - secretKey DataCash: description: DataCash gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: client: type: string description: DataCash client. password: type: string description: DataCash password. format: password writeOnly: true reportGroup: type: string description: DataCash report group. reportUser: type: string description: DataCash report user. reportPassword: type: string description: DataCash report password. format: password writeOnly: true visaPayoutsClient: type: string description: >- DataCash client for Visa OCT (Original Credit Transfer) payouts. visaPayoutsPassword: type: string description: >- DataCash password for Visa OCT (Original Credit Transfer) payouts. format: password writeOnly: true masterCardPayoutsClient: type: string description: >- DataCash client for MasterCard OCT (Original Credit Transfer) payouts. masterCardPayoutsPassword: type: string description: >- DataCash password for MasterCard OCT (Original Credit Transfer) payouts. format: password writeOnly: true required: - client - password settings: type: object description: Datacash settings object. properties: policy: type: integer description: Policy. minimum: 0 maximum: 7 default: 2 delay: type: integer description: Automatic capture delay in hours. minimum: 0 default: 0 Dengi: description: Dengi gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: projectId: type: string description: ID of the Dengi project. publicKey: type: string description: Dengi public key. format: password writeOnly: true refundKey: type: string description: Dengi refund key. format: password writeOnly: true required: - projectId - publicKey - refundKey Dimoco: description: Dimoco gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantId: type: string description: ID of the Dimoc merchant. orderId: type: string description: ID of the Dimoc project. password: type: string format: password description: ID of the Dimoc project. writeOnly: true required: - merchantId - orderId - password dLocal: description: dLocal gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: xLogin: type: string description: dLocal login. xTransKey: type: string description: dLocal transKey. secretKey: type: string format: password description: dLocal secret key. writeOnly: true xPayoutLogin: type: string description: dLocal payout login. xPayoutTransKey: type: string description: dLocal payout transKey. payoutSecretKey: type: string format: password description: dLocal payout secret key. writeOnly: true required: - xLogin - xTransKey - secretKey settings: type: object description: dLocal settings object. properties: createInstallmentPlan: type: boolean default: false description: >- Specifies whether to create an installment plan and use it for payment. customerDocumentCustomField: type: string description: >- Name of the custom field which contains customer document. Use this setting to skip the intermediate step of collecting the customer document for payment card transactions. Dragonphoenix: description: Dragonphoenix gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Dragonphoenix credentials object. properties: sid: type: string description: ID of the Dragonphoenix site. rcode: type: string description: Dragonphoenix rcode. format: password writeOnly: true required: - sid - rcode Dropayment: description: Dropayment gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Dropayment credentials object. properties: login: type: string description: Dropayment login. endpointId: type: string description: ID of the Dropayment end point. secretKey: type: string description: Dropayment secret key. format: password writeOnly: true required: - login - endpointId - secretKey Directa24Banks: type: string enum: - AA - AL - AZ - B - BAB - BB - BC - BE - BL - BM - BN - BP - BQ - BU - BV - BW - BX - BZ - CA - CE - CI - CU - EF - EN - EY - FA - FB - FC - GC - GG - HC - I - IA - IB - JM - LC - LE - LL - MC - ME - MD - MP - MT - NB - OM - OX - PC - PH - PL - SB - SC - SE - SF - SM - SS - ST - SU - TC - TK - TG - TR - TY - RY - UB - UI - UL - US - VD - VI - WA - WP - WU - XA Directa24: description: Directa24 gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Directa24 credentials object. properties: x_login: type: string description: Directa24 login. x_tran_key: type: string description: Directa24 transaction key. format: password writeOnly: true secret_key: type: string description: Directa24 secret key. format: password writeOnly: true web_pay_login: type: string description: Directa24 web pay status login. web_pay_tran_key: type: string description: Directa24 web pay status password. format: password writeOnly: true cashout_login: type: string description: Directa24 cashout login. cashout_password: type: string description: Directa24 cashout password. format: password writeOnly: true chargebackAccessKey: type: string description: Directa24 chargeback access key (email). chargebackSecretKey: type: string description: Directa24 chargeback secret key. format: password writeOnly: true required: - x_login - x_tran_key - secret_key - web_pay_login - web_pay_tran_key settings: type: object description: Directa24 settings object. properties: banks: type: array description: List of banks that is displayed to customers. items: $ref: '#/components/schemas/Directa24Banks' skipStep: type: boolean description: >- Specifies whether to skip the enter user personal information step. useV3Api: type: boolean description: Specifies whether to use Directa24 API version 3. storeIdNumber: type: boolean description: >- Specifies whether to store the customer ID number for future use. EasyPayDirect: description: EasyPayDirect gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: EasyPayDirect credentials object. properties: secretKey: type: string description: API secret key of the EasyPayDirect account. format: password writeOnly: true required: - secretKey EBANX: description: EBANX gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: EBANX credentials object. properties: integrationKey: type: string description: EBANX integration key. format: password writeOnly: true required: - integrationKey EPG: description: EPG gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: EPG credentials object. properties: merchantId: type: string description: ID of the merchant. productId: type: string description: ID of the product. maxLength: 50 example: prod_0YV7DES3WPC5J8JD8QTVNZBZNZ merchantPassword: type: string description: Merchant password. format: password writeOnly: true merchantKey: type: string description: Merchant key. format: password writeOnly: true required: - merchantId - productId - merchantPassword - merchantKey EPro: description: EPro gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: EPro credentials object. properties: apiSecretKey: type: string description: EPro secret API key. format: password writeOnly: true required: - apiSecretKey EcorePay: description: EcorePay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: accountId: type: string description: ID of the EcorePay account. accountAuth: type: string description: EcorePay account authentication. format: password writeOnly: true required: - accountId - accountAuth Elavon: description: Elavon gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Elavon credentials object. properties: ssl_merchant_id: type: string description: ID of the Elavon merchant. ssl_user_id: type: string description: ID of the Elavon user. ssl_pin: type: string description: Elavon pin. format: password writeOnly: true required: - ssl_merchant_id - ssl_user_id - ssl_pin EMS: description: EMS e-Commerce (XML) API gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: settings: type: object description: EMS settings object. properties: delay: type: integer description: Automatic capture delay in hours. credentials: type: object description: EMS credentials object. properties: storeId: type: string description: ID of the EMS store. userId: type: string description: ID of the EMS account. password: type: string format: password description: EMS password. writeOnly: true privateKey: type: string format: password description: Private key. x-multiline: true writeOnly: true privateKeyPassword: type: string format: password description: Private key password. writeOnly: true clientCertificate: type: string description: Client certificate. x-multiline: true clientCertificatePassword: type: string format: password description: Client certificate password. writeOnly: true serverCertificate: type: string description: Server certificate. x-multiline: true merchantName: type: string description: Merchant name for SFTP reconciliation. sftpPrivateKey: type: string format: password description: SFTP reconciliation private key. x-multiline: true writeOnly: true required: - storeId - userId - password - privateKey - privateKeyPassword - clientCertificate - clientCertificatePassword - serverCertificate threeDSecureServer: $ref: '#/components/schemas/ThreeDSecureIO3dsServer' ePay: description: ePay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: ePay credentials object. properties: merchantId: type: string description: ID of the ePay merchant. secretKey: type: string format: password description: ePay secret key. writeOnly: true required: - merchantId - secretKey Euteller: description: Euteller gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Euteller credentials object. properties: username: type: string description: Euteller username. password: type: string format: password description: Euteller password. writeOnly: true required: - username - password Ezeebill: description: Ezeebill gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Ezeebill credentials object. properties: merchantId: type: string description: Merchant ID (MID) of the Ezeebill gateway. accessId: type: string description: Access ID of the Ezeebill gateway. format: password writeOnly: true terminalId: type: string description: Terminal ID of the Ezeebill gateway. operatorId: type: string description: Operator ID of the Ezeebill gateway. password: type: string description: API access operator password of the Ezeebill gateway. format: password writeOnly: true hashKey: type: string description: Hash key of the Ezeebill gateway. format: password writeOnly: true required: - merchantId - accessId - terminalId - operatorId - password - hashKey eZeeWallet: description: eZeeWallet gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: eZeeWallet credentials object. properties: apiUsername: type: string description: eZeeWallet API username. format: password writeOnly: true apiPassword: type: string description: eZeeWallet API password. format: password writeOnly: true required: - apiUsername - apiPassword ezyEFT: description: ezyEFT gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: ezyEFT credentials object. properties: merchantId: type: string description: ID of the ezyEFT merchant. merchantToken: type: string format: password description: ezyEFT merchant token. writeOnly: true required: - merchantId - merchantToken FinTecSystems: description: FinTecSystems gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials - settings properties: credentials: type: object description: FinTecSystems credentials object. properties: apiKey: type: string description: FinTecSystems API key. format: password writeOnly: true required: - apiKey settings: type: object description: FinTecSystems settings object. properties: recipientIBAN: type: string description: IBAN of the recipient account. recipientBIC: type: string description: BIC of the recipient account. recipientCountry: type: string description: Two letter country code. enum: - AT - CH - DE recipientHolder: type: string description: Account holder of the recipient account. required: - recipientIBAN - recipientBIC - recipientHolder - recipientCountry Finrax: description: Finrax gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Finrax credentials object. properties: businessId: type: string description: ID of the Finrax business. apiKey: type: string description: Finrax API key. format: password writeOnly: true apiSecret: type: string description: Finrax API secret. format: password writeOnly: true required: - businessId - apiKey - apiSecret settings: type: object description: Finrax settings object. required: - tolerancePercentage properties: tolerancePercentage: $ref: '#/components/schemas/AmountAdjustmentTolerance' Flexepin: description: Flexepin gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: apiKey: type: string description: Flexepin API key. apiSecret: type: string description: Flexepin API secret. format: password writeOnly: true required: - apiKey - apiSecret settings: type: object description: Flexepin settings object. properties: adjustAmountFromVoucher: type: boolean description: >- Specifies whether to adjust the amount or currency based on a Flexepin voucher. default: false example: false Forte: description: Forte gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: accountId: type: string description: ID of the Forte account. locationId: type: string description: ID of the Forte location. apiAccessId: type: string description: ID of the Forte API access. format: password writeOnly: true apiSecretKey: type: string description: Forte API secret key. format: password writeOnly: true required: - accountId - locationId - apiAccessId - apiSecretKey FundSend: description: FundSend gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: clientId: type: string description: ID of the FundSend client. secretWord: type: string description: FundSend secret word. format: password writeOnly: true required: - clientId - secretWord GET: description: GET gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: accountId: type: string description: ID of the GET account. required: - accountId Gigadat: description: Gigadat gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Gigadat credentials object. properties: campaignId: type: string description: ID of the Gigadat campaign. accessToken: type: string description: Gigadat access token. format: password writeOnly: true securityToken: type: string description: Gigadat security token. format: password writeOnly: true required: - campaignId - accessToken - securityToken settings: type: object properties: sandbox: type: boolean description: Specifies if the gateway account is in sandbox mode. default: false required: - sandbox GlobalOne: description: GlobalOne gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: terminalId: type: string description: ID of the GlobalOne terminal. sharedSecret: type: string description: GlobalOne shared secret. format: password writeOnly: true required: - terminalId - sharedSecret Gooney: description: Gooney gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Gooney credentials object. properties: apiUser: type: string description: Gooney API user. apiPassword: type: string description: Gooney API password. format: password writeOnly: true apiKey: type: string description: Gooney API key. apiSecret: type: string description: Gooney API secret. format: password writeOnly: true required: - username - password - apiKey - apiSecret Gpaysafe: description: Gpaysafe gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: apiKey: type: string description: Gpaysafe apiKey. required: - apiKey Greenbox: description: Greenbox gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Greenbox credentials object. properties: clientId: type: string description: ID of the Greenbox client. locationId: type: string description: ID of the Greenbox location. clientSecret: type: string description: Greenbox client secret. format: password writeOnly: true required: - clientId - clientSecret - locationId HiPay: description: HiPay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: HiPay credentials object. properties: apiUsername: type: string description: HiPay API user name. apiPassword: type: string description: HiPay API password. format: password writeOnly: true required: - apiUsername - apiPassword ICEPAY: description: ICEPAY gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: ICEPAY credentials object. properties: merchantId: type: string description: ID of the ICEPAY merchant. format: password writeOnly: true secretKey: type: string description: ICEPAY API secret key. format: password writeOnly: true required: - merchantId - secretKey INOVAPAY: description: INOVAPAY gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: INOVAPAY credentials object. properties: apiKey: type: string description: INOVAPAY API key. apiSecret: type: string description: INOVAPAY API secret. format: password writeOnly: true required: - apiKey - apiSecret Ilixium: description: Ilixium gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Ilixium credentials object. properties: merchantId: type: string description: ID of the Ilixium merchant. accountId: type: string description: ID of the Ilixium account. digestPassword: type: string description: Ilixium digest password. format: password writeOnly: true sftpUsername: type: string description: SFTP username. sftpPrivateKey: type: string description: SFTP private key. format: password x-multiline: true writeOnly: true sftpKeyPassphrase: type: string format: password description: Passphrase of the SFTP private key. writeOnly: true required: - merchantId - accountId - digestPassword settings: type: object description: Ilixium settings object. properties: useIpFrame: type: boolean description: >- Specifies whether to force Ilixium to process using Ip Frame. useCreditEndpoint: type: boolean description: >- Specifies whether to use a previous approval credit endpoint for payouts. useStandaloneCreditEndpoint: type: boolean description: >- Specifies whether to use a standalone (token) credit endpoint for payouts. platform: type: string description: Direct API platform. default: itix enum: - itix - tpg threeDSecureServer: type: object description: Ilixium 3DS server. properties: name: description: Name of the merchant plug-in. type: string enum: - Ilixium3dsServer Ingenico: description: Ingenico gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantId: type: string description: ID of the Ingenico merchant. apiKeyId: type: string description: ID of the Ingenico API key. apiSecretKey: type: string description: Ingenico API secret key. format: password writeOnly: true skipFraudService: type: boolean description: Ingenico skip fraud service. required: - merchantId - apiKeyId - apiSecretKey Inovio: description: Inovio gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials - settings properties: credentials: type: object description: Inovio credentials object. properties: username: type: string description: Inovio username. password: type: string description: Inovio password. format: password writeOnly: true required: - username - password settings: type: object description: Inovio settings object. properties: websiteId: type: string description: ID of the Inovio website. maxLength: 50 example: web_0YV7DE4Z26DQSA1AC92FBJ7SEG merchantAccountId: type: string description: ID of the Inovio merchant account. productId: type: string description: ID of the Inovio product. maxLength: 50 example: prod_0YV7DES3WPC5J8JD8QTVNZBZNZ required: - websiteId - merchantAccountId - productId InstaDebit: description: InstaDebit gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: InstaDebit credentials object. properties: merchantId: type: string description: InstaDebit merchant account number. password: type: string description: InstaDebit merchant account password. format: password writeOnly: true required: - merchantId - password settings: type: object properties: merchantSubId: type: integer description: Sub ID of the merchant or organization. Intuit: description: Intuit gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: clientId: type: string description: Intuit client_id key. clientSecret: type: string description: Intuit client_secret key. format: password writeOnly: true required: - clientId - clientSecret IpayOptions: description: Ipay Options gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials - settings properties: credentials: type: object description: Ipay Options credentials object. properties: sid: type: string description: ID of the Ipay Options website. rcode: type: string description: Ipay Options rcode. format: password writeOnly: true required: - sid - rcode settings: type: object description: Ipay Options settings object. properties: extraStep: type: boolean description: >- Specifies whether to display an extra step where the user must enter their email and DNI number. subdomain: type: string description: Subdomain to use when sending request to IpayOptions. enum: - miglite - w88asiapay platform: type: string description: Platform which IpayOptions processes. enum: - SOAP - TxHandler - SecureHosted cardType: type: string description: Manually set the card_type for iDEAL. enum: - ideal - idealqr - sofort JetPay: description: JetPay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: TerminalID: type: string description: ID of the JetPay terminal. required: - TerminalID Jeton: description: Jeton gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: apiKey: type: string description: Jeton API key. format: password writeOnly: true required: - apiKey settings: type: object properties: method: type: string description: Jeton method. enum: - CHECKOUT - DIRECT - QR - JETGO required: - method JPMOrbital: description: JPMOrbital gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantId: type: string description: ID of the JPMOrbital merchant. username: type: string description: Username of the JPMOrbital merchant. password: type: string description: Password of the JPMOrbital merchant. format: password writeOnly: true required: - merchantId - username - password Khelocard: description: Khelocard gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Credentials object. required: - merchantId - referrer - apiKey - apiSecret properties: merchantId: type: string description: ID of the Khelocard merchant. referrer: type: string description: Referrer URL registered at Khelocard. format: uri apiKey: type: string description: Khelocard API key. format: password writeOnly: true apiSecret: type: string description: Khelocard API secret. format: password writeOnly: true Klarna: description: Klarna gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials - settings properties: credentials: type: object description: Credentials object. required: - username - password properties: username: type: string description: Klarna API username. password: type: string description: Klarna API password. format: password writeOnly: true settings: type: object description: Settings object. required: - region properties: region: type: string description: Klarna API region. enum: - EU - NA - OC usePayNowStandalone: type: boolean description: >- Specifies whether to use the Klarna Pay Now Standalone method. default: false example: false Konnektive: description: Konnektive gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials - settings properties: credentials: type: object description: Credentials object. required: - loginId - password properties: loginId: type: string description: ID of the Konnektive API login. password: type: string description: Konnektive API password. format: password writeOnly: true settings: type: object description: Settings object. required: - campaignId - productId properties: campaignId: type: string description: Konnektive campaign ID for which the order is being placed. productId: type: string description: >- Konnektive campaign product ID for which the order is being placed. maxLength: 50 example: prod_0YV7DES3WPC5J8JD8QTVNZBZNZ LaCore: description: LaCore gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: LaCore credentials object. properties: merchantId: type: string description: ID of the LaCore merchant. username: type: string description: Username of the LaCore merchant. password: type: string description: Password of the LaCore merchant. format: password writeOnly: true required: - merchantId - username - password threeDSecureServer: $ref: '#/components/schemas/ThreeDSecureIO3dsServer' loonie: description: loonie gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: loonie credentials object. properties: merchantId: type: string description: ID of the loonie merchant. merchantToken: type: string format: password description: loonie merchant token. writeOnly: true required: - merchantId - merchantToken LPG: description: LPG gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: LPG credentials object. properties: publicKey: type: string description: LPG public API key. secureKey: type: string description: LPG secure API key. format: password writeOnly: true payoutUsername: type: string description: LPG payout account username. format: password writeOnly: true payoutPassword: type: string description: LPG payout account password. format: password writeOnly: true required: - publicKey - secureKey MaxiCash: description: MaxiCash gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: MaxiCash credentials object. properties: merchantId: type: string description: ID of the MaxiCash API merchant. password: type: string description: MaxiCash API password. format: password writeOnly: true required: - merchantId - password MercadoPago: description: MercadoPago gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: MercadoPago credentials object. properties: publicKey: type: string description: MercadoPago public key. accessToken: type: string description: MercadoPago access token. format: password writeOnly: true required: - publicKey - accessToken settings: type: object description: Settings object. properties: collectDeviceId: type: boolean description: Specifies collect and send device ID to MercadoPago. default: false example: false MiFinity: description: MiFinity gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: MiFinity credentials object. properties: apiKey: type: string format: password description: MiFinity API key. writeOnly: true mifinityAccountNumber: type: string format: password description: MiFinity account number. writeOnly: true accountHolderId: type: string description: ID of the MiFinity account holder. brandId: type: string description: >- Three-digit ID provided by MiFinity which indicates through which brand the call made. required: - apiKey - mifinityAccountNumber - accountHolderId MobilePay: description: MobilePay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantSerialNumber: type: string description: Serial number of the MobilePay merchant. subscriptionKey: type: string description: Subscription key of the MobilePay merchant. clientId: type: string description: ID of the MobilePay client. clientSecret: type: string description: MobilePay client secret. format: password writeOnly: true required: - merchantSerialNumber - subscriptionKey - clientId - clientSecret Moneris: description: Moneris gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: apiToken: type: string description: Moneris API token. format: password writeOnly: true storeId: type: string description: ID of the Moneris store. required: - storeId - apiToken Monolo: description: Monolo gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Monolo credentials object. properties: businessId: type: string description: ID of the Monolo merchant account. apiKey: type: string description: Monolo API key. format: password writeOnly: true secret: type: string description: Monolo secret. format: password writeOnly: true required: - businessId - apiKey - secret MtaPay: description: MTA Pay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials - settings properties: credentials: type: object properties: accountId: type: string description: ID of the MTA Pay account. partyId: type: string description: ID of the MTA Pay party. md5key: type: string description: MTA Pay MD5 key. format: password writeOnly: true required: - accountId - partyId - md5key settings: type: object description: MTA Pay settings object. properties: goods: type: string description: MTA Pay goods. mobilePay: type: string description: MTA Pay mobile pay parameter. required: - mobilePay - goods MuchBetter: description: MuchBetter gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: MuchBetter credentials object. properties: merchantAccountId: type: string description: ID of the MuchBetter merchant account. apiKey: type: string description: MuchBetter API key. format: password writeOnly: true required: - merchantAccountId - apiKey settings: type: object description: MuchBetter settings object. properties: brandName: type: string description: MuchBetter brand name used for reporting and logo. hasPhoneNumberRequest: type: boolean description: >- Specifies whether to request phone a number before submitting the request to MuchBetter. default: false MuchBetterGateway: description: MuchBetterGateway gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: MuchBetterGateway credentials object. properties: apiKey: type: string description: MuchBetterGateway API key. format: password writeOnly: true secretKey: type: string description: MuchBetterGateway secret key. format: password writeOnly: true required: - apiKey - secretKey MyFatoorah: description: MyFatoorah gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: MyFatoorah credentials object. properties: apiKey: type: string description: MyFatoorah API key. format: password writeOnly: true required: - apiKey Neosurf: description: Neosurf gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Neosurf credentials object. properties: merchantId: type: string description: ID of the Neosurf merchant. secretKey: type: string description: Neosurf API secret key. format: password writeOnly: true required: - merchantId - secretKey NMI: description: NMI gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: username: type: string description: NMI API token. password: type: string description: ID of the NMI store. format: password writeOnly: true required: - username - password settings: type: object properties: disableStoredCredentials: description: >- Specifies whether to disable NMI stored credentials for Customer Initiated Transactions (CIT) and Merchant Initiated Transactions (MIT). type: boolean default: false threeDSecureServer: $ref: '#/components/schemas/ThreeDSecureIO3dsServer' Netbanking: description: Netbanking gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Netbanking credentials object. properties: midcode: type: string description: Netbanking Merchant Identification (MID) code. midsecret: type: string description: Netbanking Merchant Identification (MID) secret key. format: password writeOnly: true required: - midcode - midsecret Neteller: description: Neteller gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Neteller credentials object. properties: paysafePaymentsApiUsername: type: string description: Neteller Paysafe Payments API username for a private key. paysafePaymentsApiPassword: type: string description: Neteller Paysafe Payments API password for a private key. format: password writeOnly: true required: - paysafePaymentsApiUsername - paysafePaymentsApiPassword settings: type: object properties: populateCustomerEmail: type: boolean description: Specifies whether to the populate customer email at payment. NGenius: description: NGenius gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: NGenius credentials object. properties: outletId: type: string description: ID of the NGenius outlet. apiKey: type: string description: NGenius API key. format: password writeOnly: true required: - outletId - apiKey NinjaWallet: description: NinjaWallet gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: NinjaWallet credentials object. properties: apiKey: type: string description: NinjaWallet API key. format: password writeOnly: true secret: type: string description: NinjaWallet secret. format: password writeOnly: true passphrase: type: string description: NinjaWallet passphrase. format: password writeOnly: true required: - apiKey - secret - passphrase NordikCoin: description: NordikCoin gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: NordikCoin credentials object. properties: merchantId: type: string description: ID of the NordikCoin merchant. secret: type: string description: NordikCoin secret key. format: password writeOnly: true required: - merchantId - secret NOWPayments: description: NOWPayments gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: NOWPayments credentials object. properties: apiKey: type: string format: password writeOnly: true ipnSecret: type: string format: password writeOnly: true required: - apiKey - ipnSecret settings: type: object description: NOWPayments settings object. required: - tolerancePercentage properties: tolerancePercentage: $ref: '#/components/schemas/AmountAdjustmentTolerance' NuaPay: description: NuaPay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: NuaPay credentials object. properties: nuaPayCommonName: type: string description: NuaPay common name. nuaPaySerialNumber: type: string description: NuaPay serial number. nuaPayAccountId: type: string description: ID of the NuaPay account. nuaPayOriginatorIban: type: string description: NuaPay origiantor IBAN. format: password writeOnly: true nuaPayApiKey: type: string description: NuaPay API key. format: password writeOnly: true nuaPayPrivateKey: type: string description: NuaPay private key. format: password x-multiline: true writeOnly: true required: - nuaPayCommonName - nuaPaySerialNumber - nuaPayAccountId - nuaPayOriginatorIban - nuaPayApiKey - nuaPayPrivateKey OchaPay: description: OchaPay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: apiUsername: type: string description: OchaPay username. apiPassword: type: string description: OchaPay API password. format: password writeOnly: true secretWord: type: string description: OchaPay secret word. format: password writeOnly: true required: - apiUsername - apiPassword - secretWord Onlineueberweisen: description: Onlineueberweisen gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials - settings properties: credentials: type: object description: Onlineueberweisen credentials object. properties: apiKey: type: string description: Onlineueberweisen API key. format: password writeOnly: true nuaPayApiKey: type: string description: NuaPay API key for reconciliation. format: password writeOnly: true nuaPayAccountId: type: string description: NuaPay account ID for reconciliation. required: - apiKey settings: type: object description: Onlineueberweisen settings object. properties: payformCode: type: string description: Onlineueberweisen code to use a customized PayForm template. default: default OnRamp: description: OnRamp gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: OnRamp credentials object. properties: apiKey: type: string format: password writeOnly: true required: - apiKey settings: type: object description: OnRamp settings object. properties: useServerToServerApi: type: boolean description: Specifies whether to use OnRamp server to server API. default: false logoUrl: type: string description: Set this value to use a custom logo. format: url Orbital: description: Orbital gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Orbital credentials object. properties: apiKey: type: string description: Orbital API key. format: password writeOnly: true required: - apiKey settings: type: object description: Orbital settings object. properties: targetCurrency: description: Currency to which the received cryptocurrency is converted. type: string enum: - USD - EUR - GBP mainCryptoCurrency: description: Blockchain network to be used. type: string enum: - ETH - SOL - TRX logoImageUrl: description: >- Logo image in PNG or SVG format to be displayed on the deposit screen. type: string productImageUrl: description: >- Product image in JPEG format to be displayed on the deposit screen. type: string Pagadito: description: Pagadito gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Pagadito credentials object. properties: uid: type: string format: password description: Pagadito UID. writeOnly: true wsk: type: string format: password description: Pagadito WSK. writeOnly: true required: - uid - wsk settings: type: object properties: useRecurringApi: type: boolean default: false description: >- Specifies whether to use the Pagadito API for reoccurring payments. Pagsmile: description: Pagsmile gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantId: type: string description: ID of the Pagsmile merchant. appId: type: string description: ID of the Pagsmile application. secretKey: type: string description: Pagsmile MD5 key. format: password writeOnly: true apiSecretKey: type: string description: >- Pagsmile secret key for the Trade Pay API. The key starts with `Pagsmile_sk`. format: password writeOnly: true required: - merchantId - appId - secretKey settings: type: object description: Pagsmile settings object. properties: useTradePay: type: boolean description: Specifies whether to use the Trade Pay API. default: false example: false Panamerican: description: Panamerican gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials - settings properties: credentials: type: object description: Panamerican credentials object. properties: key: type: string description: Panamerican key. password: type: string description: Panamerican password. format: password writeOnly: true required: - key - password settings: type: object description: Panamerican settings object. properties: extraStep: type: boolean description: >- Specifies whether to display a step where the user must enter their ID number. convertToAscii: type: boolean description: Specifies whether to convert all chars to ascii. required: - extraStep PandaGateway: description: Panda gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantCode: type: string description: Panda merchant code. apiCode: type: string description: Panda API code. signKey: type: string description: Panda sign key. format: password writeOnly: true required: - merchantCode - apiCode - signKey ParamountCommerce: description: ParamountCommerce gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: ParamountCommerce credentials object. properties: merchantId: type: string description: ParamountCommerce merchant ID. appId: type: string description: ParamountCommerce application ID. clientId: type: string description: ParamountCommerce client ID. clientSecret: type: string description: ParamountCommerce client secret. format: password writeOnly: true required: - merchantId - appId - clientId - clientSecret settings: type: object properties: merchantSubId: type: string description: ParamountCommerce merchant sub ID. merchantTransactionType: type: string description: ParamountCommerce merchant transaction type. enum: - POKER - CASINO - BINGO - SPORTS_BETTING - DIGITAL_REMITTANCE - E_SPORTS useDirectDeposit: type: boolean description: Specifies whether to use One-Click Payments. default: false example: false required: - merchantSubId - merchantTransactionType ParamountEft: description: Paramount gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Paramount credentials object. properties: merchant_id: type: string description: ID of the merchant account. merchant_pass: type: string description: Merchant account password. format: password writeOnly: true payee: type: string description: Merchant name or descriptor. required: - merchant_id - merchant_pass - payee ParamountInterac: description: ParamountInterac gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: ParamountInterac credentials object. properties: merchantId: type: string description: ID of the ParamountInterac merchant. encryptionKey: type: string description: ParamountInterac encryption key. format: password writeOnly: true password: type: string description: ParamountInterac password for query. format: password writeOnly: true required: - merchantId - encryptionKey - password settings: type: object properties: sandbox: type: boolean description: Specifies if the gateway account is in sandbox mode. default: false merchantSubId: type: integer description: Sub ID of the merchant or organization. Pay4Fun: description: Pay4Fun gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Pay4Fun credentials object. properties: merchantId: type: string description: ID of the Pay4Fun merchant. merchantSecret: type: string description: Pay4Fun merchant secret. format: password writeOnly: true merchantKey: type: string description: Pay4Fun merchant key. format: password writeOnly: true required: - merchantId - merchantSecret - merchantKey PayCash: description: PayCash gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: PayCash credentials object. properties: emisor: type: string description: PayCash merchant identifier. token: type: string description: PayCash token. format: password writeOnly: true required: - emisor - token PayClub: description: PayClub gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: PayClub credentials object. properties: merchantId: type: string description: ID of the PayClub merchant. accountNumber: type: string description: PayClub account number. signKey: type: string format: password description: PayClub sign key. writeOnly: true required: - apiKey - accountNumber - signKey settings: type: object properties: use3DSChannel: type: boolean description: Specifies whether to use a 3DS channel. PayEcards: description: PayEcards gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: PayEcards credentials object. properties: clientKey: type: string description: Client key of the PayEcards gateway. password: type: string description: Password of the PayEcards gateway. format: password writeOnly: true paymentUrl: type: string description: Payment URL of the PayEcards gateway for S2S integration. required: - clientKey - password - paymentUrl Paynote: description: Paynote gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: publicKey: type: string description: Paynote public key. secretKey: type: string format: password description: Paynote secret key. writeOnly: true required: - publicKey - secretKey PayPal: description: PayPal gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - settings properties: credentials: type: object description: >- PayPal credentials object. This object specifies the PayPal Partner account from which a gateway account is registered. properties: partnerId: type: string description: ID of the PayPal Partner account. partnerClientId: type: string description: ID of the PayPal Partner account API client. partnerSecret: type: string description: Secret key for the PayPal Partner account API client. format: password writeOnly: true partnerBnCode: type: string description: |- BN Code for the PayPal Partner account. This unique code tracks the source of API requests. settings: type: object description: PayPal settings object. required: - redirectUrl properties: redirectUrl: type: string description: >- URL where the user is redirected after authorizing the account on PayPal. format: url enableGuestCheckout: type: boolean default: false description: >- Specifies whether to allow users without PayPal accounts to pay using credit or debit cards. useHostedCheckoutForm: type: boolean default: false description: >- Specifies whether to use a Rebilly hosted PayPal form instead of redirecting customers to PayPal. For more information, see [Create a payment form using the Rebilly API](https://www.rebilly.com/docs/dev-docs/create-a-hosted-payment-form/). forceGuestCheckout: type: boolean default: false description: >- Specifies whether to suppress the PayPal payment method when a guest checkout is available. This option is only applicable when `useHostedCheckoutForm` is enabled. enableAlternativePaymentMethods: type: boolean default: false description: >- Specifies whether to allow customers to pay using the alternative payment options supported by PayPal. When enabled, customers must manually approve all payments. Payeezy: description: Payeezy gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantId: type: string description: ID of the Payeezy merchant. merchantToken: type: string description: Merchant token. format: password writeOnly: true apiKey: type: string description: API key. apiSecret: type: string description: API secret. format: password writeOnly: true required: - merchantId - merchantToken - apiKey - apiSecret Payflow: description: Payflow gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Payflow credentials object. properties: user: type: string description: >- Payflow user. If you set up one or more additional users on the account, this value is the ID of the user that is authorized to process transactions. If do not set up additional users on the account, `user` has the same value as `vendor`. vendor: type: string description: ID of the Payflow merchant login. password: type: string description: Payflow merchant password. format: password writeOnly: true required: - user - vendor - password PaymentAsia: description: PaymentAsia gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: PaymentAsia credentials object. properties: apiKey: type: string format: password description: PaymentAsia API key. writeOnly: true required: - apiKey PaymenTechnologies: description: PaymenTechnologies gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: authenticateId: type: string description: ID of the PaymenTechnologies authenticate. authenticatePw: type: string description: PaymenTechnologies authenticate password. format: password writeOnly: true publicKey: type: string description: PaymenTechnologies API public key. secretKey: type: string description: PaymenTechnologies API secret key. format: password writeOnly: true apiKey: type: string description: PaymenTechnologies API key required for query operations. format: password writeOnly: true required: - authenticateId - authenticatePw - publicKey - secretKey - apiKey settings: type: object properties: use3DSEndpoint: type: boolean description: Specifies whether to use a 3DS endpoint. PaymentsOS: description: PaymentsOS gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: appId: type: string description: ID of the PaymentsOS application. publicKey: type: string description: PaymentsOS public key. privateKey: type: string format: password description: PaymentsOS private key. writeOnly: true required: - appId - privateKey - publicKey threeDSecureServer: $ref: '#/components/schemas/ThreeDSecureIO3dsServer' Paymero: description: Paymero gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Paymero credentials object. properties: apiKey: type: string description: Paymero API key. format: password writeOnly: true required: - apiKey settings: type: object description: Paymero settings object. properties: targetCurrency: description: Currency to which the received cryptocurrency is converted. type: string minLength: 3 maxLength: 3 example: USD mainCurrency: description: Blockchain on which the currency is processed. type: string enum: - TRX - ETH amountExceeded: description: >- Specifies whether to decline transactions when the amount received exceeds the amount requested. type: boolean default: false Payper: description: Payper gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Payper credentials object. required: - secretKey properties: secretKey: type: string format: password description: Payper secret key. writeOnly: true Payr: description: Payr gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: clientId: type: string description: ID of the Payr client. secretWord: type: string description: Payr secret word. format: password writeOnly: true apiUserId: type: string description: |- Username for the Alliance API. This API is used for transaction reporting. apiSecurityToken: type: string description: |- Hash of the password for the Alliance API. This API is used for transaction reporting. format: password writeOnly: true required: - clientId - secretWord PayRedeem: description: PayRedeem gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: PayRedeem credentials object. properties: apiUser: type: string description: PayRedeem API user. apiPassword: type: string description: PayRedeem API password. format: password writeOnly: true apiKey: type: string description: PayRedeem API key. format: password writeOnly: true required: - apiUser - apiPassword - apiKey threeDSecureServer: $ref: '#/components/schemas/ThreeDSecureIO3dsServer' PayRetailers: description: PayRetailers gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: PayRetailers credentials object. properties: shopId: type: string description: ID of the PayRetailers shop. secretKey: type: string description: Secret key value of the PayRetailers API. format: password writeOnly: true required: - shopId - secretKey Paysafe: description: Paysafe gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: storeId: type: string description: ID of the Paysafe store. storePwd: type: string description: Paysafe store password. format: password writeOnly: true accountNum: type: string description: Paysafe account number. required: - storeId - storePwd - accountNum Paysafecard: description: Paysafecard gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: apiKey: type: string description: Paysafecard API key. format: password writeOnly: true required: - apiKey Paysafecash: description: Paysafecash gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: apiKey: type: string description: Paysafecash API key. format: password writeOnly: true required: - apiKey PayTabs: description: PayTabs gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: PayTabs credentials object. properties: profileId: type: string description: ID of the PayTabs profile. clientKey: type: string description: PayTabs client key. serverKey: type: string format: password description: PayTabs server key. writeOnly: true required: - profileId - clientKey - serverKey PayU: description: PayU gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: PayU credentials object. properties: merchantKey: type: string description: Merchant key of the PayU merchant. merchantSalt: type: string description: Merchant salt of the PayU merchant. format: password writeOnly: true required: - merchantKey - merchantSalt threeDSecureServer: $ref: '#/components/schemas/ThreeDSecureIO3dsServer' PayULatam: description: PayULatam gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: PayULatam credentials object. properties: merchantId: type: string description: ID of the PayULatam merchant. accountId: type: string description: ID of the PayULatam account. apiLogin: type: string description: PayULatam API login. apiKey: type: string description: PayULatam API key. format: password writeOnly: true required: - merchantId - accountId - apiLogin - apiKey Payvision: description: Payvision gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: memberId: type: string description: ID of the Payvision member. memberGuid: type: string description: Payvision member guid. format: password writeOnly: true required: - memberId - memberGuid settings: type: object description: Payvision settings object. properties: avs: type: boolean description: Specifies whether to use Payvision AVS. delay: type: integer description: Automatic capture delay in hours. merchantAccountType: type: integer description: Payvision merchant account type. required: - merchantAccountType PharosPayments: description: PharosPayments gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: PharosPayments credentials object. properties: username: type: string description: Authentication username. password: description: Authentication password. type: string format: password merchantCode: type: string description: Merchant code. terminalCode: type: string description: Terminal code. required: - username - password - merchantCode - terminalCode Piastrix: description: Piastrix gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Piastrix credentials object. properties: shopId: type: string description: ID of the Piastrix shop. secretKey: type: string description: Piastrix secret key. format: password writeOnly: true required: - shopId - secretKey settings: type: object description: Piastrix settings object. properties: tolerancePercentage: type: integer description: Tolerance percentage for settled amounts. minimum: 0 maximum: 5 example: 5 Pin4Pay: description: Pin4Pay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Credentials object. required: - username - requestOrigin - codigoCliente - keyValue properties: username: type: string description: Pin4Pay API username. requestOrigin: type: string description: Pin4Pay API request origin. codigoCliente: type: string description: Pin4Pay API codigo cliente. keyValue: type: string description: Pin4Pay API password. format: password writeOnly: true Plugnpay: description: Plugnpay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: publisher-name: type: string description: ID of the Plugnpay member. publisher-password: type: string description: Plugnpay AVS. format: password writeOnly: true required: - publisher-name - publisher-password PostFinance: description: PostFinance gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: PostFinance credentials object. properties: pspId: type: string description: ID of the PostFinance PSP. merchantId: type: string description: ID of the PostFinance merchant. sftpUsername: type: string description: PostFinance SFTP username. publicKey: type: string x-multiline: true description: PostFinance public key. privateKey: type: string format: password x-multiline: true description: PostFinance private key. writeOnly: true keyPassphrase: type: string format: password description: PostFinance key passphrase. writeOnly: true sftpPrivateKey: type: string format: password x-multiline: true description: PostFinance SFTP private key. writeOnly: true sftpKeyPassphrase: type: string format: password description: PostFinance SFTP key passphrase. writeOnly: true required: - pspId - merchantId - sftpUsername - publicKey - privateKey - keyPassphrase - sftpPrivateKey - sftpKeyPassphrase settings: type: object properties: skipPaymentFileUpload: type: boolean default: false description: Specifies whether to skip the payment file upload screen. enableAliasAuthentication: type: boolean default: false description: Specifies whether to enable alias authentication. PSiGate: description: PSiGate gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: username: type: string description: Username or store name. password: type: string description: Password of the PSiGate gateway account. format: password writeOnly: true clientId: type: string description: Client ID. clientApiKey: type: string description: Client API key. format: password writeOnly: true disputeUsername: type: string description: Username for fetching disputes. disputePassword: type: string description: Password for fetching disputes. format: password writeOnly: true required: - username - password - clientId - clientApiKey threeDSecureServer: $ref: '#/components/schemas/ThreeDSecureIO3dsServer' PPRO: description: PPRO gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: PPRO credentials object. properties: login: type: string description: PPRO merchant API username. password: type: string description: PPRO merchant API password. format: password writeOnly: true contractId: type: string description: |- ID of the PPRO contract. This value is used for API credentials. privateKey: type: string format: password description: PPRO private key. x-multiline: true writeOnly: true privateKeyPassword: type: string format: password description: PPRO private key password. writeOnly: true clientCertificate: type: string description: Public key. x-multiline: true serverCertificate: type: string description: PPRO CA certificate. x-multiline: true notificationSecret: type: string format: password description: Secret used for IPN URLs. writeOnly: true sharedSecret: type: string format: password description: Secret used for redirect URLs. writeOnly: true required: - login - password - contractId - privateKey - privateKeyPassword - clientCertificate - serverCertificate - notificationSecret - sharedSecret Prosa: description: Prosa gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Prosa credentials object. properties: entityId: type: string description: ID of the Prosa entity. accessToken: type: string format: password description: Prosa access token. writeOnly: true required: - entityId - accessToken threeDSecureServer: $ref: '#/components/schemas/ThreeDSecureIO3dsServer' Rapyd: description: Rapyd gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Rapyd credentials object. properties: accessKey: type: string description: Rapyd access key. secretKey: type: string format: password description: Rapyd secret key. writeOnly: true required: - accessKey - secretKey settings: type: object description: Rapyd settings object. properties: ipnUrl: type: string description: |- Instant Payment Notification (IPN) URL configured on Rapyd. This value is used to calculate the signature. RPN: description: RPN gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: mid: type: string description: RPN merchant identifier. key: type: string description: RPN key. format: password writeOnly: true required: - mid - key Realex: description: Realex gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantId: type: string description: ID of the Realex merchant. secretKey: type: string description: Realex secret key. format: password writeOnly: true rebatePassword: type: string description: Realex rebate password. format: password writeOnly: true account: type: string description: Realex account. required: - merchantId - secretKey - rebatePassword - account Realtime: description: Realtime gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: clientId: type: string description: ID of the Realtime client. secretWord: type: string description: Realtime secret word. format: password writeOnly: true required: - clientId - secretWord Redsys: description: Redsys gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantCode: type: string description: Redsys merchant code. format: password writeOnly: true secretCode: type: string description: Redsys secret code. format: password writeOnly: true required: - merchantCode - secretCode settings: type: object description: Redsys settings object. properties: terminal: type: string description: Redsys terminal. Rotessa: description: Rotessa gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials - settings properties: credentials: type: object description: Rotessa credentials object. properties: apiKey: type: string description: Rotessa API key. format: password writeOnly: true required: - apiKey settings: type: object description: Rotessa settings object. properties: delay: type: integer description: Automatic capture delay. required: - delay Safecharge: description: Safecharge gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Safecharge credentials object. properties: merchantId: type: string description: ID of the Safecharge merchant. siteId: type: string description: ID of the Safecharge site. secretKey: type: string description: Safecharge secret key. format: password writeOnly: true required: - merchantId - secretKey - siteId threeDSecureServer: $ref: '#/components/schemas/ThreeDSecureIO3dsServer' SaltarPay: description: SaltarPay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: SaltarPay credentials object. properties: apiKey: type: string description: SaltarPay API key. format: password writeOnly: true secretKey: type: string description: SaltarPay secret key. format: password writeOnly: true required: - apiKey - secretKey SMSVoucher: description: SMSVoucher gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: AppId: type: string description: ID of the SMSVoucher application. required: - AppId Sofort: description: Sofort gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Sofort credentials object. properties: configKey: type: string description: Sofort configuration key. format: password writeOnly: true nuaPayApiKey: type: string description: NuaPay API key for reconciliation. format: password writeOnly: true nuaPayAccountId: type: string description: NuaPay account ID for reconciliation. required: - configKey Sagepay: description: Sagepay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: M_ID: type: string description: ID of the Sagepay merchant. M_KEY: type: string description: Sagepay merchant key. format: password writeOnly: true required: - M_ID - M_KEY SeamlessChex: description: SeamlessChex gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: SeamlessChex credentials object. properties: publicKey: type: string description: SeamlessChex publishable key. secretKey: type: string description: SeamlessChex secret key. format: password writeOnly: true required: - publicKey - secretKey SecureTrading: description: SecureTrading gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: SecureTrading credentials object. properties: websiteId: type: string description: ID of the SecureTrading website. maxLength: 50 example: web_0YV7DE4Z26DQSA1AC92FBJ7SEG username: type: string description: SecureTrading web service username. password: type: string description: SecureTrading web service password. format: password writeOnly: true notificationPassword: type: string description: |- SecureTrading notification password. This password is used to authenticate webhook requests. format: password writeOnly: true required: - websiteId - username - password settings: type: object description: SecureTrading settings object. properties: enableRecurring: type: boolean description: Enables recurring payments. default: false threeDSecureServer: $ref: '#/components/schemas/ThreeDSecureIO3dsServer' SecurionPay: description: SecurionPay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: SecurionPay credentials object. properties: secretApiKey: type: string format: password description: SecurionPay secret API key. writeOnly: true required: - secretApiKey threeDSecureServer: $ref: '#/components/schemas/ThreeDSecureIO3dsServer' Skrill: description: Skrill gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Skrill credentials object. properties: accountEmail: type: string description: Email address of your Skrill merchant account. secretWord: type: string description: Secret word used for MD5 signature verifications. format: password writeOnly: true mqiPassword: type: string description: Password used during MQI or API requests. format: password writeOnly: true currencyAccountIds: type: string description: Comma-separated list of currency account IDs. required: - accountEmail - secretWord settings: type: object properties: merchantFields: type: string description: |- Comma-separated list of name-value merchant field pairs. Example: `key1:value1,key2:value2`. useSPX: type: boolean description: Specifies whether to use SPX code for PIX payment method. default: false SmartInvoice: description: SmartInvoice gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: SmartInvoice credentials object. properties: merchantId: type: string description: SmartInvoice merchant account UID. applicationId: type: string description: SmartInvoice application UID. format: password writeOnly: true required: - merchantId - applicationId SparkPay: description: SparkPay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: SparkPay credentials object. properties: shopId: type: string description: ID of the SparkPay shop. secretKey: type: string description: SparkPay secret key. format: password writeOnly: true required: - shopId - secretKey StaticGateway: description: StaticGateway gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' STPMexicoBanks: type: integer enum: - 37006 - 37009 - 37019 - 37135 - 37166 - 37168 - 40002 - 40012 - 40014 - 40021 - 40030 - 40036 - 40037 - 40042 - 40044 - 40058 - 40059 - 40060 - 40062 - 40072 - 40102 - 40103 - 40106 - 40108 - 40110 - 40112 - 40113 - 40124 - 40126 - 40127 - 40128 - 40129 - 40130 - 40131 - 40132 - 40133 - 40136 - 40137 - 40138 - 40140 - 40141 - 40143 - 40145 - 40147 - 40148 - 40150 - 40151 - 40152 - 40154 - 40155 - 40156 - 40158 - 90600 - 90601 - 90602 - 90605 - 90606 - 90608 - 90613 - 90614 - 90616 - 90617 - 90620 - 90621 - 90623 - 90626 - 90627 - 90628 - 90630 - 90631 - 90634 - 90636 - 90637 - 90638 - 90640 - 90642 - 90646 - 90648 - 90649 - 90652 - 90653 - 90655 - 90656 - 90659 - 90670 - 90671 - 90674 - 90677 - 90678 - 90679 - 90680 - 90681 - 90683 - 90684 - 90685 - 90686 - 90687 - 90689 - 90901 - 90902 STPMexico: description: STP Mexico gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: STP Mexico credentials object. properties: companyName: type: string description: STP Mexico account company name. beneficiaryName: type: string description: Name of the bank account holder that is receiving payments. bankId: description: >- ID of the bank receiving payments. A list of bank IDs can be found in STP Mexico integration documentation. $ref: '#/components/schemas/STPMexicoBanks' bankAccountNumber: type: string description: Bank account number of the payments recipient. privateKey: type: string description: STP Mexico private key. format: password x-multiline: true writeOnly: true keyPassphrase: type: string description: Passphrase for the private key. format: password writeOnly: true required: - companyName - beneficiaryName - bankId - bankAccountNumber - privateKey - keyPassphrase Stripe: description: Stripe gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - settings properties: credentials: type: object description: >- Stripe Connect credentials object. The credentials object may be provided to control the Stripe Connect account to which the gateway account is connected. properties: stripeClientId: type: string description: ID of the Stripe account client. stripeSecret: type: string description: Stripe Connect account secret key account. format: password writeOnly: true settings: type: object description: Stripe settings object. required: - redirectUrl properties: redirectUrl: type: string description: >- URL where the user is redirected after authorizing the account on Stripe. format: url disablePaymentIntents: type: boolean description: >- Specifies whether to use the Charges API instead of the PaymentIntents API. default: false enforceOffSession: type: boolean description: >- Specifies if the `off_session` parameter is set to `true` in Stripe requests. default: false copyCredentialsFrom: type: string description: >- ID of an existing Stripe gateway account from which credentials are copied in order to skip the onboarding process. setupFutureUsage: type: string description: >- Indicates intent to make future payments with this payment method. - `on_session`: Reuse the payment method when the customer is present. - `off_session`: Reuse the payment method when the customer may or may not be present. enum: - off_session - on_session threeDSecureServer: type: object required: - name description: Stripe Integrated. properties: name: type: string description: Name of the Stripe 3DS server. enum: - Stripe3dsServer enforceThreeDSecure: type: boolean description: >- Specifies if Stripe must perform 3D Secure. This option overrides any [dynamic 3D Secure Radar rules](https://stripe.com/docs/radar/rules#request-3ds). Telr: description: Telr gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Telr credentials object. properties: storeId: type: string description: Hosted payment page V2 store identifier. hostedPageAuthenticationKey: type: string description: Hosted payment page V2 authentication key. format: password writeOnly: true merchantId: type: string description: Service API merchant identifier. serviceApiKey: type: string description: Service API key. format: password writeOnly: true remoteApiKey: type: string description: Remote API key. format: password writeOnly: true required: - storeId - hostedPageAuthenticationKey - merchantId - serviceApiKey settings: type: object description: Telr settings object. properties: transactionDescription: type: string description: |- Default transaction description. Leave this field blank to use website URL. TestProcessor3dsServer: type: object description: TestProcessor Integrated. required: - name properties: name: type: string description: Name of the TestProcessor plug-in. enum: - TestSandbox3dsServer TestProcessor3dsServers: description: TestProcessor3dsServers 3DS servers. discriminator: propertyName: name mapping: TestSandbox3dsServer: '#/components/schemas/TestProcessor3dsServer' ThreeDSecureIO3dsServer: '#/components/schemas/ThreeDSecureIO3dsServer' anyOf: - $ref: '#/components/schemas/TestProcessor3dsServer' - $ref: '#/components/schemas/ThreeDSecureIO3dsServer' TestProcessor: description: TestProcessor gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object properties: threeDSecureServer: $ref: '#/components/schemas/TestProcessor3dsServers' ToditoCash: description: ToditoCash gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: ToditoCash credentials object. properties: apiKey: type: string description: ToditoCash API key. format: password writeOnly: true required: - apiKey Truevo: description: Truevo gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Truevo credentials object. properties: mid: type: string description: Truevo merchant identifier. tid: type: string description: Truevo terminal identifier. token: type: string description: Truevo authentication token. format: password writeOnly: true merchantName: type: string description: Merchant name for SFTP reconciliation. sftpUsername: type: string description: SFTP reconciliation username. sftpPrivateKey: type: string format: password description: SFTP reconciliation private key. x-multiline: true writeOnly: true sftpKeyPassphrase: type: string format: password description: Passphrase of the SFTP reconciliation private key. writeOnly: true required: - mid - tid - token threeDSecureServer: $ref: '#/components/schemas/ThreeDSecureIO3dsServer' TrustsPay: description: TrustsPay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: TrustsPay credentials object. required: - merchantNo - gatewayNo - signkey properties: merchantNo: type: string description: TrustsPay merchant number. gatewayNo: type: string description: TrustsPay gateway number. signkey: type: string format: password description: TrustsPay sign key. writeOnly: true Trustly: description: Trustly gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Trustly credentials object. properties: username: type: string description: Trustly username. password: type: string description: Trustly password. format: password writeOnly: true publicKey: type: string description: Trustly public key. x-multiline: true privateKey: type: string description: Trustly private key. format: password x-multiline: true writeOnly: true required: - usernmae - password - publicKey - privateKey TWINT: description: TWINT gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials - settings properties: credentials: type: object description: TWINT credentials object. properties: storeUuid: type: string description: TWINT store UUID. cashRegisterId: type: string description: ID of the cash register. publicKey: type: string description: TWINT public key. x-multiline: true privateKey: type: string description: TWINT private key. format: password x-multiline: true writeOnly: true keyPassphrase: type: string description: TWINT key passphrase. format: password writeOnly: true required: - storeUuid - cashRegisterId - publicKey - privateKey - keyPassphrase settings: type: object description: TWINT settings object. properties: cashRegisterType: type: string description: TWINT cash register type. required: - cashRegisterType Unlimit: description: Unlimit gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Unlimit credentials object. properties: terminalId: type: string description: ID of the Unlimit terminal. password: type: string description: Password of the Unlimit terminal merchant. format: password writeOnly: true ipnSecret: type: string description: IPN secrect of the Unlimit merchant. format: password writeOnly: true required: - terminalId - password - ipnSecret UPayCard: description: UPayCard gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: receiver_account: type: string description: UPayCard merchant receiver account. key: type: string description: UPayCard merchant key. format: password writeOnly: true secret: type: string description: UPayCard merchant secret. format: password writeOnly: true required: - receiver_account - key - secret settings: type: object description: UpayCard settings object. required: - tolerancePercentage properties: tolerancePercentage: $ref: '#/components/schemas/AmountAdjustmentTolerance' USAePay: description: USAePay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: sourceKey: type: string description: USAePay source key. format: password writeOnly: true pin: type: string description: USAePay pin. format: password writeOnly: true required: - sourceKey - pin VantivLitle: description: VantivLitle gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: username: type: string description: VantivLitle username. password: type: string description: VantivLitle password. format: password writeOnly: true merchantId: type: string description: ID of the VantivLitle merchant. required: - username - password - merchantId VCreditos: description: VCreditos gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: VCreditos credentials object. properties: publicKey: type: string description: VCreditos API public key. secretKey: type: string description: VCreditos API secret key. format: password writeOnly: true required: - publicKey - secretKey settings: type: object description: VCreditos settings object. properties: merchantWebsiteLoginLabel: type: string description: Label caption for a merchant website login input. merchantWebsiteLoginDescription: type: string description: Description block for a merchant website login input. VegaWallet: description: VegaWallet gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: VegaWallet credentials object. properties: merchantId: type: string description: ID of the VegaWallet merchant. password: type: string description: VegaWallet merchant password. format: password writeOnly: true required: - merchantId - password Wallet88: description: Wallet88 gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Wallet88 credentials object. properties: sid: type: string description: ID of the Wallet88 API site. rcode: type: string description: Wallet88 API rcode. format: password writeOnly: true required: - sid - rcode settings: type: object description: Wallet88 settings object. properties: paymentCardMethod: description: Method to send for payment card. type: string enum: - creditcard - mastercard default: creditcard Walpay: description: Walpay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantName: type: string description: Walpay merchant name. merchantPin: type: string description: Walpay merchant pin. format: password writeOnly: true required: - merchantName - merchantPin WesternUnion: description: WesternUnion gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: WesternUnion credentials object. properties: clientId: type: string description: ID of the WesternUnion client. certificateCommonName: type: string description: WesternUnion certificate Common Name (CN). certificateSerialNumber: type: string description: WesternUnion certificate Serial Number (SN). required: - clientId - certificateCommonName - certificateSerialNumber Wirecard: description: Wirecard gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantUsername: type: string description: Wirecard merchant username. merchantPassword: type: string description: Wirecard merchant password. format: password writeOnly: true businessSignature: type: string description: Wirecard merchant business case signature. format: password writeOnly: true delay: type: integer description: Automatic capture delay. sftpUsername: type: string description: Wirecard SFTP username. sftpPrivateKey: type: string description: Wirecard SFTP private key. format: password x-multiline: true writeOnly: true required: - merchantUsername - merchantPassword - businessSignature - delay WorldlineAtosFrankfurt: description: WorldlineAtosFrankfurt gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials - settings properties: threeDSecureServer: $ref: '#/components/schemas/ThreeDSecureIO3dsServer' credentials: type: object description: WorldlineAtosFrankfurt credentials. properties: cardAcceptorIdCode: type: string description: Card acceptor ID Code. acquiringInstitutionIdentificationCode: type: string description: Identification code of the acquiring institution. required: - cardAcceptorIdCode - acquiringInstitutionIdentificationCode settings: type: object description: WorldlineAtosFrankfurt settings. properties: cardAcceptorName: type: string description: Name of the card acceptor. cardAcceptorLocation: type: string description: Location of the card acceptor. cardAcceptorCountryCode: type: string description: Country code of the card acceptor. terminalIds: type: string description: Comma-separated list of terminal IDs. required: - cardAcceptorName - cardAcceptorLocation - cardAcceptorCountryCode Worldpay: description: Worldpay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantCode: type: string description: Worldpay merchant code. format: password writeOnly: true merchantPassword: type: string description: Worldpay merchant password. format: password writeOnly: true payoutMerchantCode: type: string description: Optional alternate merchant code for payouts. format: password writeOnly: true payoutMerchantPassword: type: string description: Optional alternate merchant password for payouts. format: password writeOnly: true alternativePaymentsUsername: type: string description: Optional API username for an alternative payments platform. alternativePaymentsPassword: type: string description: Optional API password for an alternative payments platform. format: password writeOnly: true sftpUsername: type: string description: SFTP username. sftpPrivateKey: type: string description: SFTP private key. format: password x-multiline: true writeOnly: true sftpKeyPassphrase: type: string format: password description: Passphrase of the SFTP private key. writeOnly: true required: - merchantCode - merchantPassword threeDSecureServer: $ref: '#/components/schemas/ThreeDSecureIO3dsServer' settings: type: object properties: delay: type: integer description: Automatic capture delay in hours. minimum: 0 default: 0 enforceStoredCredentials: type: string description: >- Specifies whether to enforce stored credentials. `mit-enabled` means that stored credentials are sent only on merchant initiated transactions. This is the expected usage. `always-enabled` means that stored credentials are also used, if available, for customer facing transactions. enum: - disabled - mit-enabled - always-enabled default: disabled merchantInitiatedReason: type: string description: Value to send with merchant-initiated transactions. enum: - UNSCHEDULED - RECURRING - INSTALMENT - REAUTH - DELAYED - INCREMENTAL - RESUBMISSION - NOSHOW default: UNSCHEDULED Zotapay: description: Zotapay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: endpointId: type: string description: ID of the Zotapay endpoint. merchantId: type: string description: ID of the Zotapay merchant. merchantSecretKey: type: string description: Zotapay merchant secret key. format: password writeOnly: true required: - endpointId - merchantId - merchantSecretKey eMerchantPay: description: eMerchantPay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: clientId: type: string description: ID of the eMerchantPay client. apiKey: type: string description: eMerchantPay API key. format: password writeOnly: true username: type: string description: eMerchantPay username for the Genesis platform. token: type: string description: eMerchantPay token for the Genesis platform. password: type: string description: eMerchantPay password for the Genesis platform. format: password writeOnly: true settings: type: object description: eMerchantPay settings object. properties: useGenesisPlatform: type: boolean description: >- Specifies whether to use the Genesis platform on eMerchantPay. default: false threeDSecureServer: $ref: '#/components/schemas/ThreeDSecureIO3dsServer' ecoPayz: description: ecoPayz gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: ecoPayz credentials object. properties: paymentPageId: type: string description: ID of the ecoPayz payment page. merchantAccountNumber: type: string description: ecoPayz merchant account number. merchantPassword: type: string description: ecoPayz merchant password. format: password writeOnly: true required: - paymentPageId - merchantAccountNumber - merchantPassword settings: type: object description: ecoPayz settings object. properties: validCurrency: type: string description: Three letter currency code in ISO 4217 format. enum: - CAD - EUR - GBP - USD required: - validCurrency iCanPay: description: iCanPay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: authenticateId: type: string description: Authenticate ID of the iCanPay account. authenticatePw: type: string description: iCanPay authenticate password. format: password writeOnly: true publicKey: type: string description: iCanPay API public key. secretKey: type: string description: iCanPay API secret key. format: password writeOnly: true required: - authenticateId - authenticatePw - publicKey - secretKey settings: type: object properties: use3DSEndpoint: type: boolean description: Specifies whether to use a 3DS endpoint. iCheque: description: iCheque gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: clientId: type: string description: ID of the iCheque client. secretWord: type: string description: iCheque secret word. format: password writeOnly: true apiUserId: type: string description: >- Username for the Alliance API that is used for transaction reporting. apiSecurityToken: type: string description: >- Hash of the password for the Alliance API that is used for transaction reporting. format: password writeOnly: true required: - clientId - secretWord iDebit: description: iDebit gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: iDebit credentials object. properties: merchantId: type: string description: iDebit merchant account number. password: type: string description: iDebit merchant account password. format: password writeOnly: true required: - merchantId - password settings: type: object properties: merchantSubId: type: integer description: ID of the merchant or organization. vegaaH: description: vegaaH gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: terminalId: type: string description: ID of the vegaaH terminal. password: type: string description: vegaaH password. format: password writeOnly: true required: - terminalId - password XPay: description: XPay gateway configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: XPay credentials object. properties: merchantId: type: string description: ID of the XPay merchant. encryptionKey: type: string format: password writeOnly: true description: XPay encryption key. required: - merchantId - encryptionKey Zimpler: description: Zimpler configuration. allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Zimpler credentials object. properties: merchantId: type: string description: ID of the Zimpler merchant. apiKey: type: string description: Zimpler API key. format: password writeOnly: true required: - merchantId - apiKey DigitalWallets: type: object description: Configure which digital wallets are enabled. title: Digital Wallets properties: applePay: type: object description: |- Apple Pay digital wallet configuration. If not using Apple Pay, do not use this field. required: - isEnabled properties: isEnabled: type: boolean description: Specifies if Apple Pay is enabled. default: false displayName: description: >- String of 64, or fewer, UTF-8 characters containing the canonical name for your store, which is suitable for display. Do not localize this name. type: - string - 'null' example: Test merchant country: $ref: '#/components/schemas/Country' googlePay: type: object description: |- Google Pay™ digital wallet configuration. If not using Google Pay™, do not use this field. required: - isEnabled properties: isEnabled: type: boolean description: Specifies if Google Pay™ is enabled. default: false merchantName: description: Merchant name in Google Pay™. type: - string - 'null' example: Test merchant merchantOrigin: description: >- Merchant origin in Google Pay™. This uses the fully qualified domain name. type: - string - 'null' example: www.example.com country: $ref: '#/components/schemas/Country' ValidationErrorExtensions: type: object properties: invalidFields: description: Invalid field details. type: array items: type: object properties: field: type: string description: |- Name of the field. Dot notation is used for nested object field names. message: description: Message field. type: string example: - field: field1 message: field1 is invalid - field: subObject.field2 message: field2 is invalid - field: subObject.field2 message: another error in the field2 InvalidError: description: Invalid data sent. allOf: - $ref: '#/components/schemas/Error' - $ref: '#/components/schemas/ValidationErrorExtensions' GatewayAccountDowntimeSchedule: type: object required: - startTime - endTime properties: id: type: string description: ID of the gateway account downtime schedule. readOnly: true maxLength: 50 example: gw_dwn_0YVCXRK9TKCC6AMAPFB9M4RXDP status: description: Status of the gateway account downtime schedule. readOnly: true type: string enum: - pending - ongoing - finished reason: description: Reason for the gateway account downtime schedule. readOnly: true typ